[問題] for迴圈中的矩陣問題已回收

看板MATLAB作者 (twtw1289)時間14年前 (2010/03/01 23:51), 編輯推噓1(1010)
留言11則, 4人參與, 最新討論串1/1
最近寫了一個for迴圈 用來求兩個三元二次方程式的解 最後是用三維矩陣u表示解 程式如下 但是執行後 卻沒有反應(沒有當掉 也沒有出現錯誤) 想請大家幫我看一下 哪邊有錯誤 P.S if那邊的意思是,當條件成立,則有一三維矩陣u(i,j,k) syms u; %設邊界值 Lx=3; Ly=2.5; Lz=2; h=0.1; nx=Lx/h; ny=Ly/h; nz=Lz/h; x=-Lx:h:Lx; y=-Ly:h:Ly; z=-Lz:h:Lz; %開始算 for i=1:2*nx+1 for j=1:2*ny+1 for k=1:2*nz+1 if (((x(i))^2+(y(j))^2+(z(k))^2-1)*((x(i))^2+(y(j))^2+(z(k))^2-4))<=0 u(i,j,k)=1; else u(i,j,k)=0; end end end end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.25.118.141

03/02 00:53, , 1F
我跑起來沒問題 但是第一句宣告為symbol 好像有點多餘
03/02 00:53, 1F

03/02 00:55, , 2F
另外你的程式可以向量化 跑起來會快點
03/02 00:55, 2F

03/02 01:25, , 3F
請問你跑完 右邊有出現變數的資料嗎?
03/02 01:25, 3F

03/02 02:59, , 4F
03/02 02:59, 4F

03/02 08:31, , 5F
@@請問你是直接複製我的程式碼嗎..
03/02 08:31, 5F

03/02 08:32, , 6F
因為我讓他跑 都沒反應..
03/02 08:32, 6F

03/02 09:26, , 7F
直接copy 可以跑+1
03/02 09:26, 7F

03/02 11:09, , 8F
迴圈一共要跑十二萬次...你要不要先調小範圍?
03/02 11:09, 8F

03/02 11:10, , 9F
這樣記憶體會很痛苦...
03/02 11:10, 9F

03/02 11:21, , 10F
是直接copy
03/02 11:21, 10F

03/02 14:37, , 11F
原來是這樣 謝嚕
03/02 14:37, 11F
文章代碼(AID): #1BY-AJ42 (MATLAB)