循环使用在Matlab中没有顺序的索引



我不知道如何表达我的问题,所以让我示范给你看。假设我有一个函数func,它接受一组参数p1,p2,p3,p4,并返回一个数字number。我只想改变p1,看看number是如何随着p1的变化而变化的。我所做的是:

iterations = 100;
result = zeros(1,iterations);
for p1 = 1:iterations
result(1,p1) = func(p1,1,2,3)
end 
plot(1:100,result);

问题:比如说,我只想尝试p1_vector = [0.3, 0.6, 4, 7, 10, 11, 11.2, 13, ...etc]等等。如何循环使用索引i,只从向量p1_vector获取值?

我希望我已经把这个问题讲清楚了,如果还有什么不明白的地方,请告诉我如何改进。在我发布这篇文章之前,我做了一些搜索,但我只得到"for each";结果,但在不同的语言。

正如Cris所评论的那样,您可以遍历索引本身并使用该索引访问向量值:

> p1_vector = [0.3, 0.6, 4, 7, 10, 11, 11.2, 13];
> for index = 1:length(p1_vector)
value = p1_vector(index)
end
value = 0.3000
value = 0.6000
value = 4
value = 7
value = 10
value = 11
value = 11.200
value = 13

相关内容

  • 没有找到相关文章

最新更新