MATLAB求解矩陣函式

2021-10-25 10:13:23 字數 1911 閱讀 7135

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...