0

我想制作一个 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.
4

1 回答 1

3

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

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

重命名代码中的变量max并将其从工作区中删除clear max

于 2013-02-28T07:16:25.137 回答