看板 MATLAB 關於我們 聯絡資訊
新手遇到一些瓶頸,請求高手指點 orz 我想要在 Matlab 中寫入這樣的矩陣: A為 mn x mn 矩陣: A1 0 ... 0 0 A2 ... 0 A = . . . . . . . . . . . . 0 0 ... Am 其中 Ai (i=1:1:m) 為 n x n 矩陣 而 Ai內的元素: 如果 i=j=1 時, 則 Ai(i,j)=1/a+1/R(i,1)+1/b ps. R(i,1)為另一矩陣中的元素 如果 i=j=2:1:n 時, 則 Ai(i,j)=1/R(i,1)+2/b 如果 i=j+1 或 i=j-1 時, 則 Ai(i,j)=-1/b 如果 i=j=n 時, Ai(n,n)=1/c+1/R(i,1)+1/b 其它元素則為 0 問題: 1. 如何產生 m 個 Ai 矩陣, 並將這些矩陣編號為 A1, A2,... Am 2. 如何以迴圈方式將 Ai 內的元素寫入? 例如,寫 Ai 中其中一個元素時,我目前只會這種寫法: for i=1:1:m for j=1:1:n if abs(i-j)==1 A1(i,j)=-1./b; A2(i,j)=-1./b; A3(i,j)=-1./b; A4(i,j)=-1./b; . . end end end 其中 A1, A2,... Am 要如何跑回圈呢? 感謝各位! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 108.74.163.35 ※ 編輯: liuzijan 來自: 108.74.163.35 (04/05 15:40)
math99:看你描述 A1 ~ Am 是一樣的? 04/05 21:28
math99:2. 可以爬文 eval 這個算是常見的問題了 04/05 21:39
math99:3. 要造出 A 可以用 blkdiag 指令 04/05 21:43
sunev:這不是diagonal matrix嗎?請用diag 04/05 22:55
u941716:產生你想要的index-value pair 用sparse(...) 04/05 23:08