3. 一般矩陣運算函式不可用
4. 矩陣函式求解函式funm()
5. 多多點贊關注,多多交流
這裡的 1-2 節涉及到矩陣函式的一般求法。
第 3 節演示了為什麼不能用普通的運算函式求矩陣函式。
第 4 節介紹了matlab內建的矩陣函式求解函式。
如果趕時間,直接看第 4 節即可!!!
總的來說,矩陣函式的求解方式和一般的標量方式不一樣。
常用的矩陣函式有:
exp(a)
log(a)
sin(a)
cos(a)
sinh(a)
cosh(a)
matlab內建的求解方案也只能求解這6類矩陣函式
這裡以矩陣:
求出a的jordan標準型 j 和伴隨矩陣 p
可以看到其特徵值 λ1 = λ2 = λ3 = 2;
計算需要的標量函式值
我們的函式是 f(z)=sinz。根據jordan矩陣和特徵值,我們知道需要 f(2) 和 f『(2)來構造f(j).
根據公式構造 f(j)
根據 f(j) 和 p 計算矩陣函式
求矩陣的最小多項式
可以看到,最小多項式為 m=x²-4x+4=(x-2)²,有兩個相同的特徵根。
計算需要的標量函式值
我們的函式是 f(z)=sinz,根據定理需要計算 f(2) 和 f』(2),和上面jordan求法相同。
計算構造量c0和c1
令 g(λ) = c0+c1*λ (根據定理,f 與之相同)
則,f(2)=g(2)=c0+2c1 f』(2)=g』(2)=c1;
f(2)和f』(2)上文已經求出,所以由此可以解出c0和c1:
根據定理直接構造 f(a)
很簡單,f(a)=c0i+c1a,如下:
剛開始我以為matlab普通的運算子會直接為我們計算矩陣函式,實際上並不是這樣。
我們的例子是 sin(a),這裡試一下:
顯然,這裡是直接對每個元素求sin,不符合我們的要求。
步入正題。這裡才是matlab內建的函式矩陣的求解函式:funm()
官方文件介紹如下:
意味著可以計算常用函式的矩陣函式,呼叫形式也比較清楚。
我們將其應用到我們的例子中,得到了正確結果:
注:求exp和log也有專有的expm和logm函式,效果和funm一樣。
MATLAB基本矩陣函式
zeros 全零矩陣 ones 全1矩陣 rand 均勻分布隨機陣 genmarkov 生成隨機markov矩陣 linspace 線性等分向量 logspace 對數等分向量 logm 矩陣對數運算 cumprod 矩陣元素累計乘 cumsum 矩陣元素累計和 toeplitz toeplitz矩...
matlab矩陣複製函式 repmat
repmat 即 replicate matrix 複製和平鋪矩陣,是 matlab 裡面的乙個函式。中文名複製和平鋪矩陣 外文名repmat 又 名 replicate matrix 類 型 函式 1語法 2例項 3文獻 b repmat a,m,n b repmat a,m n b repmat...
matlab矩陣複製函式 repmat
repmat 即 replicate matrix 複製和平鋪矩陣,是 matlab 裡面的乙個函式。b repmat a,m,n 將矩陣a複製m n塊,即b由m n塊a平鋪而成 b repmat a,m n 與上面一致 b repmat a,m n p.b由m n p 個a塊平鋪而成 repmat...