Matlab 如何在没有最大值函数的情况下在矩阵的每一行中找到最大值?

Matlab 如何在没有最大值函数的情况下在矩阵的每一行中找到最大值?,matlab,Matlab,在MATLAB中,如果我有: A = [1 2 3 4; 2 3 4 5; 4 8 9 10]; [N M] = size(A); c = zeros(N,1); for n=1:N; for m=1:M; c(n) = ?; end end 我应该替换什么?使用该函数,将在不使用max函数的情况下查找A的每行中的最大值?A=[1 2 3 4;2 3 4 5;4 8 9 10]; A = [1 2 3 4; 2 3 4 5; 4 8 9 10]; [N M] =

在MATLAB中,如果我有:

A = [1 2 3 4; 2 3 4 5; 4 8 9 10];
[N M] = size(A);
c = zeros(N,1);
for n=1:N;
    for m=1:M;
        c(n) = ?;
    end
end
我应该替换什么?使用该函数,将在不使用max函数的情况下查找A的每行中的最大值?

A=[1 2 3 4;2 3 4 5;4 8 9 10];
A = [1 2 3 4; 2 3 4 5; 4 8 9 10];
[N M] = size(A);
c = A(:,1); % modified per Eitan's suggestion
for n=1:N;
    % c(n) = A(n,1); % commented out per Eitan's suggestion.
    for m=1:M;
        c(n) = (c(n)<A(n,m))*A(n,m) + (c(n)>=A(n,m))*c(n);
    end
end
[N M]=尺寸(A); c=A(:,1);%根据Eitan的建议进行修改 对于n=1:n; %c(n)=A(n,1);%根据Eitan的建议进行了评论。 对于m=1:m; c(n)=(c(n)=A(n,m))*c(n); 结束 结束
只有一个逻辑语句为真,因此最小值要么更新,要么保持不变。超级尴尬。。。但多亏了Eitan T,不再需要额外的线路。我们希望使内部循环从2开始,但这段代码不需要这样做(并尽量减少对原始代码所需的更改)


我不知道你为什么不使用
min
函数,但我想你有一个原因…

你知道如何找到一维数组的最大值吗?你为什么要这样做?@Eitan,不,我不知道。从算法上讲,我会感到困惑。@Shai,我相信这是我的事。如果你不想回答,你不必回答。为什么你要插入额外的一行
c(n)=A(n,1)
,而不是简单地将
c
初始化为
A(:,1)
;但是,请同意您的调整是完全有效的,并绕过了额外的一行。相应地更新了答案。