版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、MATLAB的數(shù)值計算 matlab 具有出色的數(shù)值計算能力,占據(jù)世界上數(shù)值計算軟件的主導(dǎo)地位數(shù)值運算的功能n創(chuàng)建矩陣n矩陣運算n多項式運算n線性方程組n數(shù)值統(tǒng)計n線性插值n函數(shù)優(yōu)化n微分方程的數(shù)值解一、命令行的基本操作創(chuàng)建矩陣的方法創(chuàng)建矩陣的方法n直接輸入法規(guī)則: 矩陣元素必須用 括住 矩陣元素必須用逗號或空格分隔 在 內(nèi)矩陣的行與行之間必須 用分號分隔 矩陣元素可以是任何matlab表達(dá)式 ,可以是實數(shù) ,也可以是復(fù)數(shù),復(fù)數(shù)可用特殊函數(shù)I,j 輸入 a=1 2 3;4 5 6 x=2 pi/2;sqrt(3) 3+5i 矩陣元素符號的作用n逗號和分號的作用 逗號和分號可作為指令間的分隔符,
2、matlab允許多條語句在同一行出現(xiàn)。 分號如果出現(xiàn)在指令后,屏幕上將不顯示結(jié)果。注意:只要是賦過值的變量,不管是否在屏幕上顯示過,都存儲在工作空間中,以后可隨時顯示或調(diào)用。變量名盡可能不要重復(fù),否則會覆蓋 。 當(dāng)一個指令或矩陣太長時,可用續(xù)行n冒號的作用 用于生成等間隔的向量,默認(rèn)間隔為1。 用于選出矩陣指定行、列及元素。 循環(huán)語句2.用matlab函數(shù)創(chuàng)建矩陣n空陣 matlab允許輸入空陣,當(dāng)一項操作無結(jié)果時,返回空陣。nrand 隨機矩陣neye 單位矩陣nzeros 全部元素都為0的矩陣nones 全部元素都為1的矩陣 還有伴隨矩陣、稀疏矩陣、魔方矩陣、對角矩陣、范德蒙等矩陣的創(chuàng)建,
3、就不一一介紹了。注意:matlab嚴(yán)格區(qū)分大小寫字母,因此a與A是兩個不同的變量。 matlab函數(shù)名必須小寫。3. 矩陣的修改n 直接修改 可用鍵找到所要修改的矩陣,用鍵移動到要修改的矩陣元素上即可修改。 指令修改 可以用A(,)= 來修改。例如例如a=1 2 0;3 0 5;7 8 9a =1 2 0 3 0 5 7 8 9a(3,3)=0a =1 2 0 3 0 5 7 8 0還可以用函數(shù)subs修改,matlab6.0以上還可用find函數(shù)修改。n把matlab工作空間中一些有用的數(shù)據(jù)長久保存下來的方法是生成mat數(shù)據(jù)文件。 save 將工作空間中所有的變量存到matlab.mat文件
4、中。二、數(shù)據(jù)的保存與獲取默認(rèn)文件名save data將工作空間中所有的變量存到data.mat文件中。save data a b 將工作空間中a和b變量存到data.mat文件中。 下次運行matlab時即可用load指令調(diào)用已生成的mat文件。load load data load data a b mat文件是標(biāo)準(zhǔn)的二進制文件,還可以ASCII碼形式保存。即可恢復(fù)保存過的所有變量矩陣加、減(,)運算規(guī)則: 相加、減的兩矩陣必須有相同的行和列兩矩陣對應(yīng)元素相加減。 允許參與運算的兩矩陣之一是標(biāo)量。標(biāo)量與矩陣的所有元素分別進行加減操作。三、矩陣運算2. 矩陣乘()運算規(guī)則:nA矩陣的列數(shù)必須等
5、于B矩陣的行數(shù)n標(biāo)量可與任何矩陣相乘。a=1 2 3;4 5 6;7 8 0;b=1;2;3;c=a*bc =14 32 23 d=-1;0;2;f=pi*df = -3.1416 0 6.2832 矩陣除的運算在線性代數(shù)中沒有,有矩陣逆的運算,在matlab中有兩種矩陣除運算 a p a 自乘p次冪 方陣方陣1的整數(shù)的整數(shù)3. 矩陣乘方 an,ap,pa對于p的其它值,計算將涉及特征值和特征向量,如果p是矩陣,a是標(biāo)量ap使用特征值和特征向量自乘到p次冪;如a,p都是矩陣,ap則無意義。 a=1,2,3;4,5,6;7,8,9;a2 ans =30 36 42 66 81 96 102 12
6、6 150當(dāng)一個方陣有復(fù)數(shù)特征值或負(fù)實特征值時,非整數(shù)冪是復(fù)數(shù)陣。 a0.5 ans = 0.4498 + 0.7623i 0.5526 + 0.2068i 0.6555 -0.3487i 1.0185 + 0.0842i 1.2515 + 0.0228i 1.4844 - 0.0385i 1.5873 - 0.5940i 1.9503 - 0.1611i 2.3134 + 0.2717ininv 矩陣求逆ndet 行列式的值neig 矩陣的特征值ndiag 對角矩陣 n 矩陣轉(zhuǎn)置nsqrt 矩陣開方4. 矩陣的其它運算 5.矩陣的一些特殊操作n矩陣的變維 a=1:12;b=reshape(a
7、,3,4) c=zeros(3,4);c(:)=a(:)n矩陣的變向 rot90:旋轉(zhuǎn); fliplr:上翻; flipud:下翻n矩陣的抽取 diag:抽取主對角線;tril: 抽取主下三角; triu:抽取主上三角n矩陣的擴展關(guān)系運算 關(guān)系符號意義=小于小于或等于大于大于或等于等于不等于 數(shù)組運算指元素對元素的算術(shù)運算,與通常意義上的由符號表示的線性代數(shù)矩陣運算不同 數(shù)組加減(.+,.-) a.+b a.- b5. 矩陣的數(shù)組運算 對應(yīng)元素相加減(與矩陣加對應(yīng)元素相加減(與矩陣加減等效)減等效)2. 數(shù)組乘除(,./,.)ab a,b兩數(shù)組必須有相同的行 和列兩數(shù)組相應(yīng)元素相乘。a=1 2
8、 3;4 5 6;7 8 9;b=2 4 6;1 3 5;7 9 10;a.*bans = 2 8 18 4 15 30 49 72 90 a=1 2 3;4 5 6;7 8 9;b=2 4 6;1 3 5;7 9 10;a*bans = 25 37 46 55 85 109 85 133 172 a./b=b.aa.b=b./aa./b=b.a 都是a的元素被b的對應(yīng)元 素除a.b=b./a 都是a的元素被b的對應(yīng)元 素除例: a=1 2 3;b=4 5 6; c1=a.b; c2=b./ac1 = 4.0000 2.5000 2.0000c2 = 4.0000 2.5000 2.0000
9、給出a,b對應(yīng)元素間的商.3. 數(shù)組乘方(.) 元素對元素的冪例:a=1 2 3;b=4 5 6;z=a.2z = 1.00 4.00 9.00z=a.bz = 1.00 32.00 729.00matlab語言把多項式表達(dá)成一個行向量,該向量中的元素是按多項式降冪排列的。 f(x)=anxn+an-1xn-1+loa0 可用行向量 p=an an-1 a1 +a0表示poly 產(chǎn)生特征多項式系數(shù)向量n特征多項式一定是n+1維的1.特征多項式第一個元素一定是1四、 多項式運算 例:a=1 2 3;4 5 6;7 8 0;p=poly(a)p =1.00 -6.00 -72.00 -27.00
10、p是多項式p(x)=x3-6x2-72x-27的matlab描述方法,我們可用:p1=poly2str(p,x) 函數(shù)文件,顯示數(shù)學(xué)多項式的形式p1 =x3 - 6 x2 - 72 x - 272.roots 求多項式的根a=1 2 3;4 5 6;7 8 0;p=poly(a)p = 1.00 -6.00 -72.00 -27.00r=roots(p)r = 12.12 -5.73 顯然 r是矩陣a的特征值 -0.39當(dāng)然我們可用poly令其返回多項式形式p2=poly(r)p2 = 1.00 -6.00 -72.00 -27.00nmatlab規(guī)定多項式系數(shù)向量用行向量表示,一組根用列向量
11、表示。3.conv,convs多項式乘運算例:a(x)=x2+2x+3; b(x)=4x2+5x+6;c = (x2+2x+3)(4x2+5x+6)a=1 2 3;b=4 5 6;c=conv(a,b)=conv(1 2 3,4 5 6)c = 4.00 13.00 28.00 27.00 18.00p=poly2str(c,x)p = 4 x4 + 13 x3 + 28 x2 + 27 x + 184.deconv多項式除運算a=1 2 3; c = 4.00 13.00 28.00 27.00 18.00d=deconv(c,a)d =4.00 5.00 6.00d,r=deconv(c,
12、a)余數(shù)余數(shù)c除除a后的整數(shù)后的整數(shù)5.多項式微分matlab提供了polyder函數(shù)多項式的微分。命令格式:polyder(p): 求p的微分polyder(a,b): 求多項式a,b乘積的微分p,q=polyder(a,b): 求多項式a,b商的微分例:a=1 2 3 4 5; poly2str(a,x)ans = x4 + 2 x3 + 3 x2 + 4 x + 5b=polyder(a)b = 4 6 6 4poly2str(b,x)ans =4 x3 + 6 x2 + 6 x + 4五、代數(shù)方程組求解matlab中有兩種除運算左除和右除。對于方程ax+b,a 為anm矩陣,有三種情況
13、: 當(dāng)n=m時,此方程成為“恰定”方程 當(dāng)nm時,此方程成為“超定”方程 當(dāng)nm時,此方程成為“欠定”方程 matlab定義的除運算可以很方便地解上述三種方程1.恰定方程組的解方程ax+b(a為非奇異) x=a-1 b 矩陣逆兩種解:nx=inv(a)b 采用求逆運算解方程 nx=ab 采用左除運算解方程 方程ax=ba=1 2;2 3;b=8;13;x=inv(a)*b x=ab x = x = 2.00 2.00 3.00 3.00322121xx138 = a x = b例: x1+2x2=8 2x1+3x2=132.超定方程組的解方程 ax=b ,mn時此時不存在唯一解。方程解 (a
14、a)x=a b x=(a a)-1 a b 求逆法 x=ab matlab用最小二乘法找一 個準(zhǔn)確地基本解。 例: x1+2x2=1 2x1+3x2=2 3x1+4x2=3a=1 2;2 3;3 4;b=1;2;3; 解1 x=ab 解2 x=inv(aa) a b x = x = 1.00 1.00 0 0.00 21xx321 =433221 a x = b3.欠定方程組的解 當(dāng)方程數(shù)少于未知量個數(shù)時,即不定情況,有無窮多個解存在。matlab可求出兩個解:n用除法求的解x是具有最多零元素的解n是具有最小長度或范數(shù)的解,這個解是基于偽逆pinv求得的。若方程組有無窮多解若方程組有無窮多解
15、(齊次方程)(齊次方程) 在在Matlab語言中可以由語言中可以由null()直接求出,()直接求出,其調(diào)用格式為:其調(diào)用格式為: Z=null(A) 求解求解A的化的化0矩陣矩陣 Z=null(A,r) 求解求解A的化的化0矩陣的規(guī)范形式矩陣的規(guī)范形式注:注:null()函數(shù)也可用于符號變量描述方程的解析解問題,()函數(shù)也可用于符號變量描述方程的解析解問題,其中其中Z的列數(shù)為的列數(shù)為n-r,而各列構(gòu)成的向量又稱為矩陣,而各列構(gòu)成的向量又稱為矩陣A的基礎(chǔ)解的基礎(chǔ)解系。系。 求解非齊次方程組也是比較簡單的,只要能求出該方程的求解非齊次方程組也是比較簡單的,只要能求出該方程的任意一個特解任意一個特
16、解x0 則原非齊次方程組的解為則原非齊次方程組的解為x=x1+x0。其實,在。其實,在Matlab中求解該方程的一個特解并非難事,用中求解該方程的一個特解并非難事,用 x0=pinv(A)*B 即可求出即可求出 x1+2x2+3x3=1 2x1+3x2+4x3=2a=1 2 3;2 3 4;b=1;2; x=ab x=pinv(a)b x = x = 1.00 0.83 0 0.33 0 -0xx21=a x = b六、微分方程求解n微分方程求解的仿真算法有多種,常用的有Euler(歐拉法)、Runge Kutta(龍 格-庫塔法。nEuler法稱一步法,用于一階微分
17、方程2112121kkyynn00)(),(yxyyxfdtdyn當(dāng)給定仿真步長時:所以 yn+1 = yn + hf (xn,yn) n=0,1,2 y(x0)=y0hyyxxyydtdynnnnnn111nRunge Kutta法龍格-庫塔法:實際上取兩點斜率的平均 斜率來計算的,其精度高于歐拉算法 。龍格-庫塔法:ode23 ode45 2112121kkyynnk1=hf(xn,yn)k2=hf(xn+h,yn+k)例:x+(x2-1)x+x=0為方便令x1=x,x2=x分別對x1,x2求一階導(dǎo)數(shù),整理后寫成一階微分方程組形式 x1=x2 x2=x2(1-x12)-x1建立m文件1.解
18、微分方程建立m文件function xdot=wf(t,x)xdot=zeros(2,1)xdot(1)=x(2)xdot(2)=x(2)*(1-x(1)2)-x(1)給定區(qū)間、初始值;求解微分方程t0=0; tf=20; x0=0 0.25;t,x=ode23(wf, t0, tf, x0)plot(t,x), figure(2),plot(x(:,1),x(:,2)命令格式:T,Y = ODE23(ODEFUN,TSPAN,Y0)建立m文件function dxdt=wf(t,x)dxdt=x(2);x(2)*(1-x(1)2)-x(1);求解微分方程t,x=ode23(wf,0 30,0 0.25);plot(t,x);figure(2)plot(x(:,1),x(:,2)-2.5-2-1.5-1-0.500.511.522.5-3-2-10123051015202530-3-2-10123七、函數(shù)優(yōu)化尋優(yōu)函數(shù):fmin 單變量函數(shù)fmins 多變量函數(shù)constr 有約束條件無約束條件無約束條件例1:f(x)=x2+3x+2在-5 5區(qū)間的最小值f=fmin(x2+3*x+2,-5,5)例2:f(x)=100(x2-x12)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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)學(xué)之眼模板
- 醫(yī)藥生物行業(yè)安全生產(chǎn)工作總結(jié)
- 舞蹈秘境:身心之旅
- 幼兒園環(huán)境教育的研究與實踐計劃
- 《知識產(chǎn)權(quán)法總論》課件
- 舞臺設(shè)計工程師工作總結(jié)
- 2024員工三級安全培訓(xùn)考試題及參考答案【A卷】
- 2023年-2024年項目部安全管理人員安全培訓(xùn)考試題及答案原創(chuàng)題
- 員工因病辭職報告-15篇
- 歷史學(xué)應(yīng)用研究報告
- 2024版國開電大法學(xué)本科《國際經(jīng)濟法》歷年期末考試總題庫
- 2023-年2月山東公務(wù)員錄用考試《申論B》考試真題
- 中國人壽保險培訓(xùn)
- 2024年國家電投五凌電力限公司招聘歷年高頻考題難、易錯點模擬試題(共500題)附帶答案詳解
- 陪診服務(wù)培訓(xùn)課件模板
- 兒童食物過敏的流行病學(xué)調(diào)查與風(fēng)險因素分析
- 云邊有個小賣部詳細(xì)介紹
- 2023南頭古城項目簡介招商手冊
- 鄉(xiāng)鎮(zhèn)權(quán)責(zé)清單
- 職業(yè)院校技能大賽模塊一展廳銷售裁判情境
- 湖北省部分學(xué)校2023-2024學(xué)年高一上學(xué)期期末數(shù)學(xué)試題(解析版)
評論
0/150
提交評論