Matlab初步教程教學(xué)教材_第1頁
Matlab初步教程教學(xué)教材_第2頁
Matlab初步教程教學(xué)教材_第3頁
Matlab初步教程教學(xué)教材_第4頁
Matlab初步教程教學(xué)教材_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第一章Matlab6.5概述

Matlab名字的產(chǎn)生應(yīng)該追溯到兩個美文單詞:Matrix和Laboratory。20世紀70年代后期,美國新墨西哥大學(xué)計算機主任CleveMoler教授為了便于教學(xué),為Linpack和Eispack兩個軟件包編寫了接口程序,從而為學(xué)生編寫FORTRAN程序減輕負擔(dān),此即MATLAB的萌芽。1984年,成立MATHWORKS公司,并把MATLAB正式推向市場。MATHEMATICAMATHCADMatlab6.5概述

在當(dāng)前30多個教學(xué)類科技應(yīng)用軟件中,就數(shù)學(xué)處理功能而言,可分為兩個大類:1)數(shù)值計算型軟件:如MATLAB、XMATH、GAUSS等2)數(shù)學(xué)分析型軟件:MATHEMATICA、MAPLE

Matlab6.5概述該軟件的缺點:由于Matlab的程序不用編譯等預(yù)處理,也不生成可執(zhí)行文件。程序?qū)儆诮忉寛?zhí)行,所以程序的執(zhí)行速度較慢,另外由于該軟件運行過程中對賦值后的變量未作處理前,變量常駐內(nèi)存,因而程序運行到一定程度會消耗很大的內(nèi)存空間。在圖形界面編程能力方向該軟件和VisualC++和VisualBasic等可視化編程軟件相比功能相對較差。第二章Matlab6.5初步知識2.1Matlab的啟動1>點擊桌面上的Matlab6.5快捷圖標(biāo)2>通過打開開始菜單的程序選項選擇Matlab6.5的程序選項3>在Matlab6.5\bin\win32文件類中的Matlab.exe.建議優(yōu)先采用方法一。

Matlab6.5初步知識2.2Desktop工具界面簡介

默認情況下,Matlab6.5工作界面包括6個窗口:主窗口、命令窗口、命令歷史記錄窗口、當(dāng)前目錄窗口、工作空間窗口和發(fā)行說明窗口。該界面的上層鋪放著3個最常用的界面:指令窗(命令窗口Commandwindow)歷史指令窗(commandHistory),工作空間瀏覽器(WorkspaceBrowser)。還有一個當(dāng)前目錄窗口(currentDirectory)鋪放在桌面下層。

Matlab6.5初步知識1、commandwindow2、commandhistory3、currentdirectory4、workspacebrowser和arrayeditor5、lunchpad6、editor/debugger7、HelpNavigator/BrowserMatlab6.5初步知識2.2.2CommandWindow入門1、簡介2、計算器功能3、數(shù)值、變量、表達式(與其它語言類似,特別留意復(fù)數(shù)表示,自學(xué))4、數(shù)值計算結(jié)果的顯示格式5、指令行的標(biāo)點符號(,。;:%‘’()[]{}_...@)Matlab6.5初步知識2.2.4其它操作界面CommandHistory,Currentdirectory,WorkspaceBrowser,ArrayEditor,LaunchPad,Editor/Debugger和教本編寫初步Matlab6.5初步知識2.3Matlab6.5的幫助系統(tǒng)1、純文本幫助(helphelp)2、導(dǎo)航/瀏覽器交互界面幫助(navigator)3、PDF幫助(documentation)Matlab6.5初步知識2.4引導(dǎo)【例2.1-1】繪制函數(shù)在時的曲線。x=0:0.1:1 y=x.*exp(-x) plot(x,y,xlabel('x'),ylabel('y'),title('y=x*exp(-x)')

Matlab6.5初步知識2.5一維數(shù)組的創(chuàng)建和尋訪1)逐個元素輸入法x=[2345]2)冒號生成法x=[1:1:10]3)定數(shù)線性采樣法x=linspace(a,b,n)4)定數(shù)對數(shù)采樣法x=logspace(a,b,n)Matlab6.5初步知識2.6二維數(shù)組的創(chuàng)建和標(biāo)識1)直接輸入法a=[123;456;789]2)利用M文件創(chuàng)建和保存數(shù)組%MyMatrix.mCreationandpreservationofmatrixAMAM=[101,102,103,104,105,106,107,108,109;...201,202,203,204,205,206,207,208,209;... 301,302,303,304,305,306,307,308,309];3)“全下標(biāo)”標(biāo)識a(1,2)=2a(m,n)表示第m行第n列的元素Matlab6.5初步知識2.7執(zhí)行數(shù)組運算的常用函數(shù)(p46)2.8數(shù)組運算和矩陣運算(p48)自學(xué)第三章Matlab6.5程序設(shè)計語言

用Matlab編程語言編寫的可以在Matlab工作空間中運行的程序,稱為M文件。

M文件根據(jù)調(diào)用方式的不同分為兩類:命令文件和函數(shù)文件。Matlab6.5程序設(shè)計語言例如:用Matlab語言來定義一個函數(shù),

并計算x=1時,y的值。1)采用命令文件直接計算函數(shù)值建立文件f.mX=1;Y=x^2–2*x+3

Matlab6.5程序設(shè)計語言2)采用函數(shù)文件定義函數(shù)f(x)a.建立函數(shù)文件f.mfunctiony=f(x)y=x^2–2*x+3b.在命令窗口鍵入》x=1;》y=f(x)Matlab6.5程序設(shè)計語言兩者的區(qū)別:

命令文件不需要輸入?yún)?shù),也不返回輸出參數(shù),它是命令的疊加。命令文件對空間中的變量進行操作。

函數(shù)文件通常包含輸入?yún)?shù),也可以返回輸出參數(shù),它還能解決參數(shù)傳遞和出數(shù)調(diào)用的問題,第一句必須以function的引導(dǎo)。函數(shù)文件的變量為局域變量Matlab6.5程序設(shè)計語言函數(shù)文件的格式:function[a,b,c]=funexm(x,y,z)

輸出參數(shù)函數(shù)名輸入?yún)?shù)(若沒有輸出參數(shù)時,輸出參數(shù)為空,或用空的中括號表示)functionfunexm(x)function[]=funexm(x)*注意:不識別漢字文件名第四章數(shù)值計算一、插值和樣條Matlab6.5提供的插值指令有6條,這里只介紹一維插值。命令:Method具體取名有:linear:線性插值,作為缺省設(shè)置cubic:三次多項式插值spline:三次樣條插值nearst:最近鄰插值(同最近鄰點的值相等)x,y—已知的基準(zhǔn)數(shù)據(jù)x1—待插值點Method—插值方法

例1:p62例題5(p62exp5.m)已知丙苯粘度隨溫度變化的四點數(shù)據(jù)T404555750.680.640.560.45求70度的粘度。x=[40455575];y=[0.680.640.560.45];x1=70y1=interp1(x,y,x1,’cubic’)plot(x,y,'b',x,y,'o',x1,y1,'*')第四章數(shù)值計算二、多項式擬合和非線性最小二乘法1、多項式的表示:例如:>>p=[1-568]>>poly2sym(p)%(將多項式向量表示為符號表達式形式)第四章數(shù)值計算2、多項式的值>>p=[12345];>>b=[22;33]>>polyval(p,b)%(對每個元素進行計算,把x=2,2,3,3分別代入計算)>>polyvalm(p,b)%(按矩陣計算,把x=b矩陣代入計算)第四章數(shù)值計算3、多項式的擬合(exp3.m)例如:x=[123456];y=[149162435];p=polyfit(x,y,2)x1=1:0.1:6;y1=polyval(p,x1);plot(x,y,’*’,x1,y1,’r’)第四章數(shù)值計算4、非線性參數(shù)擬合(非線性最小二乘估計)有兩種方法:fminsearch,lsqnonlin(marquadst麥夸托算法)1)假設(shè)被估參數(shù)不太多(比如,不超過5,6個),且對最小值點有較好的初試估計,fminsearch是優(yōu)先推薦使用的Matlab指令)

第四章數(shù)值計算例如:x=[0:0.2:4]’;y=[15.1359.01625.92494.1153.22352.57872.10121.70521.75001.48151.40261.34241.28081.13470.88330.87610.96520.89530.68400.77430.4731];a0=[1111]options=optimset(‘fminsearch’)a=fminsearch(‘exps’,a0,options,x,y)functionE=exps(a,x,y)Y=a(1)*exp(-a(3)*x)+a(2)*exp(-a(4)*x)E=sum((y-Y).^2);

X的列表數(shù)據(jù)y的列表數(shù)據(jù)第四章數(shù)值計算2)Marquadst算法相關(guān)指令:functionE=lsqnonlinfun(a,x,y)Y=a(1)*exp(-a(3)*x)+a(2)*exp(-a(4)*x)E=Y-y;x=[0:0.2:4]’y0=3*exp(-0.4*x)+12*exp(-3.2*x)y=y0+0.3*(rand(size(x))-0.5)a0=[1100.21]options=optimset(‘lsqnonlin’)a=lsqnonlin(‘lsqnonlinfun’,a0,[],[],options,x,y)第四章數(shù)值計算三、LU分解和恰定方程組的解1、LU分解LU=PA(可理解為按列選主元)

[L,U,P]=lu(A)

P為倒置推導(dǎo),為了保證主元消去策略的實施,一般說來,必須對被分解矩陣實施行置換。P含有行轉(zhuǎn)置信息。當(dāng)[L,U]=lu(a),L、U一般不是上三角和下三角矩陣當(dāng)[L,U,P]=lu(a),L、U為三角矩陣2、AX=b恰定方程組的解X=A\b第四章數(shù)值計算四、函數(shù)的零點1、多項式的根對于的多項式

>>p=>>roots(p)第四章數(shù)值計算2、一元函數(shù)的零點(非線性方程的根)1)利用作圖指令獲取初步近似植。2)求一元函數(shù)零點的精確指令

Z=fzero(fun,x0)完整指令:[z,f_z,exitflag,output]=fzero(fun,x0,option,p1,p2,…)*注意:fzero只能求取一元連續(xù)函數(shù)穿越橫軸的零點,不會確定與x軸接觸而不穿越的零點,如sinx=0,(x-1)^2=0第四章數(shù)值計算例1:求以t為自變量的f(t)=0的根functiony=fzeroexp(t,a,b)y=sin(t)^2*exp(-a*t)-b*abs(t);a=0.1;b=0.5;t=-10:0.01:10;y=fzeroexp(t,a,b)plot(t,y,’r’);holdonplot(t,zeros(size(t)),‘k’,xlabel(‘t’);ylabel(‘y(t)’);holdoffzoomon[tt,yy]=ginput(5);zoomoff[t4,y4,exitflag]=fzero(@fzeroexp,tt(4),[],a,b)例2:教材P109例8。D=0:0.02:0.5y=fp109exp8(D)plot(D,y,'r')holdonplot(D,zeros(size(D)),'k')[tt,yy]=ginput(1);D=fzero(@fp109exp8,tt)functiony=f(D)y=8820*D.^5-2.31*D-0.6465;第四章數(shù)值計算3、多元函數(shù)的零點(非線性方程組求根)

有了初始零點后,求零點的精確解,可以借助fsolve進行,指令格式如下:

x=fsolve(fun,x0)

[x,fval,exitflag,output,Jacob]=fsolve(fun,x0,options,p1,p2,…)第四章數(shù)值計算例:解二元方程組的零點f1(x,y)=sin(x-y)=0f2(x,y)=cos(x+y)=0functiony=fsolveexp(x)y(1)=sin(x(1)-x(2));y(2)=cos(x(1)+x(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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論