主要內容包括:
矩陣的多種運算方法matlab實現
計算矩陣的秩、特徵值及其對應的特徵向量
利用矩陣操作求解線性方程組
數值微積分
1、矩陣的結構變換
轉置: a' a.'(非共軛轉置)
對稱變換:利用指令flipud()和fliplr()
a=flipud(b) %上下方向翻轉矩陣。如果是列向量,返回相反順序的向量;如果是行向量,則返回原向量
a=fliplr(b) %水平方向翻轉矩陣。如果是行向量,返回相反順序的向量;如果是列向量,則返回列向量
a=flipdim(a,dim) %返回指定維翻轉矩陣。若dim=1,則以行方向翻轉;dim=2,則:以列方向翻轉
triu(a,k) %當k=0/不寫時(k預設時預設為0), 提取主對角線及其上方的元素。當k>0時,提取矩陣a主對角線上方的第k條對角線以上的元素。k<0時,提取矩陣a的主對角線下方第-k條對角線以上的元素。
tril(a,k) %當k=0/不寫時(k預設時預設為0),提取主對角線及其以下的元素。其中k>0時,提取矩陣a主對角線上方的第k條對角線以下的元素。k>0時,提取矩陣a的主對角線下方第-k條對角線以下的元素。
例如:% example 1
>> b=[1,2,3;4,5,6;7,8,9;10,11,12];
>> triu(b)
ans =
1 2 3
0 5 6
0 0 9
0 0 0
% example 2
>> a=[1,2,3;4,5,6;7,8,9];
>> tril(a)
ans =
1 0 0
4 5 0
7 8 9
2、矩陣分析(包括求矩陣的秩、矩陣對應的行列式和矩陣的逆等運算)
rank(a) %求矩陣a的秩
rref(a) %求矩陣a的行階梯矩陣
det(a) %計算方陣a的行列式
inv(a) %求方陣a的逆矩陣
%%求偽逆矩陣的函式為pinv()
3、矩陣的特徵值分析
[v,d]=eig(a) % d是a的特徵值,v是對應於d的特徵向量,若函式只有乙個輸出宗量,則只給出特徵值
4、線性方程組求解
% 方程組 ax=b,其解為:
x=(a的逆)xb 即x=inv(a)*b / x=a\b
5、解方程組
% matlab還提供了函式null()用來求解齊次線性方程組解空間的一組基(即基礎解系),格式如下:
x=null(a,'r')
%
當已知函式的表示式時,理論上可以通過公式進行微積分計算。但在實際應用中,往往需要處理的物件
並不能通過公式來進行計算。因此,有必要介紹這些函式的微分和積分的數值演算法。
1、差分與偏導
% 差分=f(x+h)-f(x),若h>0,則稱為向前差分;若h<0,則稱為向後差分。
% 在matlab中,計算差分的指令是diff(),呼叫格式為:
% dx=diff(a,n,dim) %計算矩陣a的n階差分。dim=1時,按列計算差分;dim=2時,按行計算差分
例如:clear
clcdh=pi/10;
h=0:dh:pi;
x=cos(h).*exp(h); % 對應每個元素做相應的運算。如果不加上點,則是矩陣的運算
dxdt_diff=diff(x)/dh % way one
dxdt_grad=gradient(x,dh) % way two
% 結果為:
dxdt_diff =
1 至 8 列
0.9616 0.6824 -0.0255 -1.3455 -3.4561 -6.4783 -10.3924 -14.9207
9 至 10 列
-19.3763 -22.4915
dxdt_grad =
1 至 8 列
0.9616 0.8220 0.3284 -0.6855 -2.4008 -4.9672 -8.4353 -12.6565
9 至 11 列
-17.1485 -20.9339 -22.4915
2、數值積分
1、一重積分
[l,n]=quad(fun,a,b,tol) %它
[l,n]=quadl(fun,a,b,tol)
%st=trapz(x,y)
%2、二重積分
s=dblquad(fun,xmin,xmax,ymin,ymax.tol)
s=triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)
%
Matlab學習筆記(三) 數值計算
3.1.1 行列式 逆和秩 3.1.2 特徵值和特徵向量的求取 3.2.1 基本分析函式 sum函式 用於求矩陣列矩陣元素或向量的和 b sum a 若a為向量,則返回所有元素的和 如a為矩陣,則返回其他各列所有元素和 b sum a,dim 返回a中第dim維的所有元素和 cumsum函式 用於求...
MATLAB數值計算 0
目錄format 表示格式 help format 可以查詢format幫助 format short 把輸出的格式改為預設設定 format rat 顯示為分數 format long e 顯示長精確度並用科學計數法 format long 並沒有重計算,把顯示數字的有效位5 15位 format...
Matlab 數值計算泰勒公式
1.利用n階泰勒多項式展開來估算函式f x e x在指定點x處的近似值。要求絕對誤差在最大階數maxn以內達到給定精度eps。taylorcal函式 function taylorcal eps 0.00001 maxn 20 x input 儲存輸入的浮點數 向量 f1 zeros 1,lengt...