Fundamentos de programación de MATLAB
1. Variable
El nombre de la variable debe comenzar con una letra, seguida de cualquier letra y guión bajo, pero no puede haber espacios, caracteres chinos ni puntuación. MATLAB divide las variables en tres categorías: variables locales, variables globales y variables permanentes, y viene con algunas variables especiales. Las palabras clave son variables de control de procesos que se utilizan con frecuencia en el diseño de programas. Hay 20. Estas palabras clave no se pueden utilizar como nombres de variables.
'break' 'case' 'catch' 'classdef' 'continue' 'else' 'elseif' 'end' 'for' 'function' 'global' 'if' 'otherwise' 'parfor' 'persistent' 'return' 'spmd' 'switch' 'try' 'while'
2. Flujo de control de MATLAB
2.1 Estructura de la secuencia
Un programa de trilogía común de entrada, cálculo y salida es una estructura secuencial, que generalmente compone una estructura compleja con otras estructuras.
2.2 si estructura
Si solo se ejecutan dos conjuntos de comandos, de la siguiente manera:
if expression %判决条件
command1 %条件为真,执行命令1,结束此结构
else
command2 %条件为假,执行命令2,结束此结构
end
Si hay n grupos de comandos ejecutados, de la siguiente manera:
if expression1 %判决条件
command1 %条件1为真,执行命令1,结束此结构
elseif expression2
command2 %条件1为假,条件2为真,执行命令2,结束此结构
else
commandn %前面所有条件均为假,执行命令n,结束此结构
end
2.3 estructura del interruptor
switch value %value为需要进行判决的标量或字符串
case test1
command1 %如果value等于test1,执行command1,结束此结构
case test2
command2 %如果value等于test2,执行command2,结束此结构
case testk
commandk %如果value等于testk,执行commandk,结束此结构
otherwise
command %如果value不等于任何test,执行command,结束此结构
end
2.4 estructura de prueba
try
command1 %命令1首先被执行,若正确,执行完成结束此结构
catch
command2 %命令1出错,执行命令2,结束此结构
end
Si hay un error en el comando 1, se puede llamar a lasterr para consultar la causa del error.
2.5 para bucle
for i=array %指定循环变量
command %循环变量每次赋值都执行一次命令
end
2.6 bucle while
while expression %判决条件
command %若判决条件为真,继续执行,直到为假,结束循环
end
El bucle while no necesita saber el número de bucles, solo necesita cumplir ciertas condiciones para finalizar el bucle, mientras que el bucle if debe especificar el número de bucles, y ambos tienen sus propias fortalezas.
3. Otras instrucciones de uso común para controlar el flujo del programa
Conjunto de instrucciones comunes |
---|
retorno, control de transferencia forzosa |
Entrada y teclado, el control se transfiere temporalmente al teclado |
sí, confía en mí, básicamente no se utilizará |
pausar y pausar (n), uno es pausar y esperar a que el usuario presione cualquier tecla para continuar, el otro es pausar por n segundos para continuar |
continuar, pasar el control a la siguiente iteración del bucle, ignorando las declaraciones restantes en el cuerpo del bucle |
romper, cumplir con la condición, forzar a salir del bucle |
error y advertencia, errores y advertencias, generalmente no se utilizan |
4. Scripts y funciones
4.1 Guión
Los scripts se utilizan principalmente cuando hay muchas líneas de comando, y las variables involucradas en el script se reflejarán en el área de trabajo.
4.2 Funciones
La mayor diferencia entre una función y un script es que se puede llamar a la función (@nombre de la función), por lo que la primera línea del archivo de función es la línea de declaración de la función.
function [输出变量]=函数名(输入变量)
4.3 Funciones y subfunciones anónimas
Una función anónima no tiene nombre de función ni es un archivo de función, solo contiene una expresión y parámetros de entrada y salida. Una llamada de función anónima no requiere un identificador de función, al igual que la llamada de función incorporada de MATLAB.
f=@(input1,inputn)expression
Como su nombre lo indica, las subfunciones son relativas a la función principal. En el mismo archivo M, la primera función es la función principal y las otras funciones son subfunciones. Todas las funciones requieren líneas de declaración de función.
4.4 funciones eval y feval
eval (s) usa el anotador de MATLAB para encontrar s, feval ('nombre de función', variable), estos dos son básicamente inútiles.
4.5 Funciones de funciones
En pocas palabras, es una función nombrada como una variable independiente.Este tipo de función se usa a menudo en la optimización, similar a la forma del nombre de la función (@nombre de función, parámetro de entrada).
5. Detección y transmisión de variables en archivos M
5.1 Instrucciones de detección de variables
Conjunto de instrucciones | Características |
---|---|
nargin | Obtenga las variables de entrada reales en el cuerpo de la función |
nargout | Obtenga la variable de salida real en el cuerpo de la función |
nargin ('divertido') | Obtiene el número de variables de entrada nominales de la función especificada por fun |
nargout ('divertido') | Obtiene el número de variables de salida nominales de la función especificada por fun |
varargin | Lista de variables de entrada de número de variable |
varargout | Lista de variables de salida de número de variable |
5.2 Paso y asignación de variables de espacio cruzado
No
6. Depuración del programa MATLAB
En términos generales, solo hay tres casos de errores de programa: los errores de sintaxis y los errores de lógica son los más frecuentes y hay menos excepciones. También existen métodos directos e indirectos de depuración Personalmente, me gusta compilar un programa para depurar un programa, a fin de minimizar la tasa de error final.