作者qaz3869153 (mj)
看板MATLAB
标题[讨论] 矩阵 if判断
时间Thu Aug 20 22:58:27 2015
各位matlab神人 新手小弟刚接触不久 有些问题想发文
A1=[1 4;2 3]
A2=[4 2;2 2]
M=max(A1,A2)
如果M=A1则进行(A1+A2)+2
否则进行(A1-A2)+1
然後将执行的结果放置於同一个矩阵中
以下为小弟的程式码
A1=[1 4;2 3]
A2=[4 2;2 2]
M=max(A1,A2)
for i=1:2
j=1:2
if M==A1
a=(A1+A2)+2
else
a= (A1-A2)+1
end
end
上述不知那里出了错误
请各位神人帮我解答下 谢谢
(若有不清楚 在麻烦告知)
--
Sent from my Android
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 39.8.98.177
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1440082709.A.993.html
1F:→ celestialgod: if all(M==A1)08/20 23:14
※ 编辑: qaz3869153 (39.8.98.177), 08/20/2015 23:24:49
2F:→ ja20331: 回圈白写的意思,i,j都没用到,还有M是一个矩阵,在回圈 08/20 23:46
3F:→ ja20331: 内我猜你要把矩阵元素拿出来比对,那M要改成M(i,j),其他 08/20 23:46
4F:→ ja20331: 变数亦同,可以的话回圈前多写a=zeros(2); 08/20 23:46
5F:→ celestialgod: 如果是个别比较不如直接 08/20 23:49
6F:→ celestialgod: (M==A1) .* (A1+A2+2) + (M~=A1) .* (A1-A2+1) 08/20 23:49
7F:→ qaz3869153: 欧对 我是要将矩阵里的各元素抓出来比较判断的 感谢 08/20 23:52
8F:→ qaz3869153: 两位 08/20 23:52
9F:→ qaz3869153: 也就是说我要将(1,1)元素 抓出来判断 如果最大值是A1 08/20 23:57
10F:→ qaz3869153: 的元素 就执行对应的算法 就这样算4次 所以我才写了fo 08/20 23:57
11F:→ qaz3869153: r回圈 然後将所算出来的值分别放入一个a矩阵 08/20 23:57
12F:→ ja20331: 推荐楼上写法,也可改成(A1>=A2) .* (A1+A2+2) + (A1<A2) 08/21 00:03
13F:→ ja20331: .* (A1-A2+1) 08/21 00:03
14F:→ qaz3869153: 感谢两位大大 问题已经解决了哈哈 08/21 00:09