原文:http://www.cnblogs.com/JCSU/articles/1121474.html
第一節(jié) 基本數(shù)值計(jì)算
1. 變量:分為數(shù)值變量和字符變量
2. 常量:計(jì)算機(jī)中不變的量。如i、j、pi、NaN(不確定)、Inf(無窮大)
3. 字符變量:將字符串作為變量。有三種方法表示:
????(1) 用單引號(hào)' '
????(2) 用函數(shù)sym(' ')
????(3) 用命令symbs
4.?舉例?
??? x=2????????????????????% 將2賦給變量x
????y=3;???????????????????% 有;表示在命令窗口不顯示y的值
????z=x^2 -y????????????% 數(shù)值計(jì)算。輸出結(jié)果為1
????f='sin(x)'???????????? % 用單引號(hào)定義一個(gè)字符變量
????g=sym('cos(y)')??? % 用函數(shù)sym(' ')定義一個(gè)字符變量
??? syms a b??????????????% 用命令syms定義字符變量。一般用于多符號(hào)變量的定義
????u=2*a?????????????????% 字符計(jì)算。輸出結(jié)果為2*a
????w=b^2-1?????????????% 字符計(jì)算。輸出結(jié)果為b^2-1
????fg=f+g????????????????% 字符計(jì)算。輸出結(jié)果為sin(x)+cos(y)
????uw=u*w??????????????% 字符計(jì)算。輸出結(jié)果為2*a*(b^2-1)
????u/w???????????????????? % 字符計(jì)算。輸出結(jié)果為2*a/(b^2-1)
第二節(jié) 矩陣構(gòu)造及運(yùn)算
??? ?Matlab中數(shù)據(jù)的結(jié)構(gòu)形式就是一個(gè)矩陣。如x=2是一個(gè)1×1的矩陣
????1. 矩陣的建立
????????(1) 直接輸入法。
????????(2) 冒號(hào)法(1×N)。
????????(3) 函數(shù)法(特殊矩陣)。
????????(4)?矩陣的編輯(Array Editor)。
????2. 向量
????????向量是1×N的特殊矩陣,即只有一行或者一列,稱為N維向量。
????3. 向量的點(diǎn)積與叉積
????????點(diǎn)積:dot(A,B)
????????叉積:cross(A,B)
????4. 舉例:
????????x=[1 2 3; 4 5 6; 7 8 9]?????% [...],元素之間用空格,行之間用分號(hào)。
????????y=0: 0.1 :1?????????????????????% 不用[...],初值、步長、終值間用冒號(hào)。
????????w=eye(3)????????????????????????% 3階單位矩陣。
????????u=rand(3)???????????????????????%?3階隨機(jī)矩陣。元素在0-1之間。
????????u1=rand(2, 3)???????????????? %?2*3階隨機(jī)矩陣。元素在0-1之間。
????????q=randn(3)???????????????????? % 3階隨機(jī)矩陣。元素在0-1之間。元素符合正態(tài)分布。
????????q1=randn(2, 3)????????????????%?2*3階隨機(jī)矩陣。元素在0-1之間。元素符合正態(tài)分布。
????????s=magic(3)??????????????????????%?魔方陣。各行各列以及對角元素的和相等。
????????ss=zeros(3)????????????????????% 3階全零陣。
????????uu=ones(3)???????????????????? % 3階全1陣。
??? 5.?矩陣的加、減、乘、除
????????(1) 參與加、減運(yùn)算的矩陣必須同維
????????(2) A/B時(shí),A、B列數(shù)必須相同。A\B時(shí),A、B行數(shù)必須相同。
????????(3) 矩陣左乘與右乘不同,左除與右除不同。(A*B不等于B*A,A\B不等于A/B)。
????????(4) 標(biāo)量或函數(shù)與矩陣的運(yùn)算等于該標(biāo)量或函數(shù)與矩陣的每一個(gè)元素的運(yùn)算。
????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)?????????????% 矩陣左右翻轉(zhuǎn)
????????Flipud(A)???????????% 矩陣上下翻轉(zhuǎn)
????????Flipdim(A, m)?????% 矩陣沿特定維(m)翻轉(zhuǎn)
????????Rot90(A, k)???????% 矩陣逆時(shí)針旋轉(zhuǎn)k*90度
????????Tiag(A, k)????????? % 取矩陣對角線元素
????????Tril(A, k)????????????% 取矩陣的下三角部分
????????Triu(A, k)?????????? % 取矩陣的上三角部分
????????注:k可以是正、負(fù)整數(shù),但絕對值一般不大于矩陣的維數(shù)。
????????6.3 矩陣分析操作:
????????(1) 方陣A的行列式值,可表達(dá)為 det(A)
????????(2) 矩陣A的秩,可表達(dá)為 rank(A)
????????(3) 行列式值不為堆的方陣A,求逆矩陣可表達(dá)為 inv(A)
????????(4) 矩陣A的轉(zhuǎn)置陣,可表達(dá)為 A'
????????(5) 矩陣A的特征向量與特征值:[V, D]=eig(A)。其中V和D分別為A的特征向量和特征值
????????6.4 矩陣的數(shù)組運(yùn)算:
????????矩陣乘:A*B。A的列數(shù)與B的行數(shù)要相等。
????????矩陣的數(shù)組乘:A.*B。表示為A、B矩陣的對應(yīng)元素一一相乘,即Aij * Bij。A與B的維度要相同。
????????矩陣的數(shù)組除: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 矩陣元素的關(guān)系運(yùn)算與邏輯運(yùn)算(與、或、非)
????????<????????小于
????????>????????大于
????????<=????? 小于或等于
????????>=????? 大于或等于
????????==??????等于
????????~=??????不等于
????????6.6 矩陣的多維數(shù)組形式
????????(1) 函數(shù)cat的使用
????????(2) B=cat(dim, a1, a2,...)
????????(3) 意義:將多個(gè)同維數(shù)組a1, a2,...構(gòu)成一個(gè)高維數(shù)組B。dim是高維數(shù)組B的維數(shù)。
??????????????????????它必須等于或大于a1, a2,...的階次
??????? 舉例:a=[1 2 3 ; 2 3 4 ; 3 5 6]
????????????????b=a+10????????????????????????????% 新構(gòu)成一個(gè)矩陣
????????????????a(:, :, 2)=b????????????????????????% 將新矩陣賦給a的第二層
????????????????a(:, :, 1)????????????????????????????% 顯示a的第一層
????????????????c=cat(3, a, b)???????????????????? % 用函數(shù)來構(gòu)成高維數(shù)組
????????6.7 多項(xiàng)式及其運(yùn)算式
????????多項(xiàng)式的創(chuàng)建:
????????(1) 由1×N的N維向量
?????????????P=[a0 ?a1 ?a2 … an] 表示?Pn=a0xn + a1xn-1 + a2xn-2+ .. +an多項(xiàng)式。
??????????
??????????(2) 由函數(shù)poly(A)定義
?????????????如果A為二維或以上的矩陣,poly(A)表示由A的特征根確定的多項(xiàng)式。如果A為一維矩陣
?????????????poly(A)表示由A的元素為多項(xiàng)式的根確定的多項(xiàng)式。
????????舉例:
????????%方法一
????????p=[1 -2 3]????%直接給出多項(xiàng)式p
????????poly2sym(p)??%給出p多項(xiàng)式的表達(dá)式
????????%方法二
????????a=[1 2; -2 4]????????
????????ps=poly(a)????????????% 計(jì)算a的特征根確定的多項(xiàng)式
????????poly2sym(ps)????????% 給出ps多項(xiàng)式的表達(dá)式
????????%方法三
????????x=[-1 2]
????????px=poly(x)????????% 以x的元素為多項(xiàng)式的根確定的多項(xiàng)式
????????poly2sym(px)???? % 給出ps多項(xiàng)式的表達(dá)式