Re: [問題] 矩陣的迴圈小疑問已回收
※ 引述《ForeverFun (ForeverFun)》之銘言:
: 先謝謝板上有好多熱心的人
: 每次在這邊發問都會得到指導~!!
: 我這次的問題是有三個矩陣A,B,C
: A=[A11 A12;
: A21 A22;
: A31 A32]
: B=[B11 B12 B13;
: B21 B22 B23]
: C=[C11;
: C21;
: C31]
: 我想要的答案是兩兩去做以下的運算inv(A*B)*C
: 所以得到的結果會是inv([A11 A12; * [B11 B12; *[C11;
: A21 A22] B21 B22]) C21]
: inv([A21 A22; * [B12 B13; * C21;
: A31 A32] B22 B23]) C31]
: inv([A31 A32; * [B13 B11; * C31;
: A11 A12] B23 B21]) C11]
: 這三組解~~
: 請問這種要回到頭的迴圈要怎麼寫呢~~??
: 萬分感謝~~!!!!
在你的推文中,你有提到是要做C n取2,所以我建議你,不要是12 23 31的順序,
最好是12 13 23的順序,不然當你要做4取2時,就會沒有規則了。
4取2的時候,應該是12 13 14 23 24 34的順序。這樣可以推廣到n。
我嘗試寫的程式碼如下:(不過我是借別人的電腦寫的,還沒有實際用MATLAB跑過,
或許等你試過之後,再看看有沒有問題)
n=2 我覺得n跟m似乎是可以輸入任意數
m=2
d=zeros(2,m)
e=zeros(m,2)
f=zeros(n,1)
for i=1:n-1
for j=i+1:n
for k=1:m
d(1,k) = a(i,k)
d(2,k) = a(j,k)
e(k,1) = b(k,i)
e(k,2) = b(k,j)
end
f(1,1) = c(i,1)
f(2,1) = c(j,1)
inv(d*e)*f
end
end
--
年 輕 是 什 麼 ?
是 風 ,是 雲 彩 ,
也 是 天 空 ,
是 一 種 心 情,
閃 爍 在 生 命 的
每 一 個 轉 折 裡。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.75.61
推
09/25 10:05, , 1F
09/25 10:05, 1F
→
09/25 10:06, , 2F
09/25 10:06, 2F
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章