假设我们有以下矩阵
1 3 6
5 4 7
5 3 9
我要做的是每行,我为其分配列的maximum
值。所以,例如,我期待以下输出:
x(1) = 6
x(2) = 7
x(3) = 9
我尝试通过编写下面的代码来实现这一点,但没有得到预期的putput:
x=[1 3 6;5 4 7; 5 3 9]
[rows, columns] = size(x);
for i=1:columns
for j=1:rows
[maximum, position] = max(x(j,:));
disp('MAXIMUM')
x(j)=maximum
end
end
我该怎么做才能获得预期的输出?
答案 0 :(得分:3)
您可以将内置max
函数与维度说明符max(x,[],dim)
一起使用。
在您的情况下,假设您的矩阵被称为A
:
>> x=max(A,[],2)
ans =
6
7
9
答案 1 :(得分:2)
如果我正确理解了您的问题,您可以使用max
功能。它自然地在柱子上运行,因此,一些转换是必要的。
x=[1 3 6;5 4 7; 5 3 9]
y = max(x')'
y =
6
7
9
您甚至可以动态地重新定位值
x = max(x')'.