MATLAB:使用一个列表来索引另一个列表

时间:2017-05-11 02:07:19

标签: matlab

for beta = 0.2:0.1:1
    betas = [0.2   0.3 0.4 0.5 0.6 0.7 0.8 0.9 1];
    cs    = [80000 400 40  12  5   3   2   1   1]; 
    index = find(betas==beta,1);
    c = cs(index); end

为什么这个查找索引不起作用?理想情况下,c应该采用cs中的每个值

1 个答案:

答案 0 :(得分:0)

您的betabetas是双打的。 你永远不应该将双打与==进行比较。

E.g。试试这个:

(1.001-0.001)==1

它将返回false。

以下是您的代码的正确版本:

for beta = 0.2:0.1:1
    betas = [0.2   0.3 0.4 0.5 0.6 0.7 0.8 0.9 1];
    cs    = [80000 400 40  12  5   3   2   1   1]; 
    index = find(abs(betas-beta)<eps,1);
    c = cs(index)
end