matlab簡單培訓(xùn)教程_第1頁
matlab簡單培訓(xùn)教程_第2頁
matlab簡單培訓(xùn)教程_第3頁
matlab簡單培訓(xùn)教程_第4頁
matlab簡單培訓(xùn)教程_第5頁
已閱讀5頁,還剩96頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2010年桂林理工大學(xué)數(shù)學(xué)建模競賽暑期培訓(xùn)班

MATLAB編程入門培訓(xùn)課程桂林理工大學(xué)理學(xué)院信息與計(jì)算科學(xué)教研室艾武學(xué)習(xí)方法MATLAB

基礎(chǔ)入門MATLAB簡介MATLAB基本操作MATLAB常用命令

設(shè)計(jì)提高M(jìn)ATLAB數(shù)組運(yùn)算MATLAB矩陣運(yùn)算MATLAB程序設(shè)計(jì)

綜合應(yīng)用MATLAB數(shù)值實(shí)驗(yàn)MATLAB統(tǒng)計(jì)實(shí)驗(yàn)MATLAB優(yōu)化實(shí)驗(yàn)2課程目錄MATLAB簡介1MATLAB語言基礎(chǔ)2MATLAB數(shù)值計(jì)算3MATLAB程序設(shè)計(jì)4MATLAB繪圖531.MATLAB簡介41.MATLAB簡介1.1MATLAB發(fā)展歷史1.2MATLAB應(yīng)用領(lǐng)域1.3MATLAB工具箱1.4MATLAB安裝文件1.5MATLAB操作界面1.6MATLAB文件類型1.7MATLAB常用命令1.8上機(jī)練習(xí)51.MATLAB簡介Matlab——MatrixLaboratoryCleveMolerMatlab——MatrixLaboratory,該語言是美國NewMexico大學(xué)計(jì)算機(jī)系主任CleveMoler在70年代后期首先設(shè)計(jì)的.并于80年代初開發(fā)了第二代專業(yè)版.1984年,CleveMoler和JohnLitter成立了Mathworks公司,并開始把Matlab推向市場.(邁斯沃克公司)http://1.1MATLAB發(fā)展歷史61.MATLAB簡介目前,Matlab

已經(jīng)成為國際上最流行的科學(xué)與工程計(jì)算的軟件工具,它已經(jīng)不僅僅是一個(gè)“矩陣實(shí)驗(yàn)室”了,而成為了一種具有廣泛應(yīng)用前景的全新的計(jì)算機(jī)高級編程語言,有人稱它為“第四代”計(jì)算機(jī)語言。就影響而言,至今仍然沒有一個(gè)別的計(jì)算軟件可與Matlab

匹敵。MathematicaMapleSAS

SPSSEviews

LINGOLINDO在歐美各高等院校,Matlab已經(jīng)成為線性代數(shù)、自動(dòng)控制理論、數(shù)字信號處理、時(shí)間序列分析、動(dòng)態(tài)系統(tǒng)仿真、圖像處理等課程的基本教學(xué)工具,成為大學(xué)生、碩士生以及博士生必須掌握的基本技能。1.2MATLAB應(yīng)用領(lǐng)域71.MATLAB簡介MatlabMainToolboxMatlab主工具箱ControlSystemToolbox控制系統(tǒng)工具箱CommunicationToolbox通訊工具箱FinancialToolbox財(cái)政金融工具箱SystemIdentificationToolbox系統(tǒng)辨識工具箱FuzzyLogicToolbox模糊邏輯工具箱Higher-OrderSpectralAnalysisToolbox高階譜分析工具箱ImageProcessingToolbox圖像處理工具箱LMIControlToolbox線性矩陣不等式工具箱ModelpredictiveControlToolbox模型預(yù)測控制工具箱μ-AnalysisandSynthesisToolboxμ分析工具箱1.3MATLAB工具箱81.MATLAB簡介OptimizationToolbox優(yōu)化工具箱PartialDifferentialToolbox偏微分方程工具箱RobustControlToolbox魯棒控制工具箱SignalProcessingToolbox信號處理工具箱SplineToolbox樣條工具箱StatisticsToolbox統(tǒng)計(jì)工具箱SymbolicMathToolbox符號數(shù)學(xué)工具箱SimulinkToolbox動(dòng)態(tài)仿真工具箱SystemIdentificationToolbox系統(tǒng)辨識工具箱WaveletToolbox小波工具箱1.3MATLAB工具箱91.MATLAB簡介1.4MATLAB安裝文件101.MATLAB簡介1.5MATLAB操作界面 快捷鍵F5運(yùn)行111.MATLAB簡介1.6MATLAB文件類型.mm文件.matdata文件.figfigure文件.mdlmodel文件.cdrstateflow文件.rptreportgenerator文件121.MATLAB簡介help幫助查詢lookfor幫助查詢demo演示文檔clc刪除命令窗口的內(nèi)容(已使用過的命令)clear刪除內(nèi)存中的變量(數(shù)據(jù))clf刪除圖形窗口的內(nèi)容who列出在MATLAB工作空間中已有的變量whos列出駐留變量的同時(shí),還給出維數(shù)及性質(zhì)home光標(biāo)移到命令窗口的左上角↑調(diào)出剛才使用過的命令quit退出MATLABCtrl+C中斷程序運(yùn)行1.7MATLAB常用命令131.MATLAB簡介version顯示matlab版本what列出當(dāng)前目錄下的.m文件和.mat文件which<文件名>顯示某個(gè)文件的路徑loadname下載name文件中的所有變量到工作空間loadnamexy下載name文件中的變量x,y到工作空間savename保存工作空間變量到文件name.mat中savenamexy保存工作空間變量x,y到文件name.mat中size(變量名)顯示當(dāng)前工作空間中變量的尺寸length(變量名)顯示當(dāng)前工作空間中變量的長度pack整理工作空間內(nèi)存vpa(x,n)顯示n位小數(shù)的xdisp顯示矩陣與文本1.7MATLAB常用命令141.MATLAB簡介1.8上機(jī)練習(xí)152.MATLAB語言基礎(chǔ)162.MATLAB語言基礎(chǔ)2.1MATLAB數(shù)據(jù)類型2.2MATLAB數(shù)組運(yùn)算2.3MATLAB向量運(yùn)算2.4MATLAB矩陣運(yùn)算2.5MATLAB字符串運(yùn)算2.6MATLAB關(guān)系運(yùn)算2.7MATLAB邏輯運(yùn)算2.8上機(jī)練習(xí)172.MATLAB語言基礎(chǔ)2.1MATLAB數(shù)據(jù)類型

MATLABMatlab數(shù)據(jù)類型1.數(shù)值型2.字符字符串3.元胞數(shù)組4.架構(gòu)數(shù)組182.MATLAB語言基礎(chǔ)2.1MATLAB數(shù)據(jù)類型 變量Matlab中變量名是以字母開頭,可以由字母、數(shù)字或下劃線組成

Matlab

區(qū)分大小寫,它的命令和函數(shù)全是小寫的

Matlab變量名不超過31個(gè)字符192.MATLAB語言基礎(chǔ)2.1MATLAB數(shù)據(jù)類型 常量ansMatlab中的默認(rèn)變量pi圓周率eps計(jì)算機(jī)中的最小數(shù),浮點(diǎn)運(yùn)算的相對精度inf無窮大,如1/0NaN不定值,如0/0、0*∞i或j復(fù)數(shù)中的虛數(shù)單位realmin最小可用正實(shí)數(shù)realmax最大可用正實(shí)數(shù)202.MATLAB語言基礎(chǔ)2.1MATLAB數(shù)據(jù)類型 數(shù)字顯示格式命令formatshort5位定點(diǎn)表示formatlong15位定點(diǎn)表示formatshorte5位浮點(diǎn)表示formatlonge15位浮點(diǎn)表示formatshortg5位定點(diǎn)和5位浮點(diǎn)中自動(dòng)選擇最好格式表示formatlongg15位定點(diǎn)和15位浮點(diǎn)中自動(dòng)選擇最好格式表示formathex16進(jìn)制格式表示format+在矩陣中,用符號+、-和空格表示正號、負(fù)號和零212.MATLAB語言基礎(chǔ)2.2MATLAB數(shù)組運(yùn)算 表達(dá)式Matlab中的表達(dá)式由運(yùn)算符、函數(shù)、變量名和數(shù)字組成Matlab

語句由變量和表達(dá)式組成,有兩種常見形式:形式1:表達(dá)式形式2:變量=表達(dá)式若不想顯示形式1或2的運(yùn)算結(jié)果,可在表達(dá)式后加分號“;”222.MATLAB語言基礎(chǔ)2.2MATLAB數(shù)組運(yùn)算 運(yùn)算符+加法-減法*乘法.*點(diǎn)乘/除法./點(diǎn)除^乘冪.^點(diǎn)乘冪\左除.\點(diǎn)左除232.MATLAB語言基礎(chǔ)2.2MATLAB數(shù)組運(yùn)算 數(shù)組的構(gòu)造x=[01357910]x=[0,1,3,5,7,9,10]x=01357910手動(dòng)法 數(shù)組用中括號,以空格或逗號為間隔輸入元素242.MATLAB語言基礎(chǔ)2.2MATLAB數(shù)組運(yùn)算 數(shù)組的構(gòu)造x=[0:0.5:2]x=00.50001.00001.50002.0000冒號法 a:步長:ba:b

(默認(rèn)步長=1)y=[0:5]y=01.00002.00003.00004.00005.0000252.MATLAB語言基礎(chǔ)2.2MATLAB數(shù)組運(yùn)算 數(shù)組的構(gòu)造x=linspace(0,pi,12)x=00.28560.57120.85681.14241.42801.71361.99922.28482.57042.85603.1416函數(shù)法 linspace(a,b,n)從a開始,到b結(jié)束,包含n個(gè)數(shù)據(jù)元素的數(shù)組[a:(b-a)/(n-1):b]262.MATLAB語言基礎(chǔ)2.2MATLAB數(shù)組運(yùn)算 數(shù)組的引用x=[12345]x(1:3)ans= 1

2 3x(n)表示數(shù)組中的第n個(gè)元素

x(n1:n2)表示數(shù)組中的第n1到n2個(gè)元素272.MATLAB語言基礎(chǔ)2.2MATLAB數(shù)組運(yùn)算 矩陣數(shù)組A=[2,4,6,8;1357;0000;1,0,1,0]以空格或逗號分隔,指定不同的列以分號或回車分隔,指定不同的行282.MATLAB語言基礎(chǔ)2.2MATLAB數(shù)組運(yùn)算 四則運(yùn)算數(shù)組與標(biāo)量間的四則運(yùn)算x=[134;2,6,5;32,4]a=2*x-2a=0462108426292.MATLAB語言基礎(chǔ)2.2MATLAB數(shù)組運(yùn)算 四則運(yùn)算數(shù)組間的四則運(yùn)算,必須具有相同的維數(shù),對應(yīng)元素進(jìn)行運(yùn)算+-.*./.\a=[134;2,6,5;32,4]b=[231;412;453]c=365677777c=a+b302.MATLAB語言基礎(chǔ)2.2MATLAB數(shù)組運(yùn)算 四則運(yùn)算a=[134;2,6,5;32,4]b=[231;412;453]c=2948610121012c=a.*bd=a./bd=0.50001.00004.00000.50006.00002.50000.75000.40001.3333a./b=b.\a312.MATLAB語言基礎(chǔ)2.2MATLAB數(shù)組運(yùn)算 冪運(yùn)算數(shù)組的冪運(yùn)算.^a=[134;2,6,5;32,4]c=a.^2c=1916436259416d=192935295258192938d=a^2322.MATLAB語言基礎(chǔ)2.2MATLAB數(shù)組運(yùn)算 冪運(yùn)算a=[134;2,6,5;32,4]b=[231;412;453]c=127416625813264c=a.^b332.MATLAB語言基礎(chǔ)2.3MATLAB向量運(yùn)算 點(diǎn)積c=dot(a,b) c=a·b,相當(dāng)于a*b’(a與b都是行向量)a=[24531]b=[38101213]c=137c=dot(a,b)342.MATLAB語言基礎(chǔ)2.3MATLAB向量運(yùn)算 叉積c=cross(a,b) c=a×b,a與b必須是3維向量a=[245]b=[3810]c=0 -5 4c=cross(a,b)352.MATLAB語言基礎(chǔ)2.3MATLAB向量運(yùn)算 混合積由dot和cross兩個(gè)函數(shù)共同完成 abc=(a×b)·ca=[245]b=[3810]c=0 -5 4c=[0-54]d=dot(a,cross(b,c))362.MATLAB語言基礎(chǔ)2.3MATLAB向量運(yùn)算 向量函數(shù)max求最大值min求最小值sum求和length求長度mean求平均值median求中間值prod乘積sort從小到大排序372.MATLAB語言基礎(chǔ)2.4MATLAB矩陣運(yùn)算 特殊矩陣[]生成空矩陣eye(n,m)生成n×m單位矩陣ones(n,m)生成全部元素是1的矩陣zeros(n,m)生成全部元素是0的矩陣magic(n)生成魔方矩陣rand(n,m)生成0~1之間均勻分布的隨機(jī)矩陣randn(n,m)生成均值為0,方差為1的標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)矩陣compan(a)生產(chǎn)矩陣a的伴隨矩陣382.MATLAB語言基礎(chǔ)2.4MATLAB矩陣運(yùn)算 矩陣加法矩陣的四則運(yùn)算A=[12;35;26]B=[24;18;90]C=36413116C=A+B392.MATLAB語言基礎(chǔ)2.4MATLAB矩陣運(yùn)算 矩陣乘法矩陣的四則運(yùn)算A=[12;35;26]B=[241;890]D=182214657352622D=A*B402.MATLAB語言基礎(chǔ)2.4MATLAB矩陣運(yùn)算 矩陣除法在Matlab中矩陣的除法分左除“\”和右除“/”

X=A\B給出線性方程組AX=B的一個(gè)解

X=B/A給出線性方程組XA=B的一個(gè)解A\BB/Asym(A\B,'r')=

5/719/7-8/7-1-6/744/7754/7sym(B/A,'r')=

-2/78/713/7

1/717/725/7

4/726/737/7A=B=412.MATLAB語言基礎(chǔ)2.4MATLAB矩陣運(yùn)算 矩陣乘冪矩陣的冪運(yùn)算^A=[213420;782021;173431]C=A^2C=343320741754355537662631353623122015422.MATLAB語言基礎(chǔ)2.4MATLAB矩陣運(yùn)算 矩陣轉(zhuǎn)置、逆、行列式矩陣的轉(zhuǎn)置、逆運(yùn)算及行列式運(yùn)算A=[120;25-1;410-1]C=A’C=12425100-1-1D=inv(A)e=det(A)D=52-2-2-110-21e=1432.MATLAB語言基礎(chǔ)2.5MATLAB字符串運(yùn)算 常用字符串函數(shù)size查看字符數(shù)組維數(shù)char把數(shù)字轉(zhuǎn)換為字符串strcmp比較字符串strcat字符串連接upper轉(zhuǎn)換為大寫lower轉(zhuǎn)換為小寫findstr在字符串中找字符串strjust對齊字符數(shù)組strmatch查找匹配字符串deblank刪除字符串中的空格442.MATLAB語言基礎(chǔ)2.6MATLAB關(guān)系運(yùn)算關(guān)系操作符<小于<=小于等于>大于>=大于等于==等于~=不等于運(yùn)算法則:若關(guān)系式成立,結(jié)果為1;若關(guān)系式不成立,結(jié)果為0。A=[14357]B=[26907]A==Bans=00001452.MATLAB語言基礎(chǔ)2.7MATLAB邏輯運(yùn)算邏輯操作符&與|或~非運(yùn)算法則:若邏輯真,結(jié)果為1;若邏輯假,結(jié)果為0。a=1:2:11b=2:7(a<2)|(b>6)ans=10000146一、數(shù)學(xué)運(yùn)算符其功能主要是進(jìn)行各種數(shù)學(xué)運(yùn)算,按其優(yōu)先級別依次為:1.轉(zhuǎn)置(.’)、共軛轉(zhuǎn)置(’)、冪次(.^)、矩陣冪次(^)2.正、負(fù)號(+/-)3.乘法(.*)、矩陣乘法(*)、元素左右除(.\,/.)、矩陣左右除(\,/)4.加減法(+,-)5.冒號(:)先后賦值,如:x=1:2:547幾點(diǎn)說明:在同一優(yōu)先級中,運(yùn)算自左至右完成,所以若對運(yùn)算順序不確定時(shí),最好以“()”實(shí)現(xiàn)強(qiáng)制運(yùn)算順序。

Matlab的數(shù)學(xué)運(yùn)算有時(shí)支持標(biāo)量、矩陣混合運(yùn)算,此時(shí)即將標(biāo)量展開為適當(dāng)矩陣(ScalarExpansion)

(舉例)左除、右除的區(qū)別:對于矩陣,右除如A/B,相當(dāng)于X*B=A的解矩陣;左除如A\B,相當(dāng)于A*X=B的解矩陣.對于元素,右除(./)和左除(.\)也不相同482.MATLAB語言基礎(chǔ)2.8上機(jī)練習(xí)493.MATLAB數(shù)值計(jì)算503.MATLAB數(shù)值計(jì)算3.1多項(xiàng)式運(yùn)算3.2多項(xiàng)式插值3.3多項(xiàng)式擬合3.4上機(jī)練習(xí)513.MATLAB數(shù)值計(jì)算3.1多項(xiàng)式 構(gòu)造p=[250414]poly2sym(p)ans=2*x^5+5*x^4+4*x^2+x+4poly2sym(p) p=[a0,a1,…,an],多項(xiàng)式降冪排列系數(shù)數(shù)組523.MATLAB數(shù)值計(jì)算3.1多項(xiàng)式 四則運(yùn)算p1=[250414]; p2=[005132];

p=p1+p2ans=2*x^5+5*x^4+5*x^3+5*x^2+4*x+6+、-、conv(p1,p2)、deconv(p1,p2) 加減要補(bǔ)零,相同長度poly2sym(p)533.MATLAB數(shù)值計(jì)算3.1多項(xiàng)式 四則運(yùn)算p1=[250414]; p2=[005132];

p=conv(p1,p2)ans=

10*x^8+27*x^7+11*x^6+39*x^5+19*x^4+33*x^3+15*x^2

+14*x+8+、-、conv(p1,p2)、deconv(p1,p2)poly2sym(p)543.MATLAB數(shù)值計(jì)算3.1多項(xiàng)式 四則運(yùn)算p1=[250414]; p2=[005132];

[p,r]=deconv(p1,p2)p=0.4000 0.9200 -0.4240r=0000.86400.43204.8480

+、-、conv(p1,p2)、deconv(p1,p2)553.MATLAB數(shù)值計(jì)算3.1多項(xiàng)式 求導(dǎo)運(yùn)算p1=[250414]h=polyder(p1)polyder(p)poly2sym(h)ans=10*x^4+20*x^3+8*x+1563.MATLAB數(shù)值計(jì)算3.1多項(xiàng)式 求值運(yùn)算p1=[250414]h=polyval(p1,[3,4])polyval(p,s)數(shù)組規(guī)則 polyvalm(p,s)矩陣規(guī)則k=polyvalm(p1,[3,4;4,6])h=934 3400k=43414 62640

62640 90394573.MATLAB數(shù)值計(jì)算3.1多項(xiàng)式 求根運(yùn)算p1=[256418]h=roots(p1)roots(p)h=

-1.7640-0.8679+1.3394i-0.8679-1.3394i0.5000+0.8001i0.5000-0.8001i583.MATLAB數(shù)值計(jì)算3.1多項(xiàng)式 多項(xiàng)式函數(shù)conv多項(xiàng)式乘法polyfit多項(xiàng)式擬合deconv多項(xiàng)式除法法polyval多項(xiàng)式求值poly求矩陣的特征多項(xiàng)式polyvalm多項(xiàng)式矩陣求值polyder多項(xiàng)式求導(dǎo)residue部分分式展開polyeig多項(xiàng)式求特征值roots求多項(xiàng)式的根593.MATLAB數(shù)值計(jì)算3.2多項(xiàng)式插值interp1(x,y,x1,’method’)nearest最近插值linear線性插值spline三次樣條插值cubic三次插值x=4:15;y=[589152529313022252724];x=4:0.5:15;yn=interp1(x,y,x1,’nearest’);yl=interp1(x,y,x1,linear’);ys=interp1(x,y,x1,’spline’);yc=interp1(x,y,x1,’cubic’);plot(x,y,’o’,x1,yn,’-’);plot(x,y,’o’,x1,yl,’-’);plot(x,y,’o’,x1,ys,’-’);plot(x,y,’o’,x1,yc,’-’);603.MATLAB數(shù)值計(jì)算3.3多項(xiàng)式擬合x=linspace(x,y,n);

y=cos(x);

p=polyfit(x,y,6);

y1=polyval(p,x);polyfit(x,y,n)plot(x,y,’or’,x,y1,’-b’);

613.MATLAB數(shù)值計(jì)算3.4上機(jī)練習(xí)624.MATLAB程序設(shè)計(jì)634.MATLAB程序設(shè)計(jì)4.1M文件4.2數(shù)據(jù)的輸入輸出4.3程序結(jié)構(gòu)控制4.4上機(jī)練習(xí)644.MATLAB程序設(shè)計(jì)4.1M文件 局部變量與全局變量globalABC

無論在腳本文件還是在函數(shù)文件中,都會定義一些變量。函數(shù)文件所定義的變量是局部變量,這些變量獨(dú)立于其他函數(shù)的局部變量和工作空間的變量,即只能在該函數(shù)的工作空間引用,而不能在其他函數(shù)工作空間和命令工作空間引用。但是如果某些變量被定義成全局變量,就可以在整個(gè)MATLAB工作空間進(jìn)行存取和修改,以實(shí)現(xiàn)共享。因此,定義全局變量是函數(shù)間傳遞信息的一種手段。654.MATLAB程序設(shè)計(jì)4.1M文件 M文件的編輯664.MATLAB程序設(shè)計(jì)4.1M文件 腳本文件x=linspace(x,y,n);

y=cos(x);

p=polyfit(x,y,6);

y1=polyval(p,x);一些命令的集合plot(x,y,’or’,x,y1,’-b’);

674.MATLAB程序設(shè)計(jì)4.1M文件 函數(shù)文件functiony=hanshu(x)

y=sin(x)+cos(x);function開頭,編制一個(gè)函數(shù)文件,輸入什么,輸出什么[輸出參數(shù)表]=函數(shù)名(輸入?yún)?shù)表)684.MATLAB程序設(shè)計(jì)4.1M文件 常用數(shù)學(xué)函數(shù)sin(x)

正弦asin(x)

反正弦cos(x)

余弦acos(x)

反余弦tan(x)

正切atan(x)

反正切cot(x)余切acot(x)反余切abs(x)絕對值max(x)最大值min(x)最小值sum(x)求和sqrt(x)開平方exp(x)以e為底的指數(shù)log(x)自然對數(shù)log10(x)以10為底的對數(shù)sign(x)符號函數(shù)fix(x)取整694.MATLAB程序設(shè)計(jì)4.2數(shù)據(jù)輸入與輸出 鍵盤輸入屏幕輸出

x=input(‘請輸入數(shù)據(jù)’);disp(x);

input disp

704.MATLAB程序設(shè)計(jì)4.2數(shù)據(jù)輸入與輸出 M數(shù)據(jù)文件存儲\加載 save 存儲save將所有工作空間變量存儲在名為MATLAB.mat的文件中savefilename將所有工作空間變量存儲在名為filename.mat的文件中savefilenameXYZ將工作空間的指定變量X、Y、Z存儲在名為filename.mat的文件中714.MATLAB程序設(shè)計(jì)4.2數(shù)據(jù)輸入與輸出 M數(shù)據(jù)文件存儲\加載 load 加載load加載名為MATLAB.mat的文件中的所有變量到工作空間loadfilename加載名為filename.mat的文件中的所有變量到工作空間loadfilenameXYZ加載名為filename.mat的文件中的X、Y、Z變量到工作空間724.MATLAB程序設(shè)計(jì)4.2數(shù)據(jù)輸入與輸出 外部文件導(dǎo)入 [filename,pathname]=uigetfile('*.xls');

%尋找源文件

file=[pathnamefilename];

%賦名

x=xlsread(file);

%格式轉(zhuǎn)換為矩陣之后就用x來代表導(dǎo)入的這個(gè)矩陣。如excel里輸入了123

456如下命令x(1,:)ans=

1

2

3.xls EXCEL文件數(shù)據(jù)導(dǎo)入734.MATLAB程序設(shè)計(jì)4.2數(shù)據(jù)輸入與輸出 外部文件導(dǎo)入 [a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)

說明:%s可以是其他形式,跟讀入的數(shù)據(jù)類型有關(guān),比如這里也可以用%n,%f等。

這里%s的個(gè)數(shù)和[a1,a2,a3,a4]對應(yīng)。

.txt 記事本文件數(shù)據(jù)導(dǎo)入744.MATLAB程序設(shè)計(jì)4.2數(shù)據(jù)輸入與輸出 外部文件導(dǎo)入 file->importdata 按照提示進(jìn)行.xls.txt754.MATLAB程序設(shè)計(jì)4.3程序結(jié)構(gòu)控制 for循環(huán)for 循環(huán)控制命令格式:fori=n1:(step):n2 commands;end

作用:重復(fù)執(zhí)行命令集commands.循環(huán)控制命令(for命令)764.MATLAB程序設(shè)計(jì)4.3程序結(jié)構(gòu)控制 for循環(huán)例1:求和:s=1+2+…+n

n=input('請輸入n='); s=0;fori=1:n s=s+i;

fprintf('i=%.0f,s=%.0f\n',i,s);end例2:求奇數(shù)和:s=1+3+5+…+(2k-1)

n=input('請輸入n='); s=0;fori=1:2:n s=s+i;

fprintf('i=%.0f,s=%.0f\n',i,s);end774.MATLAB程序設(shè)計(jì)4.3程序結(jié)構(gòu)控制 for循環(huán)例3:求階乘:p=1×2×3×…×n=n!

n=input('請輸入n='); p=1;fori=1:np=p*i;

fprintf('i=%.0f,p=%.0f\n',i,p);end例4:求e:e=1+1+1/2!+1/3!+…+1/n!

n=input('請輸入n='); p=1;e=1;fori=1:n p=p*i;p1=1/p;e=e+p1;

fprintf('i=%.0f,p=%.0f,e=%.8f\n',i,p,e);end784.MATLAB程序設(shè)計(jì)4.3程序結(jié)構(gòu)控制 for循環(huán)例5:求pi:pi/4=1-1/3+1/5-1/7+1/9-1/11+…

n=input('請輸入n='); pi=0;k=-1;fori=1:2:n k=(-1)*k;pi=pi+k*1/i;

fprintf('i=%.0f,pi=%.8f\n',i,4*pi);end794.MATLAB程序設(shè)計(jì)4.3程序結(jié)構(gòu)控制 while循環(huán)while 條件循環(huán)命令條件循環(huán)命令(while命令)格式:while(conditionistrue) commands;end

作用:重復(fù)執(zhí)行命令集commands.804.MATLAB程序設(shè)計(jì)4.3程序結(jié)構(gòu)控制 while循環(huán)例6:求和:s=1+2+…+n<3000

s=0;k=1;whiles<3000 s=s+k;

fprintf('k=%.0f,s=%.0f\n',k,s);k=k+1;end例7:求e:e=1+1+1/2!+1/3!+…(1/n!<1.0e-8)

p=1;e=1;r=1;i=1;whiler>=1.0e-8 p=p*i;r=1/p;e=e+r;

fprintf('i=%.0f,r=%.9f,e=%.9f\n',i,r,e);i=i+1;end814.MATLAB程序設(shè)計(jì)4.3程序結(jié)構(gòu)控制 if控制if 選擇控制命令單項(xiàng)選擇控制格式:if(conditionistrue) commands;end

作用:若條件成立,則執(zhí)行命令集commands.

否則,不執(zhí)行。824.MATLAB程序設(shè)計(jì)4.3程序結(jié)構(gòu)控制 if控制例8:求n個(gè)實(shí)數(shù)中最大的數(shù)M

a=input('請輸入數(shù)組a[n]=');[m,n]=size(a);M=a(1); fori=2:n ifM<a(i)M=a(i);end

fprintf('M=%.5f,a(%.0f)=%.5f\n',M,i,a(i));end834.MATLAB程序設(shè)計(jì)4.3程序結(jié)構(gòu)控制 if控制if 選擇控制命令多項(xiàng)選擇控制格式:if(conditionistrue)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論