Matlab与线性代数
文章目錄
- 多項式求解
- 1.2 多項式四則運算
- 1.3 多項式的分解與合并
- 行列式求解
- 3、矩陣基本運算
- ? 3.2 矩陣的取塊和變換
- ? 3.3 矩陣的基本運算
- 4、求解線性方程組
多項式求解
? 1.1 多項式表達式與根
有關多項式函數表達式與根的Matlab命令:
poly2sym§ 返回由多項式系數轉為多項式函數p(x)表達式
polyval(p,a) 返回多項式函數p(x)當x=a時的值
roots§ 返回多項式函數p(x)的所有復數根
poly? 返回由根組成的向量r創建的多項式函數p(x)的系
px=x^3-2*x+3
1.2 多項式四則運算
有關多項式函數四則運算的Matlab命令:
conv(p1,p2) 返回多項式函數p1(x)和p2(x)的乘積
[q r]=deconv(p1,p2) 返回多項式函數p1(x)除了p2(x)的商式q(x)和余式r(x)
結果為
p= -1 0 2 0 -4 4
p(x)=-x5+2x3-4x+4
例1-3: 求多項式𝑝 𝑥 = ?𝑥8 + 3𝑥6 ? 𝑥5 ? 4𝑥4 + 4𝑥3 + 4𝑥2 ? 8𝑥 + 3分別被多項式p1 𝑥 = 𝑥3 ? 2𝑥 + 1, 𝑝2 𝑥 = 𝑥3 ? 2𝑥 + 3相clear
p=[-1 0 3 -1 -4 4 4 -8 3]; p1=[1 0 -2 1]; p2=[1 0 -2 3]; [q1,r1]=deconv(p,p1) [q2,r2]=deconv(p,p2)結果為
q1= -1 0 1 0 -2 3
r1= 0 0 0 0 0 0 0 0 0
q2= 1 0 1 2 -2 5
r2= 0 0 0 0 0 0 -6 8 -12除后的結果
1.3 多項式的分解與合并
有關多項式的分解與合并的Matlab命令:
syms x collect(f) 對符號多項式f進行合并同類項 expand(f) 對符號多項式f進行展開 horner(f) 對符號多項式f進行嵌套分解 factor(f) 對符號多項式f進行因式分解例1-4 合并同類項𝑓1 = 𝑥 ? 1 𝑥 ? 2 𝑥 ? 3 , 𝑓2 = 1 + 𝑥 𝑡 + 𝑡𝑥。
syms x t f1=(x-1)*(x-2)*(x-3);f2=(1+x)*t+t*x; p1=collect(f1) p2=collect(f2)結果為
p1=-6+x ^ 3 - 6 * x ^ 2 +11 * x
p2=2 * t * x +t
行列式求解
求解行列式的Matlab命令:
det(A) 計算A的行列式值,A為數值或符號方陣
結果為
-75
3、矩陣基本運算
? 3.1 矩陣的生成
矩陣除了直接在命令窗口鍵入,也可以從外部數據文件(*.mat)和自編M文件
導入,還可以利用Matlab系統內部提供的一些函數生成,常見的函數如下:
zeros(m,n)函數 生成m行n列全部元素為0的矩陣
ones(m,n)函數 生成m行n列全部元素為1的矩陣
rand(m,n)函數 生成m行n列全部在0到1的均勻分布隨機元素的矩陣
randn(m,n)函數 生成m行n列全部為標準正態分布隨機元素的矩陣
magic(n)函數 生成n階幻方方陣(魔陣),即每行每列和對角線上元素之和
相等
diag(M)函數 從矩陣M對角線元素生成一列數組或將一列數組M生成一個
對角陣
triu(M)函數 取矩陣M的對應元素生成上三角矩陣
tril(M)函數 取矩陣M的對應元素生成下三角矩陣
length(M)函數 返回向量M的長度
size(M)函數 返回矩陣M的行數和列數
eye(n)函數 生成n階單位陣
hilb(n)函數 生成n階希爾伯特病態矩陣
pascal(n)函數 生成n階的帕斯卡矩陣
? 3.2 矩陣的取塊和變換
在矩陣運算中,有時需要提取其中的一部分元素參與運算,比如提取某個元素,
某行,某列甚至某一個子陣,還有將原來的矩陣改變形式,常見的命令如下:
A(i ,:) 提取矩陣A的第i行 A(:, j) 提取矩陣A的第j列 A(:) 將矩陣A的各列元素依次排成一列向量
A(i;j) 將矩陣A(:)中的第i個到第j個的元素依次排成一行向量
A(i:j,:) 提取矩陣A的第i行到第j行的所有元素所成的矩陣
A(:,i:j) 提取矩陣A的第i列到第j列的所有元素所成的矩陣
A(i:j,k:l) 提取矩陣A的第i行到第j行以及第k列到第l列的所有元素所成的子陣
B=reshape(A,m,n) 將矩陣A的元素依次組成一個m行n列的矩陣B
B=rot90(A) 將矩陣A逆時針旋轉90度得到新矩陣B
B=fliplr(A) 將矩陣A 中的元素左右對稱得到新矩陣B
3.2 矩陣的取塊和變換
B=flipud(A) 將矩陣A 中的元素上下對稱得到新矩陣B
flipdim(A,1)=flipud(A) flipdim(A,2)=fliplr(A)
A(2,:)=[] 將矩陣A的第二行刪除
A(A>5)=1 將矩陣中的所有大于6的元素賦值為
? 3.3 矩陣的基本運算
在矩陣運算中常見的命令如下:
𝐴 ± 𝐵 矩陣A加減矩陣B
A+k 矩陣A的所有元素加上數k
AB 矩陣A乘以矩陣B
KA,A*k 矩陣A的所有元素乘以數k
A.*B 將矩陣A的各個元素對應和矩陣B中的元素相乘
A. /B 將矩陣A的各個元素對應和矩陣B中的元素相除
A/B 右除
A\B 左除
A.’ 得到矩陣A的轉置
A’ 得到矩陣A共軛轉置,在實數域內就是轉置
inv(A)或A^(-1) 得到矩陣A的逆矩陣,A應該為可逆陣
A^k 矩陣A的k次冪
sqrtm(A)或A^(1/2) 矩陣A的開方,其平方為A
sqrt(A) 矩陣A的對應元素開方
4、求解線性方程組
rank(A) 得到矩陣A的秩
rref(A) 得到矩陣A的行最簡形
null(A) 得到系數矩陣為A的齊次方程組基礎解系
Null(A, ‘r’) 得到系數矩陣為A的齊次方程組有理數形式的基礎解系
trace(A) 得到矩陣A的跡
poly(A) 得到矩陣A的特征多項式系數
[a,b]=eig(A) 得到矩陣A的特征列向量矩陣a和對應特征值組成的對角陣b
B=orth(A) 正交化空間,即矩陣B的列向量正交且生成的線性空間與矩陣A的列向量
生成的線性空間等價
r = roots(p)返回由p表示的多項式的根作為列向量。
總結
以上是生活随笔為你收集整理的Matlab与线性代数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 洋芋是什么
- 下一篇: 雾里看花终隔一层是什么意思