1、varargout与nargout区别
varargout简介:
varargout可以看做“Variable length outputargument list”的缩写。在matlab中定义m函数时通过varargout我们可以得到可变的数个返回值。在matlab命令窗口中输入doc varargout或help varargout可以获得相关帮助信息。函数申明时的输出参数。
用法:function varargout = foo(n)。
nargout简介:
在matlab中定义一个函数时, 在函数体内部, nargout指出了输出参数的个数。特别是在利用了可变参数列表的函数中, 用nargout获取输出参数个数很方便。
用法:
n = nargout
n= nargout(fun)
2、varargin与nargin的区别
varargin简介:
varargin可以看做“Variable length inputargument list”的缩写。在matlab中, varargin提供了一种函数可变参数列表机制。 就是说,使用了“可变参数列表机制”的函数允许调用者调用该函数时根据需要来改变输入参数的个数。
用法:function y = bar(varargin)。
nargin简介:
在matlab中定义一个函数时, 在函数体内部, nargin指出了输入参数的个数。 特便是在利用了可变参数列表的函数中, 用nargin获取输入参数个数很方便。
用法:
n = nargin
n = nargin(fun)
3、实例
function varargout =foo(varargin)
fprintf('How many outputarguments? %d\nAnd they are: \n', nargout);
for k=1:nargout
varargout(k) = varargin(k); %the same as {varargin{k}};
fprintf('%s ',num2str(varargout{k}));
end
disp(' ');
end
在matlab command中运行结果如下:
>>[y1,y2]=lianxi(1,2,3)
How many output arguments? 2
And they are:
1 2
y1 =
1
y2 =
2
>> y=lianxi(1,2,3)
How many output arguments? 1
And they are:
1
y =
1
strcmp
Compare strings (case sensitive)
Syntax
TF = strcmp(string,string)
TF = strcmp(string,cellstr)
TF = strcmp(cellstr,cellstr)
Description
TF = strcmp(string,string) compares two strings for equality. The strings areconsidered to be equal if the size and content of each are the same. Thefunction returns a scalar logical 1 for equality, or scalar logical 0 forinequality.
TF = strcmp(string,cellstr) compares a string with each element of a cell arrayof strings. The function returns a logical array the same size as the cellstrinput in which logical 1 represents equality. The order of the input argumentsis not important.
TF =strcmp(cellstr,cellstr) compares each element of one cell array of strings withthe same element of the other. The function returns a logical array the samesize as either cell array input.
names = fieldnames(s) 返回结构体s的字段名,将其存储在字符串元胞数组中。
names = fieldnames(obj) 返回对象obj的公共字段名到字符串元胞数组names中。MATLAB会重载fieldnames,并定义它们的行为。
names = fieldnames(obj,'-full') 返回一个字符串元胞数组,该数组包含对象obj的各字段的名称(name)、类型(type)、属性(attributes)以及继承关系(inheritance)。该函数仅支持COM对象和Java对象