MATLAB之科學運算

1.數值解

MATLAB採用的是數值解法求解數學問題。

2. 數值線性代數問題及求解

2.1 特殊矩陣

零矩陣--------zeros(m,n)

元素全是一的矩陣 ---------- ones(m,n)

單位矩陣---------eye(m,n)

隨機元素矩陣 --------- rand(m,n)

2.2 矩陣的特殊參數

1. 行列式--- det(A)

 A = [1 2 3; 4 5 6; 7 8 0]; det(A)

 2. 跡 ---- trace(A)

矩陣A的跡(用  表示)就等於A的特徵值的總和,也即矩陣A的主對角線元素的總和

 

 3. 特徵多項式,特徵方程和特徵值

矩陣A(nxn))的特徵多項式:

其中爲特徵多項式係數。

matlab的函數: c=poly(A)   其中C爲行向量即上面的特徵多項式係數。

 令特徵多項式=0 ----》 特徵方程, 求解特徵方程得到特徵值。

特徵值的兩種求法:

 B=poly(A);roots(B)

eig(A)

 

 

 4. 矩陣的秩 ---- rank(A)

3. 數值微積分問題、

3.1 數值差分運算

vander()函數--- 範德蒙矩陣 

diff()函數---後一行減去前一行

3.2 數值積分

 

% 編寫待求積分的函數------ humps.m
function y = humps(x)
y = 1./((x-0.3).^2 + 0.01)+1./((x-0.9).^2 + 0.04) - 6;
end
% 主函數 -------- main.m
x = -1:0.01:2;
plot(x, humps(x)); %畫出目標函數的圖像
res = quad('humps', 0, 1); % 求解目標函數在(0,1)之間的積分
disp(res);
% 在主函數中定義函數
y = inline('1./((x-0.3).^2 + 0.01)+1./((x-0.9).^2 + 0.04) - 6', 'x');
% quadl()函數求解微分值
res = quadl(y, 0, 1);
disp(res);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章