上QQ阅读APP看书,第一时间看更新
4.5 M文件变量检测
不同M文件之间的数据的传递是以变量为载体来实现的,数据的保存和中转则都是以空间为载体来实现的。M文件的变量的检测与传递是检验运算关系和运算正确性的有力保障。
4.5.1 输入输出变量检测
MATLAB提供了输入输出变量相关的检测命令,如表4.5所示:
表4.5 输入输出变量相关的检测命令
注:nargin和nargout与程序流控制命令配合,对于不同数目的输入输出变量,函数可实现不同功能。
4.5.2 可变数量输入输出
MATLAB中的许多命令或函数的输入变量可以是任意数量,varargin和varargout函数分别可以实现函数的输入输出变量为可变的数目。
例4-24,可变数量输入示例。
建立M函数文件ex4_23fun.m,内容如下:
function ex4_23fun(varargin) fprintf('Number of arguments: %d\n', nargin); celldisp(varargin)
在命令行窗口输入:
ex4_23fun (magic(3), 'This function is good.', eps) disp('NEXT:') ex4_23fun(1.1)
输出结果如下:
Number of arguments: 3 varargin{1} = 8 1 6 3 5 7 4 9 2 varargin{2} =This function is good. varargin{3} = 2.2204e-16 NEXT: Number of arguments: 1 varargin{1} = 1.1000
例4-25,可变数量输出示例。
建立M函数文件ex4_24fun.m,内容如下:
function [s, varargout] =ex4_24fun (x) nout = max(nargout,1) -1; s = size(x); for k=1:nout varargout{k} = s(k); end
在命令行窗口输入:
[s, rows, cols] = ex4_24fun (rand(3,5,2))
输出结果如下:
s = 3 5 2 rows = 3 cols = 5