




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 MATLAB實驗指導書魏曉華流體傳動與控制工程系機械工程學院 序號實驗項目名稱時數(shù)必做選做每套儀器人數(shù)實驗?zāi)康囊?矩陣與數(shù)組和基本操作命令2必做1掌握矩陣與數(shù)組和基本操作命令;能夠編寫簡單的運算代碼2繪圖功能2必做1掌握繪制二維和三維圖形的常用命令;能夠編寫相關(guān)程序3M文件2必做1掌握用M文件編寫和保存MATLAB程序代碼。4MATLAB在實驗數(shù)據(jù)處理中的應(yīng)用2必做1掌握多項式函數(shù)庫;能夠編寫相關(guān)程序。5MATLAB在控制系統(tǒng)中的應(yīng)用2必做1掌握MATLAB在控制系統(tǒng)分析中的基本命令;能夠運用MATLAB進行控制系統(tǒng)分析。6MATLAB在機械動力學中的應(yīng)用2必做1掌握MATLAB在機械振動
2、分析中的基本表達式和編寫相關(guān)程序。7MATLAB在液壓系統(tǒng)仿真中的應(yīng)用2必做1了解MATLAB的Simulink仿真平臺;掌握簡單液壓系統(tǒng)的仿真。8MATLAB在機械優(yōu)化設(shè)計中的應(yīng)用2必做1掌握MATLAB在機械優(yōu)化設(shè)計中的應(yīng)用;一、線性代數(shù)部分在MATLAB下進行基本數(shù)學運算,只需將運算式直接打入提示號(>>)之后,并按入Enter鍵即可。例如: >> (5*2+1.3-0.8)*10/25 ans =4.2000 MATLAB會將運算結(jié)果直接存入一變數(shù)ans,代表MATLAB運算后的答案(Answer)并顯示其數(shù)值於熒幕上。小提示: ">>&q
3、uot;是MATLAB的提示符號(Prompt),但在PC中文視窗系統(tǒng)下,由于編碼方式不同,此提示符號常會消失不見,但這并不會影響到MATLAB的運算結(jié)果。 我們也可將上述運算式的結(jié)果設(shè)定給另一個變數(shù)x: x = (5*2+1.3-0.8)*102/25 x = 42 此時MATLAB會直接顯示x的值。由上例可知,MATLAB認識所有一般常用到的加(+)、減(-)、乘(*)、除(/)的數(shù)學運算符號,以及冪次運算()。 小提示: MATLAB將所有變數(shù)均存成double的形式,所以不需經(jīng)過變數(shù)宣告(Variable declaration)。MATLAB同時也會自動進行記憶體的使用和回收,而不必
4、像C語言,必須由使用者一一指定.這些功能使的MATLAB易學易用,使用者可專心致力於撰寫程式,而不必被軟體枝節(jié)問題所干擾。 若不想讓MATLAB每次都顯示運算結(jié)果,只需在運算式最後加上分號(;)即可,如下例: y = sin(10)*exp(-0.3*42); 若要顯示變數(shù)y的值,直接鍵入y即可: >>y y =-0.0045 在上例中,sin是正弦函數(shù),exp是指數(shù)函數(shù),這些都是MATLAB常用到的數(shù)學函數(shù)。若一個數(shù)學運算是太長,可用三個句點將其延伸到下一行: z = 10*sin(pi/3)* . sin(pi/3); 1.1 常見數(shù)學函數(shù)函 數(shù) 名數(shù) 學 計 算 功 能函 數(shù)
5、 名數(shù) 學 計 算 功 能abs(x)實數(shù)的絕對值或復數(shù)的幅值floor(x)對x朝-方向取整acos(x)反余弦arcsingcd(m,n)求正整數(shù)m和n的最大公約數(shù)acosh(x)反雙曲余弦arccoshimag(x)求復數(shù)x的虛部angle(x)在四象限內(nèi)求復數(shù) x 的相角lcm(m,n)求正整數(shù)m和n的最小公倍數(shù)asin(x)反正弦arcsinlog(x)自然對數(shù)(以為底數(shù))asinh(x)反雙曲正弦arcsinhlog10(x)常用對數(shù)(以10為底數(shù))atan(x)反正切arctanreal(x)求復數(shù)x的實部atan2(x,y)在四象限內(nèi)求反正切rem(m,n)求正整數(shù)m和n的m/
6、n之余數(shù)atanh(x)反雙曲正切arctanhround(x)對x四舍五入到最接近的整數(shù)ceil(x)對x朝+方向取整sign(x)符號函數(shù):求出x的符號conj(x)求復數(shù)x的共軛復數(shù)sin(x)正弦sincos(x)余弦cossinh(x)反雙曲正弦sinhcosh(x)雙曲余弦coshsqrt(x)求實數(shù)x的平方根:exp(x)指數(shù)函數(shù) tan(x)正切tanfix(x)對x朝原點方向取整tanh(x)雙曲正切tanh如:輸入 x=-4.85 -2.3 -0.2 1.3 4.56 6.75,則: ceil(x)= -4 -2 0 2 5 7 fix(x) = -4 -2 0 1 4 6
7、 floor(x) = -5 -3 -1 1 4 6 round(x) = -5 -2 0 1 5 71.2 系統(tǒng)的在線幫助1. MATLAB的查詢命令:help:用來查詢已知命令的用法。例如已知inv是用來計算逆矩陣,鍵入help inv即可得知有關(guān)inv命令的用法。lookfor:用來尋找未知的命令。例如要尋找計算反矩陣的命令,可鍵入 lookfor inverse,MATLAB即會列出所有和關(guān)鍵字inverse相關(guān)的指令。找到所需的命令後 ,即可用help進一步找出其用法。2.數(shù)據(jù)顯示格式:常用命令: 說明format short 顯示小數(shù)點后4位(缺省值) format long 顯示
8、15位format bank 顯示小數(shù)點后2位format + 顯示+,-,0format short e 5位科學記數(shù)法format long e 15位科學記數(shù)法format rat 最接近的有理數(shù)顯示3.命令行編輯:鍵盤上的各種箭頭和控制鍵提供了命令的重調(diào)、編輯功能。具體用法如下:-重調(diào)前一行(可重復使用調(diào)用更早的)-重調(diào)后一行-前移一字符-后移一字符home-前移到行首end-移動到行末esc-清除一行del-清除當前字符backspace-清除前一字符4. MATLAB工作區(qū)常用命令:who -顯示當前工作區(qū)中所有用戶變量名 whos-顯示當前工作區(qū)中所有用戶變量名及大小、字節(jié)數(shù)和類
9、型disp(x) -顯示變量X的內(nèi)容clear -清除工作區(qū)中用戶定義的所有變量save 文件名-保存工作區(qū)中用戶定義的所有變量到指定文件中l(wèi)oad 文件名-載入指定文件中的數(shù)據(jù)1.3 常量與變量系統(tǒng)的變量命名規(guī)則:變量名區(qū)分字母大小寫;變量名必須以字母打頭,其后可以是任意字母,數(shù)字,或下劃線的組合。此外,系統(tǒng)內(nèi)部預(yù)先定義了幾個有特殊意義和用途的變量,見下表:特殊的變量、常量取 值ans用于結(jié)果的缺省變量名pi圓周率的近似值(3.1416)eps數(shù)學中無窮小(epsilon)的近似值(2.2204e - 016)inf無窮大,如 1/0 = inf (infinity)NaN非數(shù),如 0/0
10、= NaN (Not a Number),inf / inf = NaNi,j虛數(shù)單位:i = j =1 數(shù)值型向量(矩陣)的輸入1任何矩陣(向量),可以直接按行方式輸入每個元素:同一行中的元素用逗號(,)或者用空格符來分隔;行與行之間用分號(;)分隔。所有元素處于一方括號( )內(nèi);例1:>> Time = 11 12 1 2 3 4 5 6 7 8 9 10>> X_Data = 2.32 3.43;4.37 5.982系統(tǒng)中提供了多個命令用于輸入特殊的矩陣:函數(shù)功 能函數(shù)功 能compan伴隨陣toeplitzToeplitz矩陣diag對角陣vanderVande
11、rmonde矩陣hadamardHadamard矩陣zeros元素全為0的矩陣hankelHankel矩陣ones元素全為1的矩陣invhilbHilbert矩陣的逆陣rand元素服從均勻分布的隨機矩陣kronKronercker張量積randn元素服從正態(tài)分布的隨機矩陣magic魔方矩陣eye對角線上元素為1的矩陣pascalPascal矩陣meshgrid由兩個向量生成的矩陣上面函數(shù)的具體用法,可以用幫助命令help得到。如:meshgrid(x,y)輸入 x=1 2 3 4; y=1 0 5; X,Y=meshgrid(x, y),則X = Y = 1 2 3 4 1 1 1 1 1 2
12、 3 4 0 0 0 0 1 2 3 4 5 5 5 5目的是將原始數(shù)據(jù)x,y轉(zhuǎn)化為矩陣數(shù)據(jù)X,Y。2 符號向量(矩陣)的輸入1用函數(shù) sym定義符號矩陣:函數(shù)sym實際是在定義一個符號表達式,這時的符號矩陣中的元素可以是任何的符號或者是表達式,而且長度沒有限制。只需將方括號置于單引號中。例2:>> sym_matrix = sym('a b c;Jack Help_Me NO_WAY') sym_matrix = a, b, c Jack, Help_Me, NO_WAY2用函數(shù)syms定義符號矩陣先定義矩陣中的每一個元素為一個符號變量,而后像普通矩陣一樣輸入符號
13、矩陣。例3:>> syms a b c ;>> M1 = sym('Classical');>> M2 = sym(' Jazz');>> M3 = sym('Blues');>> A = a b c; M1, M2, M3;sym(2 3 5)A = a, b, c Classical, Jazz, Blues 2, 3, 51.4 數(shù)組(矩陣)的點運算運算符:+(加)、-(減)、./(右除)、.(左除)、.(乘方),例4:>> g = 1 2 3 4;h = 4 3 2
14、1;>> s1 = g + h, s2 = g.*h, s3 = g.h, s4 = g.2, s5 = 2.h1.5 矩陣的運算運算符:+(加)、-(減)、*(乘)、/(右除)、(左除)、(乘方)、(轉(zhuǎn)置)等;常用函數(shù):det(行列式)、inv(逆矩陣)、rank(秩)、eig(特征值、特征向量)、rref(化矩陣為行最簡形)例5:>> A=2 0 1;1 3 2; B=1 7 1;4 2 3;2 0 1;>> M = A*B % 矩陣A與B按矩陣運算相乘>> det_B = det(B) % 矩陣A的行列式>> rank_A =
15、rank(A) % 矩陣A的秩>> inv_B = inv(B) % 矩陣B的逆矩陣>> V,D = eig(B) % 矩陣B的特征值矩陣V與特征向量構(gòu)成的矩陣D>> X = A/B % A/B = A*B-1,即XB=A,求X>> Y = BA % BA = B-1*A,即BY=A,求Y上機練習(一):1練習數(shù)據(jù)和符號的輸入方式,將前面的命令在命令窗口中執(zhí)行通過;2輸入A=7 1 5;2 5 6;3 1 5,B=1 1 1; 2 2 2; 3 3 3,在命令窗口中執(zhí)行下列表達式,掌握其含義:A(2, 3) A(:,2) A(3,:) A(:,1
16、:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A2 A.2 B/A B./A3輸入C=1:2:20,則C(i)表示什么?其中i=1,2,3,10;4查找已創(chuàng)建變量的信息,刪除無用的變量;5欲通過系統(tǒng)做一平面圖,請查找相關(guān)的命令與函數(shù),獲取函數(shù)的幫助信息。二、編程2.1 無條件循環(huán)當需要無條件重復執(zhí)行某些命令時,可以使用for循環(huán):for 循環(huán)變量t=表達式1 : 達式2 : 表達式3 語句體end說明:表達式1為循環(huán)初值,表達式2為步長,表達式3為循環(huán)終值;當表達式2省略時則默認步長為1;for語句允許嵌套。例6: 如:矩陣輸入程序生成3×4
17、階的Hiltber矩陣。 m=input(矩陣行數(shù):m=); for i=1 : 3 n= input(矩陣列數(shù):n=); for j=1 : 4 for i=1:m H(i,j)=1/(i+j-1); for j=1:n end disp(輸入第,num2str(i),行,第, num2str(j),列元素) end A(i, j) = input ( ) end end 2.2 條件循環(huán)1) if-else-then語句if-else-then語句的常使用三種形式為:(1) if 邏輯表達式 (3) if 邏輯表達式1 語句體 語句體1end elseif 邏輯表達式2 語句體2(2) i
18、f 邏輯表達式1 elseif 邏輯表達式3 語句體1 else else 語句體2 語句體nend end 2) while循環(huán)語句while循環(huán)的一般使用形式為:while 表達式 語句體end例7:用二分法計算多項式方程= 0在0,3內(nèi)的一個根。 解:a = 0;fa = -inf;b = 3;fb = inf;while b-a > eps*b x =(a+b)/2; fx = x3-2*x-5; if sign(fx)= sign(fa) a =x;fa = fx; else b = x;fb = fx; endendx運行結(jié)果為:x = 2.09455151481542332
19、.3 分支結(jié)構(gòu)若需要對不同的情形執(zhí)行不同的操作,可用switch 分支語句:switch 表達式(標量或字符串) case 值1 語句體1 case 值2 語句體2 otherwise 語句體nend說明:當表達式不是“case”所列值時,執(zhí)行otherwise語句體。2.4 建立M文件將多個可執(zhí)行的系統(tǒng)命令,用文本編輯器編輯后并存放在后綴為 .m 的文件中,若在MATLAB命令窗口中輸入該m-文件的文件名(不跟后綴.m!),即可依次執(zhí)行該文件中的多個命令。這個后綴為.m的文件,也稱為Matlab的腳本文件(Script File)。注意:文件存放路徑必須在Matlab能搜索的范圍內(nèi)。2.5
20、建立函數(shù)文件對于一些特殊用戶函數(shù),系統(tǒng)提供了一個用于創(chuàng)建用戶函數(shù)的命令function,以備用戶隨時調(diào)用。1格式:function 輸出變量列表=fun_name(輸入變量列表) 用戶自定義的函數(shù)體2函數(shù)文件名為:fun_name,注意:保存時文件名與函數(shù)名最好相同;3存儲路徑:最好在系統(tǒng)的搜索路徑上。4. 調(diào)用方法:輸出參量=fun_name (輸入變量)例8:計算s = n!,在文本編輯器中輸入:function s=pp(n);s=1;for i=1:n s=s*i;ends;在MATLAB命令窗口中輸入:s=pp(5) 結(jié)果為s = 120上機練習(二):1編寫程序,計算1+3+5+7
21、+(2n+1)的值(用input語句輸入n 值)。2編寫分段函數(shù) 的函數(shù)文件,存放于文件ff.m中,計算出,的值。三、矩陣及其運算3.1 矩陣的創(chuàng)建1.加、減運算運算符:“”和“”分別為加、減運算符。運算規(guī)則:對應(yīng)元素相加、減,即按線性代數(shù)中矩陣的“十”、“一”運算進行。例3-1 在Matlab編輯器中建立m文件:LX0701.m A=1, 1, 1; 1, 2, 3; 1, 3, 6B=8, 1, 6; 3, 5, 7; 4, 9, 2AB=A+BA-=A-B在Matlab命令窗口建入LX0701,則結(jié)果顯示:A+B=9 2 74 7 105 12 8AB=-7 0 -5-2 -3 -4-3
22、 -6 42.乘法運算符:*運算規(guī)則:按線性代數(shù)中矩陣乘法運算進行,即放在前面的矩陣的各行元素,分別與放在后面的矩陣的各列元素對應(yīng)相乘并相加。(1)兩個矩陣相乘例3-2 在Mtalab編輯器中建立M文件:LX0702.mX= 2 3 4 5 1 2 2 1;Y=0 1 1 1 1 0 0 0 1 1 0 0;Z=X*Y存盤在命令行中建入LX0702,回車后顯示:Z= 8 5 6 3 3 3 (2)矩陣的數(shù)乘:數(shù)乘矩陣上例中:a=2*X則顯示:a =4 6 8 102 4 4 2(3)向量的點乘(內(nèi)積):維數(shù)相同的兩個向量的點乘。命令:dot 向量點乘函數(shù)例:X=-1 0 2;Y=-2 -1 1
23、;Z=dot(X, Y)則顯示:Z =4還可用另一種算法:sum(X.*Y)ans= 4(4)向量叉乘在數(shù)學上,兩向量的叉乘是一個過兩相交向量的交點且垂直于兩向量所在平面的向量。在Matlab中,用函數(shù)cross實現(xiàn)。命令 cross 向量叉乘函數(shù)例3-3 計算垂直于向量(1, 2, 3)和(4, 5, 6)的向量。在Mtalab編輯器中建立M文件:LX0703.m a=1 2 3; b=4 5 6; c=cross(a,b)結(jié)果顯示: c= -3 6 -3可得垂直于向量(1, 2, 3)和(4, 5, 6)的向量為±(-3, 6, -3)(5)混合積混合積由以上兩函數(shù)實現(xiàn):例3-4
24、 計算向量a=(1, 2, 3)、b=(4, 5, 6)和c=(-3, 6, -3) 的混合積在Matlab編輯器中建立M文件:LX0704.ma=1 2 3; b=4 5 6; c=-3 6 -3;x=dot(a, cross(b, c)結(jié)果顯示:x = 54注意:先叉乘后點乘,順序不可顛倒。3.矩陣的除法Matlab提供了兩種除法運算:左除()和右除(/)。一般情況下,x=ab是方程a*x =b的解,而x=b/a是方程x*a=b的解例:a=1 2 3; 4 2 6; 7 4 9b=4; 1; 2;x=ab則顯示:x=-1.5000 2.00000.5000如果a為非奇異矩陣,則ab和b/a
25、可通過a的逆矩陣與b陣得到: ab = inv(a)*b b/a = b*inv(a)4.矩陣乘方運算符:運算規(guī)則:(1)當A為方陣,p為大于0的整數(shù)時,AP表示A的P次方,即A自乘P次;p為小于0的整數(shù)時,AP表示A-1的P次方。(2)當A為方陣,p為非整數(shù)時,則其中V為A的特征向量,為特征值矩陣5.矩陣的轉(zhuǎn)置運算符:運算規(guī)則:與線性代數(shù)中矩陣的轉(zhuǎn)置相同。6.矩陣的逆矩陣例3-5 求的逆矩陣方法一:在Matlab編輯器中建立M文件:LX07051.m A=1 2 3; 2 2 1; 3 4 3; inv(A)或A(-1)則結(jié)果顯示為 ans = 1.0000 3.0000 -2.0000 -
26、1.5000 -3.0000 2.5000 1.0000 1.0000 -1.0000方法二:由增廣矩陣進行初等行變換在Matlab編輯器中建立M文件:LX07052.m B=1, 2, 3, 1, 0, 0; 2, 2, 1, 0, 1, 0; 3, 4, 3, 0, 0, 1;C=rref(B) %化行最簡形X=C(:, 4:6)在Matlab命令窗口建入LX07052,則顯示結(jié)果如下:C = 1.0000 0 0 1.0000 3.0000 -2.0000 0 1.0000 0 -1.5000 -3.0000 2.5000 0 0 1.0000 1.0000 1.0000 -1.0000
27、X = 1.0000 3.0000 -2.0000 -1.5000 -3.0000 2.5000 1.0000 1.0000 -1.0000這就是A的逆矩陣。7.方陣的行列式命令: det 計算行列式的值例3-6 計算上例中A的行列式的值在Matlab編輯器中建立M文件:LX0706.mA=1 2 3; 2 2 1; 3 4 3;D=det(A)則結(jié)果顯示為D = 23.2 符號矩陣的運算1.符號矩陣的四則運算Matlab 5.x 拋棄了在4.2版中為符號矩陣設(shè)計的復雜函數(shù)形式,把符號矩陣的四則運算簡化為與數(shù)值矩陣完全相同的運算方式,其運算符為:加(),減()、乘(×)、除(/、)等
28、或:符號矩陣的和(symadd),差(symsub),乘 (symmul)。例3-7 ;C=B-AD=ab則顯示:C=x-1/x 1-1/(x+1)x+2-1/(x+2) -1/(x+3)D=-6*x-2*x3-7*x2 1/2*x3+x+3/2*x2 6+2*x3+10*x2+14*x -2*x2-3/2*x-1/2*x32.其他基本運算符號矩陣的其他一些基本運算包括轉(zhuǎn)置(')、行列式(det)、逆(inv)、秩(rank)、冪()和指數(shù)(exp和expm)等都與數(shù)值矩陣相同3.符號矩陣的簡化符號工具箱中提供了符號矩陣因式分解、展開、合并、簡化及通分等符號操作函數(shù)。(1)因式分解命令
29、:factor 符號表達式因式分解函數(shù)格式:factor(s)說明:s為符號矩陣或符號表達式。常用于多項式的因式分解例3-8 將x 9-1分解因式在Matlab命令窗口建入syms x factor(x9-1)則顯示:ans = (x-1)*(x2+x+1)*(x6+x3+1)例3-9 問入取何值時,齊次方程組有非0解解:在Matlab編輯器中建立M文件:LX0709.msyms kA=1-k -2 4;2 3-k 1;1 1 1-k;D=det(A)factor(D)其結(jié)果顯示如下:D =-6*k+5*k2-k3ans = -k*(k-2)*(-3+k)從而得到:當k=0、k=2或k=3時,
30、原方程組有非0解。(2)符號矩陣的展開命令 expand 符號表達式展開函數(shù)格式:expand(s)說明:s為符號矩陣或表達式。常用在多項式的因式分解中,也常用于三角函數(shù),指數(shù)函數(shù)和對數(shù)函數(shù)的展開中例3-10 將(x+1)3、sin(x+y)展開在Matlab編輯器中建立M文件:LX0710.m syms x yp=expand(x+1)3)q=expand(sin(x+y)則結(jié)果顯示為p = x3+3*x2+3*x+1q = sin(x)*cos(y)+cos(x)*sin(y)(3)同類式合并命令:Collect 合并系數(shù)函數(shù)格式:Collect(s,v) 將s中的變量v的同冪項系數(shù)合并。
31、Collect(s) s 矩陣或表達式,此命令對由命令findsym函數(shù)返回的默認變量進行同類項合并。(4)符號簡化命令:simple或simplify 尋找符號矩陣或符號表達式的最簡型格式:Simple(s) s 矩陣或表達式說明:Simple(s)將表達式s的長度化到最短。若還想讓表達式更加精美,可使用函數(shù)Pretty。格式:Pretty(s) 使表達式s更加精美例3-11 計算行列式的值。在Matlab編輯器中建立M文件:LX0711.msyms a b c d A=1 1 1 1;a b c d;a2 b2 c2 d2;a4 b4 c4 d4;d1=det(A)d2=simple(d1
32、) %化簡表達式d1pretty(d2) %讓表達式d2符合人們的書寫習慣則顯示結(jié)果如下: d1 =b*c2*d4-b*d2*c4-b2*c*d4+b2*d*c4+b4*c*d2-b4*d*c2-a*c2*d4+a*d2*c4+a*b2*d4-a*b2*c4-a*b4*d2+a*b4*c2+a2*c*d4-a2*d*c4-a2*b*d4+a2*b*c4+a2*b4*d-a2*b4*c-a4*c*d2+a4*d*c2+a4*b*d2-a4*b*c2-a4*b2*d+a4*b2*cd2 =(-d+c)*(b-d)*(b-c)*(-d+a)*(a-c)*(a-b)*(a+c+d+b)(-d+c)(b
33、-d)(b-c)(-d+a)(a-c)(a-b)(a+c+d+b)例3-12 設(shè),求矩陣X,使?jié)M足:AXB = C在Matlab編輯器中建立M文件:LX0712.mA=1 2 3;2 2 1;3 4 3;B=2,1;5 3;C=1 3;2 0;3 1;X=AC/B則結(jié)果顯示如下:X = -2.0000 1.0000 10.0000 -4.0000 -10.0000 4.0000例3-13 計算在Matlab編輯器中建立M文件:LX0713.m syms tA =cos(t) -sin(t); sin(t), cos(t);B=sympow(A, 5) %計算A的5次冪C=simple(B) %
34、化簡pretty(C)則顯示結(jié)果如下B = cos(t)*(cos(t)*(cos(t)*(cos(t)2-sin(t)2)-2*sin(t)2*cos(t)-sin(t)*(sin(t)*(cos(t)2-sin(t)2)+2*cos(t)2*sin(t)-sin(t)*(sin(t)*(cos(t)*(cos(t)2-sin(t)2)-2*sin(t)2*cos(t)+cos(t)*(sin(t)*(cos(t)2-sin(t)2)+2*cos(t)2*sin(t), cos(t)*(cos(t)*(-2*cos(t)2*sin(t)-sin(t)*(cos(t)2-sin(t)2)-si
35、n(t)*(cos(t)*(cos(t)2-sin(t)2)-2*sin(t)2*cos(t)-sin(t)*(sin(t)*(-2*cos(t)2*sin(t)-sin(t)*(cos(t)2-sin(t)2)+cos(t)*(cos(t)*(cos(t)2-sin(t)2)-2*sin(t)2*cos(t) sin(t)*(cos(t)*(cos(t)*(cos(t)2-sin(t)2)-2*sin(t)2*cos(t)-sin(t)*(sin(t)*(cos(t)2-sin(t)2)+2*cos(t)2*sin(t)+cos(t)*(sin(t)*(cos(t)*(cos(t)2-sin
36、(t)2)-2*sin(t)2*cos(t)+cos(t)*(sin(t)*(cos(t)2-sin(t)2)+2*cos(t)2*sin(t), sin(t)*(cos(t)*(-2*cos(t)2*sin(t)-sin(t)*(cos(t)2-sin(t)2)-sin(t)*(cos(t)*(cos(t)2-sin(t)2)-2*sin(t)2*cos(t)+cos(t)*(sin(t)*(-2*cos(t)2*sin(t)-sin(t)*(cos(t)2-sin(t)2)+cos(t)*(cos(t)*(cos(t)2-sin(t)2)-2*sin(t)2*cos(t)C = cos(5
37、*t), -sin(5*t) sin(5*t), cos(5*t) cos(5 t) -sin(5 t) sin(5 t) cos(5 t) 四、秩與線性相關(guān)性4.1 矩陣和向量組的秩以及向量組的線性相關(guān)性。矩陣A的秩是矩陣A中最高階非零子式的階數(shù);向量組的秩通常由該向量組構(gòu)成的矩陣來計算。命令:rank格式:rank(A) A為矩陣式向量組構(gòu)成的矩陣例4-1 求向量組,的秩,并判斷其線性相關(guān)性。在Matlab編輯器中建立M文件:LX0714.mA=1 -2 2 3;-2 4 -1 3;-1 2 0 3;0 6 2 3;2 -6 3 4;B=rank(A)運行后結(jié)果如下:B = 3由于秩為3
38、< 向量個數(shù),因此向量組線性相關(guān)。4.2 向量組的最大無關(guān)組矩陣的初等行變換有三條:1.交換兩行 (第i、第j兩行交換)2.第i行的K倍 3.第i行的K倍加到第j行上去 通過這三條變換可以將矩陣化成行最簡形,從而找出列向量組的一個最大無關(guān)組,Matlab將矩陣化成行最簡形的命令是:命令:rref格式:rref(A) A為矩陣例4-2 求向量組a1=(1,-2,2,3),a2=(-2,4,-1,3),a3=(-1,2,0,3),a4=(0,6,2,3),a5=(2,-6,3,4)的一個最大無關(guān)組。在Matlab編輯器中建立M文件:LX0715.ma1=1 -2 2 3'a2=-2
39、4 -1 3'a3=-1 2 0 3'a4=0 6 2 3'a5=2 -6 3 4'A=a1 a2 a3 a4 a5format rat %以有理格式輸出B=rref(A) %求A的行最簡形運行后的結(jié)果為A = 1 -2 -1 0 2 -2 4 2 6 -6 2 -1 0 2 3 3 3 3 3 4 B = 1 0 1/3 0 16/9 0 1 2/3 0 -1/9 0 0 0 1 -1/3 0 0 0 0 0 從B中可以得到:向量a1 a2 a4為其中一個最大無關(guān)組五、線性方程的組的求解我們將線性方程的求解分為兩類:一類是方程組求唯一解或求特解,另一類是方程組
40、求無窮解即通解??梢酝ㄟ^系數(shù)矩陣的秩來判斷:若系數(shù)矩陣的秩r=n(n為方程組中未知變量的個數(shù)),則有唯一解若系數(shù)矩陣的秩r<n,則可能有無窮解。線性方程組的無窮解 = 對應(yīng)齊次方程組的通解+非齊次方程組的一個特解;其特解的求法屬于解的第一類問題,通解部分屬第二類問題。5.1 求線性方程組的唯一解或特解(第一類問題)這類問題的求法分為兩類:一類主要用于解低階稠密矩陣 直接法;另一類是解大型稀疏矩陣 迭代法。5.1.1 利用矩陣除法求線性方程組的特解(或一個解)方程:AX=b解法:X=Ab例5-1 求方程組的解解:在Matlab編輯器中建立M文件:LX0716.mA=5 6 0 0 0 1
41、5 6 0 0 0 1 5 6 0 0 0 1 5 6 0 0 0 1 5; B=1 0 0 0 1'R_A=rank(A) %求秩X=AB %求解運行后結(jié)果如下R_A = 5X = 2.2662 -1.7218 1.0571 -0.5940 0.3188這就是方程組的解。例5-2 求方程組的一個特解解:在Matlab編輯器中建立M文件:LX0717.mA=1 1 -3 -1;3 -1 -3 4;1 5 -9 -8;B=1 4 0'X=ABX = 0 0 -0.5333 0.60005.1.2 利用矩陣的LU、QR和cholesky分解求方程組的解1.LU分解:LU分解又稱Ga
42、uss消去分解,可把任意方陣分解為下三角矩陣的基本變換形式(行交換)和上三角矩陣的乘積。即A=LU,L為下三角陣,U為上三角陣。則:A*X=b 變成L*U*X=bX=U(Lb) 這樣可以大提高運算速度。命令 L,U=lu (A)例5-3 求方程組的一個特解解 在Matlab編輯器中建立M文件:LX0718.mA=4 2 -1;3 -1 2;11 3 0;B=2 10 8'D=det(A)L,U=lu(A)X=U(LB)在Matlab命令窗口建入LX0718,回車后顯示結(jié)果如下:D = 0L = 0.3636 -0.5000 1.0000 0.2727 1.0000 0 1.0000 0
43、 0U = 11.0000 3.0000 0 0 -1.8182 2.0000 0 0 0.0000Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 2.018587e-017.> In D:Matlabpujunlx0720.m at line 4X = 1.0e+016 * -0.4053 1.4862 1.3511說明:結(jié)果中的警告是由于系數(shù)行列式為零產(chǎn)生的??梢酝ㄟ^A*X驗證其正確性。2.Cholesky分解若A為對稱正定矩陣,則Cholesky分解可將
44、矩陣A分解成上三角矩陣和其轉(zhuǎn)置的乘積,即: 其中R為上三角陣。方程 A*X=b 變成 所以 命令 R=chol(A)3.QR分解對于任何長方矩陣A,都可以進行QR分解,其中Q為正交矩陣,R為上三角矩陣的初等變換形式,即:A=QR方程 A*X=b 變形成 QRX=b所以 X=R(Qb)命令 Q, R=qr(A)上例中 Q, R=qr(A)X=R(QB)說明:這三種分解,在求解大型方程組時很有用。其優(yōu)點是運算速度快、可以節(jié)省磁盤空間、節(jié)省內(nèi)存。5.2 求線性齊次方程組的通解在Matlab中,函數(shù)null用來求解零空間,即滿足A·X=0的解空間,實際上是求出解空間的一組基(基礎(chǔ)解系)。格式
45、:z = null % z的列向量為方程組的正交規(guī)范基,滿足 % z的列向量是方程AX=0的有理基例5-4 求解方程組的通解:解:在Matlab編輯器中建立M文件:LX0719.mA=1 2 2 1;2 1 -2 -2;1 -1 -4 -3;format rat %指定有理式格式輸出B=null(A,'r') %求解空間的有理基運行后顯示結(jié)果如下:B = 2 5/3 -2 -4/3 1 0 0 1寫出通解:syms k1 k2X=k1*B(:,1)+k2*B(:,2) %寫出方程組的通解pretty(X) %讓通解表達式更加精美運行后結(jié)果如下:X = 2*k1+5/3*k2 -2*k1-4/3*k2 k1 k2% 下面是其簡化形式 2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度建筑工人勞動合同(附創(chuàng)新技術(shù)培訓內(nèi)容)
- 二零二五年度國際酒店餐飲業(yè)勞務(wù)供應(yīng)協(xié)議
- 二零二五年度生活垃圾清運與環(huán)保技術(shù)研發(fā)應(yīng)用合同
- 電子商務(wù)平臺代運營服務(wù)協(xié)議
- 采購合同辣椒采購合同
- 音樂課本中的歌曲背后的故事征文
- 專業(yè)保潔服務(wù)合作協(xié)議
- 簡愛人物形象塑造分析:世界名著導讀課程教案
- 人力資源招聘與培訓流程說明
- 企業(yè)綠色信用修復服務(wù)協(xié)議
- 心理健康教育課《在變化中成長》課件
- JJF 1341-2012 鋼筋銹蝕測量儀校準規(guī)范-(高清現(xiàn)行)
- 人教版數(shù)學五年級下冊 全冊各單元教材解析
- 給水排水管道工程質(zhì)量通病以及防治
- 偏癱臨床路徑流程
- 計算機視覺全套課件
- GB-T 9251-2022 氣瓶水壓試驗方法(高清版)
- 基于單片機的電子廣告牌設(shè)計畢業(yè)設(shè)計論文
- 中國聯(lián)通IMS接口規(guī)范 第三分冊:Sh接口 V1.0
- 判斷抽樣(課堂PPT)
- 通用橫版企業(yè)報價單模板
評論
0/150
提交評論