您好我正在編寫一個程序,其中用戶輸入矩陣的維度,接收具有指定維數的隨機矩陣,並通過使用for循環返回每行和每列的最大值。創建for循環找到列向量中的最大值
這裏是我的功能,我用來尋找每行的最大
function outmax = mymaxq (q)
outmax = q (1);
for i = 2:length (q)
if q(i) > outmax
outmax = q(i);
end
end
end
該函數的代碼中查找每一列的最大代碼:
function outmax2 = mymaxcol(z)
outmax2 = z(1);
for i = 2: length (y)
if z(i) > outmax2
outmax2 = z(i);
end
end
end
的代碼爲整體腳本:
rows = input('Enter the number of rows: ');
columns = input ('Enter the number of columns: ');
mat = round(rand(rows , columns)*(30-1)+1)
[r,c] =size (mat);
for x = 1:r
q = mat(x,:);
outmax = mymaxq(q);
fprintf ('The max of row %d is %d.\n',x,outmax)
end
for y = 1:c
z = mat(:,y);
outmax2 = mymaxcol(z);
fprintf ('The max of column %d is %d.\n',y,outmax2)
end
然而,列函數不能正常工作。我的猜測是因爲列向量的長度是1.我該怎麼做才能使它正常工作。建議使用長度以外的東西?
請搜索關於「matlab如何查找最大值」的問題!! ... –
你知道你可以用'max'來做嗎? –
而且你的功能都一樣嗎? –