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 の各行の最大値を見つけますか?
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];
[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
論理ステートメントの 1 つだけが true になるため、最小値が更新されるか、同じままになります。非常にぎこちない... しかし、エイタン T のおかげで、もう余分な行は必要ありません。内部ループを 2 から開始したい場合もありますが、このコードが機能するためには必要ありません (元のコードから必要な変更を最小限に抑えます)。
この関数を使用しない理由はわかりmin
ませんが、理由があったと思います...