主要内容

Seleccionar la sintaxis de comando o la sintaxis defunción

MATLAB®cuenta con dos formas de llamar a las funciones,llamadassintaxis defunciónySintaxis de comando。en estapáginase Analizan las Diferencias entre estos格式de sintaxis ycómoevitar los errores frecuentes asocuentes asociados a la sintaxis de comando。

para obtenerinformación预赛阿科米尔·德·科莫(AcercadeCómo)Llamada de Funciones。para obtenerinformaciónrelacionada con ladefiniciónde funciones,咨询Crear Funciones en Archivos

sintaxis de comando y sintaxis defunción

En Matlab,Estas construcciones son等价:

加载durer.mat%命令语法加载('durer.mat')%函数语法

en ocasiones,esta equivalencia se conoce comoDualidad comando-función

Todas las funciones Advenen esta sintaxis defunciónEstándar:

[output1,...,outputm] = functionName(input1,...,inputn)

en la sintaxis defunción,拉斯Entradas pueden ser datos,变量e incluso expresiones de matlab。Si la Entrada Es Un Dato,Como El ValorNumérico2O El Arreglo de Cadenas[“ a”“ b”“ c”],matlab lo pasa a lafuncióntal cual。Si La Entrada Es Una变量,MatlabPasaráel valor que esta tenga asignado。Si la Entrada es unaexpresión,科莫2+2o罪(2*pi),matlab laevaluaráen primer lugar ypasaráel uspectado a lafunción。si las funciones contienen salidas,puede asignarlas a变量como se muestra en el ejemplo de sintaxis。

La sintaxis de comando esMásSencilla,peroMásliminada。Para Utilizarla,separe las Entradas con con eSpacios en lugar de comas y no las encierre entreparéntesis。

functionName Input1 ... inputn

Con la sintaxis de comando,Matlab Pasa Todas las Entradas como como vectores de Caracteres(Es Decir,Como si Estuvieran engerradas entre comillas simples)y no asigna las salidas a变量。Para pasar un Tipo de Datos Distinto A Un vector de Caracteres,Utilice la sintaxis defunción。Para pasar Un Valor Que contenga Un Espacio,Tiene dos opciones。Una es Utilizar la sintaxis defunción。la otra es engerrar el valor entre comillas simples。de lo contario,matlab trata el espacio como si si se si sa sa sa sa sai s e el valor en varias entradas。

si se si asigna un valor a una varible,debe utilizar la sintaxis defunciónparapara para para para para el valor a lafunción。la sintaxis de comando siempre pasa valores de entrada como vectores de caracteres y no puede pasar valores de variables。Por Ejemplo,Cree Una可变y llame a lafuncióndispcon la sintaxis defunciónparapara para el valor de la varible:

a = 123;disp(a)

埃斯特·科迪戈(EsteCódigo)

123

没有puede lifitizar la sintaxis de comando para para para para el valor de一个,Ya Que Esta Llamada

disp一个

epivale a

disp('一个'

Y Devuelve

一个

evitar错误sintaxis frecuentes

suponga que su su al de trabajo contiene estas变量:

文件名='accounts.txt';a = int8(1:8);b = a;

La Siguiente tabla Ilustra aplicaciones incorrectas frecuentes de la sintaxis de comando。

埃斯特·科曼多... 等a ... sintaxis rectora para para pasar el valor
打开文件名 打开('filename') 打开(文件名)
不平等的A b que equal('a','b') 是等于(a,b)
strCMP类(a)int8 strcmp('class(a)','int8') strcmp(类(a)类,'int8')
CD tempdir CD('tempdir') CD(tempdir)
ISNumeric 500 ISNumeric('500') 数字(500)
第3.499轮 圆形('3.499'),que equivale a圆([51 46 52 57 57]) 回合(3.499)
Disp Hello World disp(“你好”,“世界”)

disp('Hello World')

o

disp“你好世界”

disp“字符串” disp('“ string”') disp(“字符串”)

pasar nombres de变量

Algunas Funciones Esperan vectores de Caracteres para los nombres de变量,科莫节省,,,,加载,,,,清除y谁是。Por Ejemplo,

whos -file durer.mat x

soticainformaciónsobre la变量XEn El Archivo de Ejemplodurer.mat。埃斯特·科曼多·埃皮瓦尔

whos(' -  file','durer.mat','x')

CómoReconceMATLABuna sintaxis de comando

Considere la posibleinstrucciónambigua

ls ./d

estapodríaser una llamada a lafunciónLS骗局'./d'Como su参数。tambiénPodría代表Unadivisiónelemento por elemento en el arregloLS,变量d科莫·埃尔·德斯托(Como El Divisor)。

si emite estainstrucciónenlaLíneade comandos,matlab puede acceder al al al trabajo实际上LSyd儿子funciones o变量。罪恶禁运,Algunos组件,Como El AnalizadordeCódigoy El Editor/depurador,Funcionan sin coodencias a la ruta ni al al al al al al trabajo。Cuando se fitulizan Tales组件,Matlab UtilizaReglasSintácticaspara desiinar si una exunaexpresiónesunauna llamada a unafuncióncon la sintaxis de comando。

Cuando Matlab将军重新调整UNIDENIFICADOR(quepodríaDesignarunafuncióno una carible),Analiza los caracteres para al Sidentificador para para para decoo deExpresión,como se in in in in in in in in in in ainda a contina acontinuación:

  • 联合国igual(=)Indaasignación。Por Ejemplo:

    ls = d
  • 联合国对AbiertoDespuésdeUn Sidentificador inda una llamada a unafunción。Por Ejemplo:

    LS('./ d')
  • UnEspaciodespuésDeUn Sidentificador,Pero noDespuésde unopible Operador,Incapo una llamada a unafuncióncon la sintaxis de comando。Por Ejemplo:

    ls ./d
  • Los Espacios A Ambos Lados de Unosible Operador O la Ausencia de Ellos en anm anm anm anm anm ados del Operador属于梅纳(nuna)operaciónen las las变量。Por Ejemplo,Estas construcciones son等价:

    ls ./ d ls./d

por lo tanto,matlab trata la posibleinstrucciónambiguals ./dcomo una llamada a lafunciónLScon la sintaxis de comando。

Se Recomienda evitar ladefinicióndenombres de variables que intren en conconcono con las funciones frecuentes,para evitar cualquierambigüedad。

咨询también

|