Re: [問題] 請問怎麼把矩陣數值小於3的列全改為0?

看板MATLAB作者 (夏夜晚風)時間7年前 (2017/04/03 15:22), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
大大您好, 我輸入a(all(a<3,2),:)=0; 理論上第一列和第四列會整個都變成0, (因為2和0比3小,所以2那列全部變成0,以及0那列全部變成0) 預計要變成 a=[0 42 63 0 75... 0 65 45 0 22... 0 43 5 0 56... 0 17 7 0 9 ... . . . ] 但是了後發現陣列中所有值都沒變耶.請教教我吧~~~ ※ 引述《williamppt (夏夜晚風)》之銘言: : a=[11 42 63 24 75... : 32 65 45 0 22... : 2 43 5 56 56... : 8 17 7 5 9 ... : . : . ] : 請問要怎麼要用矩陣的做法把有數值小於3的那整整個列都改成0呢? : 因為矩陣很大,我用雙層for迴圈的方法起來超級久 : 目前想到的做法 a(a<3)<0 可以只改到元素,但改不到含有元素的那整列 : 請大家指點我吧 感謝~~~~~ -- ▂▂ ▂▂▂▄▅▅▆█ _█◣ (●) ╰┴╯ ◣ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.120.53.222 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1491204135.A.42C.html mp19990920: a( : , any(a<3) )=0 04/03 15:44

04/03 18:14, , 1F
感謝 ^_^
04/03 18:14, 1F

04/07 11:59, , 2F
a( a < 3 ) = 0
04/07 11:59, 2F

04/07 12:00, , 3F
sorry沒看清楚要求
04/07 12:00, 3F
文章代碼(AID): #1OuVWdGi (MATLAB)