作者ericrobin ()
看板MATLAB
標題[運算] 迴圈改寫及反矩陣
時間Fri Oct 9 22:28:02 2015
最近剛接觸matlab, 有兩個問題不知如何解決
1. 若要計算A的反矩陣乘以B, inv(A)*B 與 A\B 有何差異?
2. 另一個關於迴圈, 程式某段落長這樣, 其中 Ht 為 (M*t X M) 的矩陣
stemp6 = zeros(M,1);
stemp5 = [];
stemp7 = [];
for i = 1:t
stemp8 = Ht((i-1)*M+1:i*M,:);
stemp7a = [];
ic = 1;
for j = 1:M
stemp7a = [stemp7a ; stemp8(j,1:ic)'];
ic = ic+1;
stemp6(j,1) = sqrt(Ht((i-1)*M+j,j));
end
stemp5 = [stemp5 ; stemp6'];
stemp7 = [stemp7 ; stemp7a'];
end
這種寫法會讓矩陣維度不斷改變,
想請問該如何改寫才有效率呢?
先前沒寫過什麼程式, 還麻煩大家指點Orz
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.228.9.136
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1444400885.A.35C.html
→ celestialgod: 1. A\B比較有效率 10/09 23:10
感謝, 我全部修正後試試看
→ celestialgod: 2. sample6只是特定位置的sqrt感覺可以一次寫完 10/09 23:12
→ celestialgod: 直接可以把sample5寫出來 10/09 23:13
→ celestialgod: sample7a看不懂,j每個都大於1啊,為啥要用if 10/09 23:13
真的有冗到 我修正一下
※ 編輯: ericrobin (61.228.9.136), 10/09/2015 23:21:49