Answer

问题及解答

[MATLAB]有一个4*5矩阵, 编程求出其元素最大值及所处的位置.

Posted by haifeng on 2019-06-29 09:40:26 last update 2019-06-29 11:34:22 | Edit | Answers (2)

[Exer 1.(2), P.30] 《数学建模与数学实验》

有一个4*5矩阵, 编程求出其元素最大值及所处的位置.

 


以下是学生写的代码, 请改进

function f=zuidazhi(x)
a=1;b=1;c=x(1,1);
for i=1:4
        for j=1:5
           if x(i,j)>c
            a=i;b=j;c=x(i,j);
           end
       end
end
f=[c,a,b]

% for test
% x=rand(4,5)
% zuidazhi(x)

1

Posted by haifeng on 2019-06-29 11:40:53

对于矩阵 x, 使用 max(max(x)) 就可以得到其最大值.
 

[v,i]=max(x)
[z,j]=max(v)
pos=[i(j),j]

于是 z 即为矩阵 x 的最大值, z 在矩阵 x 中的位置为 (i(j),j)

 

2

Posted by haifeng on 2019-06-29 12:53:52

(法二) 来自于杜何凯同学的作业

c=max(max(x))
[i,j]=find(c==x)