在MATLAB®,这些陈述相当于:
杜勒负载。mat %命令语法加载('durer.mat') %函数语法
这种等价有时被称为command-function二元性.
所有功能都支持此标准万博1manbetx函数的语法:
(output1,……,outputM] = functionName(input1, ..., inputN)
如果您不需要函数的任何输出,并且所有输入都是字符向量(即,用单引号括起来的文本),则可以使用这个更简单的方法命令语法:
functionName input1……inputN
在命令语法中,您使用空格而不是逗号分隔输入,并且不要将输入参数括在括号中。命令语法总是将输入作为字符向量传递。要使用字符串作为输入,请使用函数语法。如果字符向量包含空格,请使用函数语法。
当函数输入是变量时,必须使用函数语法将值传递给函数。命令语法总是将输入作为字符向量传递,而不能传递变量值。例如,创建一个变量并调用disp
函数与函数语法传递变量的值:
一个= 123;disp (A)
此代码返回预期结果,
123
不能使用命令语法来传递值一个
,因为这个电话
显示A
相当于
disp('A')
并返回
一个
假设您的工作区包含以下变量:
文件名=“accounts.txt”;一个= int8 (1:8);B =一个;
下表说明了命令语法的常见误用。
这个命令…… | 相当于…… | 传递值的语法正确 |
---|---|---|
打开文件名 |
open (filename) |
打开(文件名) |
等位A B |
isequal(“A”、“B”) |
isequal (A, B) |
strcmp(A)级int8 |
比较字符串(“类(A)”,“int8”) |
比较字符串(类(A),“int8”) |
镉根 |
cd(“matlabroot”) |
cd (matlabroot) |
isnumeric 500 |
isnumeric(“500”) |
isnumeric (500) |
3.499圆 |
圆的(“3.499”) ,相当于圆形([51 46 52 57 57]) |
轮(3.499) |
disp hello world |
disp(‘你好’、‘世界’) |
disp(“hello world”) |
disp“字符串” |
disp(“字符串”) |
disp(“字符串”) |
有些函数期望变量名是字符向量,例如保存
,负载
,清楚的
,及谁
.例如,
- file杜勒谁。垫X
关于变量的请求信息X
在示例文件中durer.mat
.该命令等价于
谁(' - file ', ' durer.mat ', ' X ')
考虑一下这个潜在的模棱两可的陈述
ls / d。
这可能是给ls
与文件夹一起运行/ d。
作为其参数。它还可以请求对数组进行元素除法ls
,使用变量d
作为除数。
如果在命令行中发出这样的语句,MATLAB可以访问当前工作区和路径来确定是否ls
和d
是函数或变量。但是,有些组件,如代码分析器和编辑器/调试器,在操作时不引用路径或工作区。在这些情况下,MATLAB使用语法规则来确定一个表达式是否是使用命令语法的函数调用。
一般情况下,当MATLAB识别一个标识符(可以命名一个函数或变量)时,它会分析标识符后面的字符来确定表达式的类型,如下所示:
等号(=
)意味着作业。例如:
ls = d
标识符后的开括号表示函数调用。例如:
ls('./d')
标识符后面的空格(而不是潜在运算符后面的空格)表示使用命令语法的函数调用。例如:
ls / d。
一个可能的运算符两边都有空格,或者运算符两边都没有空格,意味着对变量进行操作。例如,这些语句是等价的:
Ls ./d
因此,这个潜在的模棱两可的陈述ls / d。
是打给ls
使用命令语法命令。
最佳实践是避免定义与通用函数冲突的变量名,以防止任何歧义。