您好我正在编写一个程序,其中用户输入矩阵的维度,接收具有指定维度的随机矩阵,并通过使用 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。我该怎么做才能使函数正常工作。使用长度以外的东西的建议?