在matlab中进行循环

时间:2011-03-29 02:33:31

标签: matlab

如何在循环中获取向量的每个索引,这是向函数传递向量的值

vector =[ 20 , 30 , 60 ,45 ,26 ,17 ,28,9, 10,3 ]


n = 10
for i=1:n
    somefunt( vector(i) );
end

所以这是翻译的

 somefunt( vector(20) );
 somefunt( vector(30) );
 somefunt( vector(60) );
 ...

怎么做?

2 个答案:

答案 0 :(得分:4)

如果您想将vector中的所有值传递到for loop中的函数somefunt,则可以使用vector作为循环值,如下所示:< / p>

for i = vector
  somefunt(i);
end

这相当于:

somefunt(20);
somefunt(30);
somefunt(60);
...

答案 1 :(得分:1)

除了@gnovice所写的内容之外,如果你想要vector元素的索引,你可以使用ismember函数:

vector =[ 20 , 30 , 60 ,45 ,26 ,17 ,28,9, 10,3 ]
for i = vector
    [TempFlag, MemberInd] = ismember( i, vector );

    fprintf('vector(%d) is %d\n', MemberInd, i);
    % somefunt( i );
end