




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2010年桂林理工大學(xué)數(shù)學(xué)建模競(jìng)賽暑期培訓(xùn)班
MATLAB編程入門培訓(xùn)課程桂林理工大學(xué)理學(xué)院信息與計(jì)算科學(xué)教研室艾武學(xué)習(xí)方法MATLAB
基礎(chǔ)入門MATLAB簡(jiǎn)介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簡(jiǎn)介1MATLAB語言基礎(chǔ)2MATLAB數(shù)值計(jì)算3MATLAB程序設(shè)計(jì)4MATLAB繪圖531.MATLAB簡(jiǎn)介41.MATLAB簡(jiǎn)介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簡(jiǎn)介Matlab——MatrixLaboratoryCleveMolerMatlab——MatrixLaboratory,該語言是美國(guó)NewMexico大學(xué)計(jì)算機(jī)系主任CleveMoler在70年代后期首先設(shè)計(jì)的.并于80年代初開發(fā)了第二代專業(yè)版.1984年,CleveMoler和JohnLitter成立了Mathworks公司,并開始把Matlab推向市場(chǎng).(邁斯沃克公司)http://1.1MATLAB發(fā)展歷史61.MATLAB簡(jiǎn)介目前,Matlab
已經(jīng)成為國(guó)際上最流行的科學(xué)與工程計(jì)算的軟件工具,它已經(jīng)不僅僅是一個(gè)“矩陣實(shí)驗(yàn)室”了,而成為了一種具有廣泛應(yīng)用前景的全新的計(jì)算機(jī)高級(jí)編程語言,有人稱它為“第四代”計(jì)算機(jī)語言。就影響而言,至今仍然沒有一個(gè)別的計(jì)算軟件可與Matlab
匹敵。MathematicaMapleSAS
SPSSEviews
LINGOLINDO在歐美各高等院校,Matlab已經(jīng)成為線性代數(shù)、自動(dòng)控制理論、數(shù)字信號(hào)處理、時(shí)間序列分析、動(dòng)態(tài)系統(tǒng)仿真、圖像處理等課程的基本教學(xué)工具,成為大學(xué)生、碩士生以及博士生必須掌握的基本技能。1.2MATLAB應(yīng)用領(lǐng)域71.MATLAB簡(jiǎn)介MatlabMainToolboxMatlab主工具箱ControlSystemToolbox控制系統(tǒng)工具箱CommunicationToolbox通訊工具箱FinancialToolbox財(cái)政金融工具箱SystemIdentificationToolbox系統(tǒng)辨識(shí)工具箱FuzzyLogicToolbox模糊邏輯工具箱Higher-OrderSpectralAnalysisToolbox高階譜分析工具箱ImageProcessingToolbox圖像處理工具箱LMIControlToolbox線性矩陣不等式工具箱ModelpredictiveControlToolbox模型預(yù)測(cè)控制工具箱μ-AnalysisandSynthesisToolboxμ分析工具箱1.3MATLAB工具箱81.MATLAB簡(jiǎn)介OptimizationToolbox優(yōu)化工具箱PartialDifferentialToolbox偏微分方程工具箱RobustControlToolbox魯棒控制工具箱SignalProcessingToolbox信號(hào)處理工具箱SplineToolbox樣條工具箱StatisticsToolbox統(tǒng)計(jì)工具箱SymbolicMathToolbox符號(hào)數(shù)學(xué)工具箱SimulinkToolbox動(dòng)態(tài)仿真工具箱SystemIdentificationToolbox系統(tǒng)辨識(shí)工具箱WaveletToolbox小波工具箱1.3MATLAB工具箱91.MATLAB簡(jiǎn)介1.4MATLAB安裝文件101.MATLAB簡(jiǎn)介1.5MATLAB操作界面 快捷鍵F5運(yùn)行111.MATLAB簡(jiǎn)介1.6MATLAB文件類型.mm文件.matdata文件.figfigure文件.mdlmodel文件.cdrstateflow文件.rptreportgenerator文件121.MATLAB簡(jiǎn)介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簡(jiǎn)介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)前工作空間中變量的長(zhǎng)度pack整理工作空間內(nèi)存vpa(x,n)顯示n位小數(shù)的xdisp顯示矩陣與文本1.7MATLAB常用命令141.MATLAB簡(jiǎn)介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)算的相對(duì)精度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+在矩陣中,用符號(hào)+、-和空格表示正號(hào)、負(fù)號(hào)和零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á)式后加分號(hào)“;”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ù)組用中括號(hào),以空格或逗號(hào)為間隔輸入元素242.MATLAB語言基礎(chǔ)2.2MATLAB數(shù)組運(yùn)算 數(shù)組的構(gòu)造x=[0:0.5:2]x=00.50001.00001.50002.0000冒號(hào)法 a:步長(zhǎng):ba:b
(默認(rèn)步長(zhǎng)=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]以空格或逗號(hào)分隔,指定不同的列以分號(hào)或回車分隔,指定不同的行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ù),對(duì)應(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求長(zhǎng)度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對(duì)齊字符數(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)先級(jí)別依次為:1.轉(zhuǎn)置(.’)、共軛轉(zhuǎn)置(’)、冪次(.^)、矩陣冪次(^)2.正、負(fù)號(hào)(+/-)3.乘法(.*)、矩陣乘法(*)、元素左右除(.\,/.)、矩陣左右除(\,/)4.加減法(+,-)5.冒號(hào)(:)先后賦值,如:x=1:2:547幾點(diǎn)說明:在同一優(yōu)先級(jí)中,運(yùn)算自左至右完成,所以若對(duì)運(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ū)別:對(duì)于矩陣,右除如A/B,相當(dāng)于X*B=A的解矩陣;左除如A\B,相當(dāng)于A*X=B的解矩陣.對(duì)于元素,右除(./)和左除(.\)也不相同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ǔ)零,相同長(zhǎng)度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ù)文件中,都會(huì)定義一些變量。函數(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)絕對(duì)值max(x)最大值min(x)最小值sum(x)求和sqrt(x)開平方exp(x)以e為底的指數(shù)log(x)自然對(duì)數(shù)log10(x)以10為底的對(duì)數(shù)sign(x)符號(hào)函數(shù)fix(x)取整694.MATLAB程序設(shè)計(jì)4.2數(shù)據(jù)輸入與輸出 鍵盤輸入屏幕輸出
x=input(‘請(qǐng)輸入數(shù)據(jù)’);disp(x);
input disp
704.MATLAB程序設(shè)計(jì)4.2數(shù)據(jù)輸入與輸出 M數(shù)據(jù)文件存儲(chǔ)\加載 save 存儲(chǔ)save將所有工作空間變量存儲(chǔ)在名為MATLAB.mat的文件中savefilename將所有工作空間變量存儲(chǔ)在名為filename.mat的文件中savefilenameXYZ將工作空間的指定變量X、Y、Z存儲(chǔ)在名為filename.mat的文件中714.MATLAB程序設(shè)計(jì)4.2數(shù)據(jù)輸入與輸出 M數(shù)據(jù)文件存儲(chǔ)\加載 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]對(duì)應(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('請(qǐng)輸入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('請(qǐng)輸入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('請(qǐng)輸入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('請(qǐng)輸入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('請(qǐng)輸入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('請(qǐng)輸入數(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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 4892-4:2024 EN Plastics - Methods of exposure to laboratory light sources - Part 4: Open-flame carbon-arc lamps
- 【正版授權(quán)】 ISO 21068-4:2024 EN Chemical analysis of raw materials and refractory products containing silicon-carbide,silicon-nitride,silicon-oxynitride and sialon - Part 4: XRD metho
- 【正版授權(quán)】 ISO 13506-1:2024 EN Protective clothing against heat and flame - Part 1: Test method for complete garments - Measurement of transferred energy using an instrumented manikin
- 2025年度嬰幼兒保育員職業(yè)資格認(rèn)證聘用合同
- 2025年度茶葉出口退稅代理服務(wù)合同-@-3
- 2025年度防盜門安裝工程安全生產(chǎn)責(zé)任合同
- 2025年度農(nóng)村土地征收補(bǔ)償安置協(xié)議
- 2025年度董事任期考核及聘任合同
- 2025年陳設(shè)藝術(shù)陶瓷制品項(xiàng)目發(fā)展計(jì)劃
- 動(dòng)手實(shí)踐小班農(nóng)業(yè)勞動(dòng)體驗(yàn)計(jì)劃
- 部編版語文一年級(jí)下冊(cè)第一單元教材解讀
- 護(hù)士臨床護(hù)理組長(zhǎng)
- 2025保安部年度工作計(jì)劃
- 土建、裝飾、維修改造等零星工程施工組織設(shè)計(jì)技術(shù)標(biāo)
- 寵物貓護(hù)理教學(xué)
- 高速公路養(yǎng)護(hù)作業(yè)安全培訓(xùn)內(nèi)容
- 2024年江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)
- 《大白菜種植栽培技》課件
- 北京工業(yè)大學(xué)《數(shù)據(jù)挖掘》2023-2024學(xué)年第一學(xué)期期末試卷
- 圖書借閱登記表
- 標(biāo)準(zhǔn)化機(jī)房改造方案
評(píng)論
0/150
提交評(píng)論