在MATLAB中找到数组中的最大索引的错误

时间:2013-02-28 07:08:17

标签: arrays matlab

我想制作一个15 * 15的数组并用这些代码填充它们,我想找到它的最大行数。 我在MATLAB中编写了这些代码来制作一个数组:

a = zeros (15) - inf;

for i=1:15 
    k2=4;
    l2=1;

    k=floor((i-1)/3);
    l=mod((i-1),3);
    f=false;
    if (k==k2 && abs(l2-l)==1)
        f=true;
    end
    if(l==l2 && k2-k==1)
        f=true;
    end
    if(k2-k==1 && abs(l2-l)==1)
        f=true;
    end

    if (f)
        a(i,14)=100;
    end
end
max=200;
for i=1:15
    if(find(2,i) < max)
        max=i;
    end
end

max=0

当我编写这些代码以找到第二行数组中的最大索引时,显示错误:

  
    

B = A(2,:)

  
b =

     1  -Inf     1     1     1     1  -Inf  -Inf  -Inf  -Inf  -Inf  -Inf  -Inf  -Inf  -Inf

>> [~,index]=max(b)
??? Indexing cannot yield multiple results.

1 个答案:

答案 0 :(得分:3)

你有变量max并尝试使用函数max。

使用exist var_namewhich var_name命令检查现有名称是一种很好的做法。

在代码中重命名变量max,然后使用clear max将其从工作区中删除。