24小时热门版块排行榜    

查看: 461  |  回复: 1

hu1984k

木虫 (正式写手)

[交流] 【讨论】请教MATLAB中varargin的使用 已有1人参与

我在网上搜了搜varargin的使用,看到一个这样的:

function [] = pb_call(varargin)
h = varargin{1};
回答:
varargin是一个元胞数组,调用函数时,输入参数可以不同
其大小可以随着输入参数而变大或变小
如你可以这样调用 pb_call(a)
      也可以这样 pb_call(a,b), pb_call(a,b,c)
此时,varargin{1}=a; varargin{2}=b ; varargin{3}=c;

现在我的问题是:在如下的一段代码中varargin的几次出现分别表示什么,请高手指教!如果调用par函数时使用这样的形式:[y,x] = par(img),其中img是一个多行一列的数据矩阵,比如img=[15 5 27 16 1]'时,varargin,varargin{1},varargin{2}分别表示什么?请高手指导!感谢!

function [y,x] = par(data,varargin);

if length(varargin) > 0
     if length(varargin{1}) > 1
       x = varargin{1};
     else
       step = (max(data) - min(data))/varargin{1};
        x = min(data):step:max(data);
     end
else
     step = (max(data) - min(data))/100;
     x = min(data):step:max(data);
end

if length(varargin) > 1
     sigma = varargin{2};
else
%     step = (max(data) - min(data))/100;   
     sigma = step;
end
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hu1984k

木虫 (正式写手)

另外,还请告知此时data参数表示的是什么呢?是img矩阵吗?
2楼2010-09-27 10:13:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 hu1984k 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见