我刚学习 a=input('输入一个4*5矩阵');max=a(1,1);for i=1:4for j=1:5if a(i,j)>maxmax=a(i,j);maxi=i;maxj=j;endendendmaxmaximaxj请高手解释下
3 回答
杨__羊羊
TA贡献1943条经验 获得超7个赞
阿波罗的战车
TA贡献1862条经验 获得超6个赞
输入该行后面的分号是错误的。它不应该是中文的。英语角应该是一半。或者简单地删除分号。
运行结果是:a =
1 2 3 4 5
2 3 4 5 6
1 4 3 3 2
1 3 5 7 3
max =7
maxi =4
maxj =4
繁星点点滴滴
TA贡献1803条经验 获得超3个赞
MATLAB求最大值直接调用求最值的函数 max 函数就好了。例如矩阵为 A ,那么求最值即为 max_A = max( max(A) ) , [m,n] = find( max_A == A )
程序中出错的原因可能是因为第一行结束的分号是中文分号,换成非英文分号就好。
MATLAB 中的 max 函数是求最大值的函数。
1、如果 A 是向量,则 max(A) 返回 A 的最大值。
2、如果 A 为矩阵,则 max(A) 是包含每一列的最大值的行向量。
3、如果 A 是多维数组,则 max(A) 沿大小不等于 1 的第一个数组维度计算,并将这些元素视为向量。此维度的大小将变为 1,而所有其他维度的大小保持不变。如果 A 是第一个维度长度为零的空数组,则 max(A) 返回与 A 大小相同的空数组。
这也是求矩阵的最大值需要使用两个 max 函数的原因。使用 find 函数可以找到矩阵中等于最大值的位置。
添加回答
举报
0/150
提交
取消