[問題]請教矩陣運算及取值

看板MATLAB作者 (VBA API)時間9年前 (2015/10/14 20:43), 編輯推噓1(216)
留言9則, 4人參與, 最新討論串1/1
請教 1.假設有一mxn的A矩陣,條件是當其中某一列的第4行的值大於等於第1行時, 取出那一列到B矩陣,依次走完m列。 2.承上題,從A矩陣刪除那一列。 3.語法如下時出現 ???Index exceeds matrix dimension,為何 A=1:1:100; B=3.1:0.1:5; C=100:10:800; [x y z] = meshgrid(A, B, C); data=[x(:) y(:) z(:)]; for i=1:length(data); if data(i,1) > data(i,3); data(i,:) = []; end end 煩請幫忙解答,感謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.102.183 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1444826595.A.360.html

10/14 21:43, , 1F
不客氣 XDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
10/14 21:43, 1F

10/14 22:02, , 2F
1. B=A(A(:, 4)>A(:, 1), :)
10/14 22:02, 2F

10/14 22:03, , 3F
A=A(~(A(:, 4)>A(:, 1)), :)
10/14 22:03, 3F

10/14 22:03, , 4F
上面是2
10/14 22:03, 4F

10/14 22:04, , 5F
3. 迴圈應該改成i=1:size(data, 1)
10/14 22:04, 5F

10/14 22:04, , 6F
因為length是nelem
10/14 22:04, 6F

10/14 22:06, , 7F
感謝!!!!!!!!!!!!!!!!
10/14 22:06, 7F

10/14 22:37, , 8F
不客氣
10/14 22:37, 8F

10/14 23:49, , 9F
改迴圈範圍應該是沒有用的,因為該行只會被執行一次
10/14 23:49, 9F
文章代碼(AID): #1M7atZDW (MATLAB)
文章代碼(AID): #1M7atZDW (MATLAB)