作者liuzijan (未來加油)
看板MATLAB
標題[問題] 產生N個編號矩陣 & 迴圈寫入矩陣元素
時間Fri Apr 5 15:36:55 2013
新手遇到一些瓶頸,請求高手指點 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)
1F:→ math99:看你描述 A1 ~ Am 是一樣的? 04/05 21:28
2F:→ math99:2. 可以爬文 eval 這個算是常見的問題了 04/05 21:39
3F:→ math99:3. 要造出 A 可以用 blkdiag 指令 04/05 21:43
4F:推 sunev:這不是diagonal matrix嗎?請用diag 04/05 22:55
5F:→ u941716:產生你想要的index-value pair 用sparse(...) 04/05 23:08