Re: [問題] 矩陣的迴圈小疑問已回收

看板MATLAB作者 (法國號有氣質)時間16年前 (2009/09/25 01:12), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《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
謝謝m大以及寄信給我的d大等大家的回覆~我下午會再試試
09/25 10:05, 1F

09/25 10:06, , 2F
看能不能跑出我想要的結果~~謝謝~~~
09/25 10:06, 2F
文章代碼(AID): #1AkwXaEb (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1AkwXaEb (MATLAB)