查看: 98|回復: 4|關注: 0
打印 上一主題 下一主題

[已解決] 矩陣中某個元素大于給定的數,則實行下一步操作

[復制鏈接]

新手

7 麥片

財富積分


050


4

主題

8

帖子

0

最佳答案
跳轉到指定樓層
1#
比如矩陣A=ones(5,5);
A(3,2)=18;
只要矩陣中存在一個大于4的數,則就將整個矩陣除以6
想用程序實現這一過程,用while 或if 都不行,求助大家這個過程該怎么實現

MATLAB 基礎討論
版塊優秀回答者

中級

1060 麥片

財富積分


5001500


0

主題

1617

帖子

232

最佳答案
  • 關注者: 40
2#
發表于 2019-10-23 19:15:19 | 只看該作者 |此回復為最佳答案
A=ones(5,5);
A(3,2)=18;
B=A*(any(nnz(A>4)))./6;
這樣就好了,望設置為最佳答案!謝謝

新手

7 麥片

財富積分


050


4

主題

8

帖子

0

最佳答案
3#
 樓主| 發表于 2019-10-23 19:41:47 | 只看該作者
WarnerChang 發表于 2019-10-23 19:15
A=ones(5,5);
A(3,2)=18;
B=A*(any(nnz(A>4)))./6;

您好,感謝回答!還有一個問題就是如果存在一個元素滿足條件,則矩陣除以6;如果矩陣中所有元素都不滿足大于4,結果還保留原矩陣,這個應該怎么實現呢?用您的回答不滿足的情況下矩陣就變成0了

新手

7 麥片

財富積分


050


4

主題

8

帖子

0

最佳答案
4#
 樓主| 發表于 2019-10-23 19:46:08 | 只看該作者
WarnerChang 發表于 2019-10-23 19:15
A=ones(5,5);
A(3,2)=18;
B=A*(any(nnz(A>4)))./6;

我知道了!這樣可以用if判斷any(nnz(A>4))是否等于1,等于1就用A./6, else就等于原矩陣!
謝謝您!

MATLAB 基礎討論
版塊優秀回答者

中級

1060 麥片

財富積分


5001500


0

主題

1617

帖子

232

最佳答案
  • 關注者: 40
5#
發表于 2019-10-23 19:47:13 | 只看該作者
bbbbbhg 發表于 2019-10-23 19:46
我知道了!這樣可以用if判斷any(nnz(A>4))是否等于1,等于1就用A./6, else就等于原矩陣!
謝謝您! ...

望設置為最佳答案!謝謝
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

關閉

站長推薦上一條 /3 下一條

快速回復 返回頂部 返回列表
哪一款德州扑克还能玩