基本數值計算
1. 變量:分爲數值變量和字符變量
2. 常量:計算機中不變的量。如i、j、pi、NaN(不確定)、Inf(無窮大)
3. 字符變量:將字符串作爲變量。有三種方法表示:
(1) 用單引號' '
(2) 用函數sym(' ')
(3) 用命令symbs
4. 舉例
x=2 % 將2賦給變量x
y=3; % 有;表示在命令窗口不顯示y的值
z=x^2 -y % 數值計算。輸出結果爲1
f='sin(x)' % 用單引號定義一個字符變量
g=sym('cos(y)') % 用函數sym(' ')定義一個字符變量
syms a b % 用命令syms定義字符變量。一般用於多符號變量的定義
u=2*a % 字符計算。輸出結果爲2*a
w=b^2-1 % 字符計算。輸出結果爲b^2-1
fg=f+g % 字符計算。輸出結果爲sin(x)+cos(y)
uw=u*w % 字符計算。輸出結果爲2*a*(b^2-1)
u/w % 字符計算。輸出結果爲2*a/(b^2-1)
矩陣構造及運算
Matlab中數據的結構形式就是一個矩陣。如x=2是一個1×1的矩陣
1. 矩陣的建立
(1) 直接輸入法。
(2) 冒號法(1×N)。
(3) 函數法(特殊矩陣)。
(4) 矩陣的編輯(Array Editor)。
2. 向量
向量是1×N的特殊矩陣,即只有一行或者一列,稱爲N維向量。
3. 向量的點積與叉積
點積:dot(A,B)
叉積:cross(A,B)
4. 舉例:
x=[1 2 3; 4 5 6; 7 8 9] % [...],元素之間用空格,行之間用分號。
y=0: 0.1 :1 % 不用[...],初值、步長、終值間用冒號。
w=eye(3) % 3階單位矩陣。
u=rand(3) % 3階隨機矩陣。元素在0-1之間。
u1=rand(2, 3) % 2*3階隨機矩陣。元素在0-1之間。
q=randn(3) % 3階隨機矩陣。元素在0-1之間。元素符合正態分佈。
q1=randn(2, 3) % 2*3階隨機矩陣。元素在0-1之間。元素符合正態分佈。
s=magic(3) % 魔方陣。各行各列以及對角元素的和相等。
ss=zeros(3) % 3階全零陣。
uu=ones(3) % 3階全1陣。
5. 矩陣的加、減、乘、除
(1) 參與加、減運算的矩陣必須同維
(2) A/B時,A、B列數必須相同。A\B時,A、B行數必須相同。
(3) 矩陣左乘與右乘不同,左除與右除不同。(A*B不等於B*A,A\B不等於A/B)。
(4) 標量或函數與矩陣的運算等於該標量或函數與矩陣的每一個元素的運算。
6. 對矩陣的操作
6.1 對矩陣的元素操作:
(1) 提取矩陣A的第n行第m列的元素,表示爲A(n, m)
(2) 提取矩陣A的第n行的所有元素,表示爲A(n, :)
(3) 提取矩陣A的第m列的所有元素,表示爲A(:, m)
(4) 將矩陣A的第n行第m列的元素重新賦值b,表示爲A(n, m)=b
(5) 將矩陣A的第n行的所有元素重新賦值b,表示爲A(n, :)=b
(6) 將矩陣A的第m列的所有元素重新賦值b,表示爲A(:, m)=b
(7) 將矩陣A的第n行第m列的元素刪除,表示爲A(n, m)=[ ]
(8) 將矩陣A的第n行的所有元素刪除,表示爲A(n, :)=[ ]
(9) 將矩陣A的第m列的所有元素刪除,表示爲A(:, m)=[ ]
6.2 矩陣的部分操作:
fliplr(A) % 矩陣左右翻轉
flipud(A) % 矩陣上下翻轉
flipdim(A, m) % 矩陣沿特定維(m)翻轉
rot90(A, k) % 矩陣逆時針旋轉k*90度
tiag(A, k) % 取矩陣對角線元素
tril(A, k) % 取矩陣的下三角部分
triu(A, k) % 取矩陣的上三角部分
注:k可以是正、負整數,但絕對值一般不大於矩陣的維數。
6.3 矩陣分析操作:
(1) 方陣A的行列式值,可表達爲 det(A)
(2) 矩陣A的秩,可表達爲 rank(A)
(3) 行列式值不爲堆的方陣A,求逆矩陣可表達爲 inv(A)
(4) 矩陣A的轉置陣,可表達爲 A'
(5) 矩陣A的特徵向量與特徵值:[V, D]=eig(A)。其中V和D分別爲A的特徵向量和特徵值
6.4 矩陣的數組運算:
矩陣乘:A*B。A的列數與B的行數要相等。
矩陣的數組乘:A.*B。表示爲A、B矩陣的對應元素一一相乘,即Aij * Bij。A與B的維度要相同。
矩陣的數組除:A./B或者A.\B
舉例:x=-10 : 2 :10
y=sin(x) % correct
y=sin(x^2) % incorrect - Matrix x must be square
y=sin(x.^2) % correct
6.5 矩陣元素的關係運算與邏輯運算(與、或、非)
< 小於
> 大於
<= 小於或等於
>= 大於或等於
== 等於
~= 不等於
6.6 矩陣的多維數組形式
(1) 函數cat的使用
(2) B=cat(dim, a1, a2,...)
(3) 意義:將多個同維數組a1, a2,...構成一個高維數組B。dim是高維數組B的維數。
它必須等於或大於a1, a2,...的階次
舉例:a=[1 2 3 ; 2 3 4 ; 3 5 6]
b=a+10 % 新構成一個矩陣
a(:, :, 2)=b % 將新矩陣賦給a的第二層
a(:, :, 1) % 顯示a的第一層
c=cat(3, a, b) % 用函數來構成高維數組
6.7 多項式及其運算式
多項式的創建:
(1) 由1×N的N維向量
P=[a0 a1
a2 … an] 表示 Pn=a0xn
+ a1xn-1
+ a2xn-2+ .. +an多項式。
(2) 由函數poly(A)定義
如果A爲二維或以上的矩陣,poly(A)表示由A的特徵根確定的多項式。如果A爲一維矩陣
poly(A)表示由A的元素爲多項式的根確定的多項式。
舉例:
%方法一
p=[1 -2 3] %直接給出多項式p
poly2sym(p) %給出p多項式的表達式
%方法二
a=[1 2; -2 4]
ps=poly(a) % 計算a的特徵根確定的多項式
poly2sym(ps) % 給出ps多項式的表達式
%方法三
x=[-1 2]
px=poly(x) % 以x的元素爲多項式的根確定的多項式
poly2sym(px) % 給出ps多項式的表達式