微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用在 Matlab 中无序的索引循环

如何解决使用在 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。