看板 MATLAB 關於我們 聯絡資訊
A=[1 2 3 4 5 6; 1 2 3 4 5 6; 1 2 3 9 9 9; 1 2 3 9 7 7; 1 2 3 9 7 7;] 欲得B B=[11 12 13 14 15 16; 11 12 13 14 15 16; 11 12 13 9 9 9; 11 12 13 9 7 7; 11 12 13 9 7 7;] 如果我希望 迴圈在i第3層 碰到j第4層後(4&5&6)不跑 跳i第4層 迴圈在i第4層 碰到j第4層後(4&5&6)不跑 跳i第5層 迴圈在i第5層 碰到j第4層後(4&5&6)不跑 簡單來說 右下方那塊 保持不動 該怎麼辦? ps 不要用 C=A(4:6,4:6); D=A+10; -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.254.241.218 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1427211487.A.5C4.html
profyang: 用if 03/24 23:45
profyang: if i>=3....for j=1:3類似這樣吧 03/24 23:50
profyang: 然後else 才for j=1:6 03/24 23:51
jatj: 為什麼不要用? 03/25 10:00
Lionel: 我在算一些影像處理的東西 有需要這種特殊功能 03/25 10:34
Lionel: 知道可這樣算 但我只是把大問題拆成小問題來問 03/25 10:44
physbook: 如果9和7有特殊意義的話也是可以用find啦 03/25 10:44
Lionel: 真正的問題不是那麼簡單 03/25 10:44
Lionel: 感覺是不是用continue阿? 03/25 10:55
wallaceboy: 在j那層 寫 if (i > 2 ) && ( j > 2) break end 03/25 15:04
wallaceboy: 把B要改成怎樣 放在if 前面和 j 迴圈中 03/25 15:05
kevio: 你要不要如何判斷 4~6 那邊矩陣的方法說出來? 03/25 18:21
kevio: 這樣這裡也許有神版友可以用矩陣運算幫你算 03/25 18:22
kevio: 用迴圈很累 @@~ matlab還是少用迴圈比較好 03/25 18:23
jatj: 不是不能用迴圈 滿足幾個條件迴圈跟矩陣是一樣快的 03/26 09:25
jatj: mastering matlab有詳細說明 03/26 09:25
profyang: jatj大可否稍微說明一下要那些條件呢?感謝! 03/26 17:23
profyang: 我測試 N=100000; a=ones(1,N)+1i*ones(1,N); 03/26 17:24
profyang: b=ones(1,N)+1i*2*ones(1,N); c=zeros(1,N); 03/26 17:24
profyang: tic; c=a.*b; toc;所花的時間和 03/26 17:25
profyang: d=zeros(1,N);for k=1:N for k=1:N d(k)=a(k)*b(k); end 03/26 17:28
profyang: 這樣時間還是差很多@@ 我兩個要填的矩陣c和d也都有先宣 03/26 17:28
profyang: 告...印象中之前有看過文章說這時間差是平行運算造成的? 03/26 17:29
jatj: 我書放公司 等週一吧 03/29 13:18