作者:
Lionel (祝福與成全)
2015-03-24 23:37:40A=[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;
用ifif i>=3....for j=1:3類似這樣吧然後else 才for j=1:6
作者:
jatj 2015-03-25 10:00:00為什麼不要用?
作者:
Lionel (祝福與成全)
2015-03-25 10:34:00我在算一些影像處理的東西 有需要這種特殊功能知道可這樣算 但我只是把大問題拆成小問題來問
作者:
Lionel (祝福與成全)
2015-03-25 10:44:00真正的問題不是那麼簡單感覺是不是用continue阿?
在j那層 寫 if (i > 2 ) && ( j > 2) break end把B要改成怎樣 放在if 前面和 j 迴圈中
作者:
kevio (成仔)
2015-03-25 18:21:00你要不要如何判斷 4~6 那邊矩陣的方法說出來?這樣這裡也許有神版友可以用矩陣運算幫你算用迴圈很累 @@~ matlab還是少用迴圈比較好
作者:
jatj 2015-03-26 09:25:00不是不能用迴圈 滿足幾個條件迴圈跟矩陣是一樣快的mastering matlab有詳細說明
jatj大可否稍微說明一下要那些條件呢?感謝!我測試 N=100000; a=ones(1,N)+1i*ones(1,N);b=ones(1,N)+1i*2*ones(1,N); c=zeros(1,N);tic; c=a.*b; toc;所花的時間和d=zeros(1,N);for k=1:N for k=1:N d(k)=a(k)*b(k); end這樣時間還是差很多@@ 我兩個要填的矩陣c和d也都有先宣告...印象中之前有看過文章說這時間差是平行運算造成的?
作者:
jatj 2015-03-29 13:18:00我書放公司 等週一吧