为了账号安全,请及时绑定邮箱和手机立即绑定

自己写了一个程序,结果运行失败了,求指点

自己写了一个程序,结果运行失败了,求指点

慕田峪4524236 2023-04-08 14:10:33
我刚学习 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个赞

a=floor(1+9*rand(4,5))

max=a(1,1);

maxi=1;

maxj=1;

for i=1:4

for j=1:5

if a(i,j)>max

max=a(i,j);

maxi=i;

maxj=j;

end

end

end

max

maxi

maxj

注:你的问题错在第一句后多了一个中文的。


查看完整回答
反对 回复 2023-04-11
?
阿波罗的战车

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

查看完整回答
反对 回复 2023-04-11
?
繁星点点滴滴

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 函数可以找到矩阵中等于最大值的位置。

查看完整回答
反对 回复 2023-04-11
  • 3 回答
  • 0 关注
  • 114 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信