![第2講MATLAB基本編程_第1頁](http://file4.renrendoc.com/view3/M02/1D/2D/wKhkFmZKKuOAFLZCAAHWVnxgZYg507.jpg)
![第2講MATLAB基本編程_第2頁](http://file4.renrendoc.com/view3/M02/1D/2D/wKhkFmZKKuOAFLZCAAHWVnxgZYg5072.jpg)
![第2講MATLAB基本編程_第3頁](http://file4.renrendoc.com/view3/M02/1D/2D/wKhkFmZKKuOAFLZCAAHWVnxgZYg5073.jpg)
![第2講MATLAB基本編程_第4頁](http://file4.renrendoc.com/view3/M02/1D/2D/wKhkFmZKKuOAFLZCAAHWVnxgZYg5074.jpg)
![第2講MATLAB基本編程_第5頁](http://file4.renrendoc.com/view3/M02/1D/2D/wKhkFmZKKuOAFLZCAAHWVnxgZYg5075.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第二講MATLAB基本編程數(shù)學(xué)軟件一、M文件二、關(guān)系運算與邏輯運算三、Matlab程序控制結(jié)構(gòu)四、小結(jié)與練習(xí)一、M文件用MATLAB語言編寫的程序,稱為M文件。M文件可以根據(jù)調(diào)用方式的不同分為兩類:命令(腳本)文件(ScriptFile)和函數(shù)文件(FunctionFile)。1.腳本M文件MATLAB代碼按順序組成的命令序列集合(命令行的組合)在命令窗口直接輸入文件名來運行例1
建立一個文件,將變量a,b的值互換MATLAB(exp201)程序如下:a=1:8;b=[123;456;789];c=a;a=b;b=c;ab2.函數(shù)M文件說明:內(nèi)部函數(shù)很多,但也有限,有時為研究某一個函數(shù)的各種性態(tài),需要為MATLAB定義新函數(shù),為此必須編寫函數(shù)文件。函數(shù)文件擴(kuò)展名:*.M格式:function因變量名=函數(shù)名(自變量名)必須通過具體的運算獲得函數(shù)值,并賦給因變量.實現(xiàn)一個單獨功能,有參數(shù)輸入和輸出,實現(xiàn)計算中的參數(shù)傳遞,可重復(fù)調(diào)用。2.函數(shù)M文件M文件建立方法:(1).在Matlab中,點:File->New->M-file(2).在編輯窗口中輸入程序內(nèi)容(3).點:File->Save,存盤,M文件名必須與函數(shù)名一致。注意:Matlab的應(yīng)用程序也以M文件保存。例2
定義函數(shù)f(x1,x2)=100(x2-x12)2+(1-x1)2functionf=fun(x)f=100*(x(2)-x(1)^2)^2+(1-x(1))^2;1.建立M文件:fun.mMATLAB(fun,exp202)2.可直接使用函數(shù)fun.m例如:計算f(1,2),只需在Matlab命令窗口鍵入命令:x=[1,2];y=fun(x)二、關(guān)系運算與邏輯運算
1.關(guān)系運算符例3
設(shè)矩陣A=[1,2;2,3],求A中等于2的元素個數(shù).MATLAB(exp203)A=[12;23];b=A==2;N=sum(sum(b))2.邏輯運算符例4
觀察如下程序運行結(jié)果.MATLAB(exp204)A=[1,1;0,1];B=[0,1;0,0];b=0;C1=A&bC2=A|bC3=~AC4=xor(A,B)3.邏輯函數(shù)例5
觀察如下程序運行結(jié)果.MATLAB(exp205)A=[1,3,5];b=[0,3,0];A=[1,2,3;0,4,5];B=[1,0,3;0,0,5];C=[1+2*i,0.6+3*i];D=[‘who’];A1=all(a),A2=all(A),A3=all(A,2),B1=any(b),B2=any(B),B3=any(B,2),K=find(B),[i,j]=find(B),[i,j,v]=find(B)c1=isequal(a,b),c2=isequal(A,B),c3=isnumeric(A),c4=isnumeric(C),c5=isnumeric(D),三、MATLAB程序控制結(jié)構(gòu)三種決策或控制流結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)說明:這些結(jié)構(gòu)經(jīng)常包含大量的MATLAB命令,故經(jīng)常出現(xiàn)在MATLAB程序中,而不是直接加在MATLAB提示符下。(一)順序結(jié)構(gòu)
1.數(shù)據(jù)的輸入從鍵盤輸入數(shù)據(jù),則可以使用input函數(shù)來進(jìn)行,該函數(shù)的調(diào)用格式為:
A=input(提示信息,選項);其中提示信息為一個字符串,用于提示用戶輸入什么樣的數(shù)據(jù)。如果在input函數(shù)調(diào)用時采用‘s’選項,則允許用戶輸入一個字符串。例如,想輸入一個人的姓名,可采用命令:xm=input('What''syourname?','s');(一)順序結(jié)構(gòu)
2.數(shù)據(jù)的輸出MATLAB提供的命令窗口輸出函數(shù)主要有disp函數(shù),其調(diào)用格式為
disp(輸出項)其中輸出項既可以為字符串,也可以為矩陣。例6
輸入x,y的值,并將它們的值互換后輸出。MATLAB(exp206)程序如下:
x=input('Inputxplease:');y=input('Inputyplease:');z=x;x=y;y=z;disp(['x=',num2str(x)]);disp(['y=',num2str(y)]);例7
求一元二次方程ax2+bx+c=0的根。MATLAB(exp207)程序如下:a=input('a=?');b=input('b=?');c=input('c=?');d=b*b-4*a*c;x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);(一)順序結(jié)構(gòu)
3.程序的暫停暫停程序的執(zhí)行可以使用pause函數(shù),其調(diào)用格式為:
pause(延遲秒數(shù))
如果省略延遲時間,直接使用pause,則將暫停程序,直到用戶按任一鍵后程序繼續(xù)執(zhí)行。若要強行中止程序的運行可使用Ctrl+C命令。(二)選擇結(jié)構(gòu)
1.條件語句(if-else-end)在MATLAB中,if語句有3種格式。(1)單分支if語句:
if條件語句組
end當(dāng)條件成立時,則執(zhí)行語句組,執(zhí)行完之后繼續(xù)執(zhí)行if語句的后繼語句,若條件不成立,則直接執(zhí)行if語句的后繼語句。(二)選擇結(jié)構(gòu)
1.條件語句(if-else-end)(2)雙分支if語句:
if條件語句組1else
語句組2end
當(dāng)條件成立時,執(zhí)行語句組1,否則執(zhí)行語句組2,語句組1或語句組2執(zhí)行后,再執(zhí)行if語句的后繼語句。MATLAB(fun1,fun01,exp208)步驟:一、建立M文件fun1.m定義函數(shù)f(x)二、在Matlab命令窗口輸入fun1(2),fun1(-1),例8fun1.mfunctionf=fun1(x)ifx<=1f=2*x;elsef=x^2+1;end(二)選擇結(jié)構(gòu)
1.條件語句(if-else-end)(3)多分支if語句:
if條件1
語句組1elseif條件2
語句組2……elseif條件m
語句組melse
語句組nend語句用于實現(xiàn)多分支選擇結(jié)構(gòu)。步驟:一、建立M文件fun2.m定義函數(shù)f(x)二、在Matlab命令窗口輸入fun2(2),fun2(0.5),fun2(-1)MATLAB
(fun2,fun3,fun4,exp209)例9fun2.mfunctionf=fun2(x)ifx<=0f=x^3;elseifx<=1f=2*x;elsef=x^2+1;endfun3.mfunctiony=fun3(x)fori=1:length(x)ifx(i)<=0
y(i)=x(i)^3;elseif
x(i)<=1
y(i)=2*x(i);else
y(i)=x(i)^2+1;endendfun4.mfunctionf=fun4(x)ifx<=0f=x.^3;elseifx<=1f=2*x;elsef=x.^2+1;end×(二)選擇結(jié)構(gòu)
2.開關(guān)語句(switch-case-end)switch語句根據(jù)表達(dá)式的取值不同,分別執(zhí)行不同的語句,其語句格式為:
switch表達(dá)式
case表達(dá)式1
語句組1case表達(dá)式2
語句組2……case表達(dá)式m
語句組motherwise
語句組nend(二)選擇結(jié)構(gòu)
2.開關(guān)語句(switch-case-end)注:當(dāng)表達(dá)式的值等于表達(dá)式1的值時,執(zhí)行語句組1,當(dāng)表達(dá)式的值等于表達(dá)式2的值時,執(zhí)行語句組2,…,當(dāng)表達(dá)式的值等于表達(dá)式m的值時,執(zhí)行語句組m,當(dāng)表達(dá)式的值不等于case所列的表達(dá)式的值時,執(zhí)行語句組n。當(dāng)任意一個分支的語句執(zhí)行完后,直接執(zhí)行switch語句的下一句。例10
某商場對顧客所購買的商品實行打折銷售,標(biāo)準(zhǔn)如下(商品價格用price來表示):
price<200沒有折扣
200≤price<5003%折扣
500≤price<10005%折扣
1000≤price<25008%折扣
2500≤price<500010%折扣
5000≤price14%折扣輸入所售商品的價格,求其實際銷售價格。程序如下:MATLAB(exp2010)price=input('請輸入商品價格:');switchfix(price/100)case{0,1}%價格小于200rate=0;case{2,3,4}%價格大于等于200但小于500rate=3/100;casenum2cell(5:9)%價格大于等于500但小于1000rate=5/100;casenum2cell(10:24)%價格大于等于1000但小于2500rate=8/100;casenum2cell(25:49)%價格大于等于2500但小于5000rate=10/100;otherwise%價格大于等于5000rate=14/100;endprice=price*(1-rate)%輸出商品實際銷售價格(三)循環(huán)結(jié)構(gòu)
1.for循環(huán)允許一組命令以固定的和預(yù)定的次數(shù)重復(fù)for語句的格式為:
forx=array{commands}endfor和end語句之間的命令串{commands}按數(shù)組(array)中的每一列執(zhí)行一次。每一次迭代中,x被指定為數(shù)組的下一列,即在第n次循環(huán)中,x=array(:,n)
例11
對n=1,2,…,10,求xn=的值.
MATLAB
(exp2011)程序如下:forn=1:10
x(n)=sin(n*pi/10);endx(三)循環(huán)結(jié)構(gòu)
2.While循環(huán)與for循環(huán)以固定次數(shù)求一組命令相反,while循環(huán)以不定的次數(shù)求一組語句的值。while語句的一般格式為:
whileexpression{commands}end
只要表達(dá)式(expression)為真,就執(zhí)行while和end語句之間的命令串{commands},直到為假,才退出循環(huán)。例12:設(shè)銀行年利率為11.25%。將10000元錢存入銀行,問多長時間會連本帶利翻一番?
MATLAB
(exp2012)程序如下:money=10000;years=0;whilemoney<20000years=years+1;money=money*(1+11.25/1
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國熱鋅鍍鋼材行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國汽車減振器沖壓件行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國抗菌保健衛(wèi)生巾行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國小果配花行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國電腦繞線機數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國直流遙控組件數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國玻璃加工中心銑頭數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國沙鑄鋁件數(shù)據(jù)監(jiān)測研究報告
- 地庫頂板凸形模具施工方案
- 2025至2030年中國導(dǎo)電銀膏數(shù)據(jù)監(jiān)測研究報告
- GB/T 26189.2-2024工作場所照明第2部分:室外作業(yè)場所的安全保障照明要求
- 《電商直播》 課件 項目一 走入電商直播
- 七上 U2 過關(guān)單 (答案版)
- 2024年貴銀金融租賃公司招聘筆試參考題庫附帶答案詳解
- 杭州市主城區(qū)聲環(huán)境功能區(qū)劃分圖
- 楊氏太極拳37式拳譜
- 臥式設(shè)備安裝
- EN1779-歐洲無損檢測標(biāo)準(zhǔn)
- 人教版七年級數(shù)學(xué)下冊全冊同步測試含答案(共128頁)
- 配煤入洗與精煤回收率的提高之間的關(guān)系研究與應(yīng)用
- 復(fù)旦校內(nèi)辦事指南
評論
0/150
提交評論