请问这个matlaB程序是什么意思?谢谢
发布网友
发布时间:2022-04-30 21:49
我来回答
共3个回答
热心网友
时间:2022-06-19 02:15
% 找到输入数组X的最大值value及位置 position
function [value, position] = mymax (x) % 检查输入参数X是否出错msg = nargchk (1,1,nargin); error (msg); % value存储当前最大值,初始化取数组X的第一个值 value = x (1); % temp存储当前最大值位置temp = 1; % 对数组X从2到末尾进行循环
for ii = 2 : length (x) % 判断如有比value 大的值
if value < x (ii) % 更新当前的最大值value及当前最大值位置temp
value = x (ii); temp = ii; end end% 如果输出参数是两个,则temp赋给第二个参数
if nargout > 1 position = temp;end
热心网友
时间:2022-06-19 02:15
函数功能是寻找向量x的最大值value,以及最大值所在位置position
function [value, position] = mymax (x)%函数名为mymax,输入参数x,输出参数value、position
msg = nargchk (1,1,nargin);%检查函数输入参数的个数是否大于等于1,且小于等于1,即检查输入参数个数是否为1,是则msg无返回,否则返回错误信息至msg
error (msg);%将错误信息显示出来
value = x (1);%输出值value赋值为1
temp = 1;%临时初始化为1
for ii = 2 : length (x)%从x的第2个数开始遍历
if value < x (ii)%判断x(ii)是否大于value
value = x (ii);%如果大于则返回较大的值x(ii)至value
temp = ii;%返回value所在位置至变量temp
end%结束判断
end%结束循环
if nargout > 1%判断输出个数是否大于1
position = temp;%如果大于1则输出位置参数temp
end%结束判断
热心网友
时间:2022-06-19 02:16
应该时这个nargchk函数没看懂吧
当一个函数的输入参量的个数超出了规定的范围,MATLAB函数nargchk提供了统一的响应。函数nargchk给定为: function msg = nargchk(low, high, number) % NARGCHK Check number of input arguments. % Return error message if not between low and high. % If it is, return empty matrix. % Copyright (c) 1984-94 by The MathWorks, Inc. msg = [ ] ; if (number < low) msg = ' Not enough input arguments. ' ; elseif (number > high) msg = ' Too many input arguments. ' ; end下列的文件片段表明了在一个M文件函数内的典型用法: error(nargchk(nargin, 2, 5))如上所示,如果nargin的值小于2,函数error象前面描述的那样进行处理,nargchk返回字符串'没有足够的输入参量。'。如果nargin的值大于5,函数error执行处理,nargchk返回字符串'太多输入参量。'。如果nargin是在2和5之间,函数error简单地将控制传递给下一个语句,nargchk返回一个空字符串。也就是说,当它的输入参量为空,error函数什么也不做。
提问者评价
谢谢哦,只能选一个,不好意思了buptxiejianjun你的答案也很好