版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1第一章準(zhǔn)備實(shí)驗(yàn)實(shí)驗(yàn)1.1MATLAB的基本用法實(shí)驗(yàn)1.2矩陣的運(yùn)算實(shí)驗(yàn)1.4MATLAB繪圖實(shí)驗(yàn)1.3M文件與程序設(shè)計(jì)實(shí)驗(yàn)1.5MATLAB符號運(yùn)算實(shí)驗(yàn)1.3M文件與程序設(shè)計(jì)一、M文件二、程序控制結(jié)構(gòu)三、函數(shù)M-文件四、應(yīng)用舉例一、M文件1.M文件概述
MATLAB作為一種應(yīng)用廣泛的科學(xué)計(jì)算軟件,不僅可以通過直接交互的指令和操作方式進(jìn)行強(qiáng)大的數(shù)值計(jì)算、繪圖等,還可以像
C、C++等高級程序語言一樣,根據(jù)自己的語法規(guī)則來進(jìn)行程序設(shè)計(jì).
M文件是一個文本文件,它可以用任何編輯程序來建立和編輯,而一般常用且最為方便的是使用MATLAB提供的文本編輯器.實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)編寫的程序文件以
.m作為擴(kuò)展名,稱之為M文件.2.M文件的建立與打開(1)建立新的M文件菜單操作:主頁——新建——腳本操作后會啟動MATLAB文本編輯器,輸入M文件的內(nèi)容并存盤就建立了一個新的M文件。實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)命令操作:命令行窗口中輸入edit注:儲存時文件名遵循MATLAB變量命名的原則,但必須以.m為擴(kuò)展名.實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)(2)打開已有的M文件菜單操作:主頁——打開——選擇文件M文件根據(jù)調(diào)用方式的不同分為兩類:腳本文件(ScriptFile)和函數(shù)文件(FunctionFile).實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)命令操作:命令行窗口中輸入:edit文件名然后在命令行窗口中輸入:f1c↙c=22.7778InputFahrenheittemperature:73↙實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)clear;%清除工作空間中的變量f=input(‘InputFahrenheittemperature:');c=5*(f-32)/9例1
分別建立腳本文件和函數(shù)文件,將華氏溫度f轉(zhuǎn)換為攝氏溫度c.解1首先建立腳本文件并以文件名f1c.m存盤.解2首先建立函數(shù)文件f2c.m.functionc=f2c(f)c=5*(f-32)/9;然后在MATLAB的命令行窗口調(diào)用該函數(shù)文件.InputFahrenheittemperature:70↙x=21.1111clear;y=input('InputFahrenheittemperature:');x=f2c(y)↙實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)二、關(guān)系運(yùn)算與邏輯運(yùn)算1.關(guān)系運(yùn)算符
關(guān)系運(yùn)算符主要用以比較數(shù)、字符串、矩陣之間的大小或不等關(guān)系,其返回值為0或1,當(dāng)返回值為1時,表示比較的兩個對象關(guān)系為真;當(dāng)返回值為0時,表示比較的兩個對象關(guān)系為假.關(guān)系操作符功能<
判斷小于關(guān)系<=判斷小于等于關(guān)系>
判斷大于關(guān)系>=判斷大于等于關(guān)系==判斷等于關(guān)系~=判斷不等于關(guān)系注:關(guān)系運(yùn)算符“==”和賦值運(yùn)算符“=”是不同的,“==”用來判斷兩個數(shù)字或者變量是否有相等關(guān)系,“=”用來給變量賦值.實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)A=1:2:10;
B=10-A;big=A>4
↙
%判斷A中元素是否大于4,結(jié)果是1表明為真,結(jié)果是0表明為假big=1×5logical數(shù)組00111ab=(A==B)↙ab=1×5logical數(shù)組00100%判斷A、B中對應(yīng)元素是否相等實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)2.邏輯運(yùn)算符邏輯運(yùn)算符說明&與(Element-wiseLogicalAND)|或(Element-wiseLogicalOR)~非(優(yōu)先級最高)注:三種運(yùn)算符的優(yōu)先順序按從高到低排列為:算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符,從高到低,如果要改變運(yùn)算的優(yōu)先級,可以在表達(dá)式中加入括號.實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)A=1:2:10;a1=(A>2)&(A<6)↙a1=1×5logical數(shù)組01100a2=(A>7)|(A<6)↙a2=1×5logical數(shù)組11101%當(dāng)A中的元素大于2并且小于6時,返回1%當(dāng)A中的元素大于7或者小于6時,返回1三、程序控制結(jié)構(gòu)1.順序結(jié)構(gòu)——依次順序執(zhí)行程序的各條語句MATLAB語言的程序控制結(jié)構(gòu)與其它高級語言是一致的,分為順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)。(1)數(shù)據(jù)的輸入——input調(diào)用格式:A=input(提示信息,選項(xiàng))
如果在input函數(shù)調(diào)用時采用‘s’選項(xiàng),則允許用戶輸入一個字符串。實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)其中提示信息為一個字符串,用于提示用戶輸入什么樣的數(shù)據(jù)。(2)數(shù)據(jù)的輸出——disp調(diào)用格式:disp(輸出項(xiàng))其中輸出項(xiàng)既可以為字符串,也可以為矩陣。(3)程序的暫?!猵ause調(diào)用格式:
pause(延遲秒數(shù))如果省略延遲時間,直接使用pause,則將暫停程序,直到用戶按任一鍵后程序繼續(xù)執(zhí)行.實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)若要強(qiáng)行中止程序的運(yùn)行可使用Ctrl+C命令.例2
輸入x,y的值,并將它們的值互換后輸出。x=input(‘Inputxplease:');y=input(‘Inputyplease:');z=x;x=y;y=z;disp(x);disp(y);存盤為f1.m,在命令行窗口中輸入f1↙Inputxplease:5↙Inputyplease:6↙6
5解實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)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))])例3
求一元二次方程的根.解程序如下:實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)注:num2str函數(shù)的作用是把數(shù)值轉(zhuǎn)換成字符串,以便用disp進(jìn)行輸出.2.選擇結(jié)構(gòu)——根據(jù)一定條件來執(zhí)行各條語句(1)if語句條件語句if最簡單的用法是:if條件<語句組1>end
如果條件成立,則語句組1執(zhí)行;
否則,執(zhí)行end的后繼命令實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)如果條件成立,則語句組1執(zhí)行;否則,語句組2執(zhí)行,然后執(zhí)行end的后續(xù)命令if語句的另一種用法是:if條件<語句組1>else<語句組2>endif條件1<語句組1>elseif條件2<語句組2>……elseif條件m<語句組m>else<語句組n>end當(dāng)我們有多個選擇時,還可以用下列結(jié)構(gòu):實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例4計(jì)算分段函數(shù)的值.解程序如下:x=input('請輸入x的值:');ifx<=0y=(x+sqrt(pi))/exp(2);elsey=log(x+sqrt(1+x*x))/2;endy實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例5
輸入一個字符,若為大寫字母,則輸出其對應(yīng)的小寫字母;若為小寫字母,則輸出其對應(yīng)的大寫字母;若為數(shù)字字符則輸出其對應(yīng)的數(shù)值,若為其他字符則原樣輸出.
c=input('請輸入一個字符','s');ifc>='A'&c<='Z'disp(setstr(abs(c)+abs('a')-abs('A')));elseifc>='a'&c<='z'disp(setstr(abs(c)-abs('a')+abs('A')));elseifc>='0'&c<='9'disp(abs(c)-abs('0'));elsedisp(c);end解
實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)(2)switch語句switch
表達(dá)式case
表達(dá)式1〈語句組1〉case
表達(dá)式2〈語句組2〉……otherwise〈語句組n〉endswitch語句根據(jù)表達(dá)式的值來執(zhí)行相應(yīng)的語句,用法如下:實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例6
某商場對顧客所購買的商品實(shí)行打折銷售,標(biāo)準(zhǔn)如下(商品價格用price來表示):
price<200沒有折扣
200≤price<5003%折扣
500≤price<10005%折扣
1000≤price<25008%折扣
2500≤price<500010%折扣
5000≤price14%折扣輸入所售商品的價格,求其實(shí)際銷售價格。實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)price=input(‘請輸入商品價格:’);switchfix(price/100)case{0,1}rate=0;case{2,3,4}rate=3/100;casenum2cell(5:9)rate=5/100;casenum2cell(10:24)rate=8/100;解程序如下:實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)請輸入商品價格:700↙price=665存盤為ff2.m,在命令窗口中輸入:ff2↙casenum2cell(25:49)rate=10/100;otherwiserate=14/100;endprice=price*(1-rate)實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)(3)try語句try〈語句組1〉catch〈語句組2〉end
運(yùn)行時先試探性執(zhí)行語句組1,如果語句組1在執(zhí)行過程中出現(xiàn)錯誤,則將錯誤信息付給保留的lasterr變量,并轉(zhuǎn)去執(zhí)行語句組2。try語句用法如下:實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例7
矩陣乘法運(yùn)算要求兩矩陣的維數(shù)相容,否則會出錯.先求兩矩陣的乘積,若出錯,則自動轉(zhuǎn)去求兩矩陣的點(diǎn)乘.A=[1,2,3;4,5,6];B=[7,8,9;10,11,12];try
C=A*B;catch
C=A.*B;endClasterr
%顯示出錯原因解程序如下:實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)(1)for語句for循環(huán)變量=初值:步長:終值循環(huán)體語句end3.循環(huán)結(jié)構(gòu)——被重復(fù)執(zhí)行的一組語句,循環(huán)是計(jì)算機(jī)解決問題的主要手段注:步長為1時可以省略循環(huán)語句for的一般形式為:實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例8
一個三位整數(shù)各位數(shù)字的立方和等于該數(shù)本身則稱該數(shù)為水仙花數(shù),編寫程序輸出全部水仙花數(shù).form=100:999m1=fix(m/100);
%求m的百位數(shù)字m2=rem(fix(m/10),10);%求m的十位數(shù)字m3=rem(m,10);
%求m的個位數(shù)字ifm==m1*m1*m1+m2*m2*m2+m3*m3*m3disp(m)endend解程序如下:實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例9
已知
,當(dāng)n=100時,求y的值.y=0;n=100;fori=1:ny=y+1/(2*i-1);endy
解程序如下:在實(shí)際MATLAB編程中,采用循環(huán)語句會降低其執(zhí)行速度,所以前面的程序通常由下面的程序來代替:
n=100;i=1:2:2*n-1;y=sum(1./i);y實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)for循環(huán)更一般的格式為:for循環(huán)變量=矩陣表達(dá)式
循環(huán)體語句end執(zhí)行過程是依次將矩陣的各列元素賦給循環(huán)變量,然后執(zhí)行循環(huán)體語句,直至各列元素處理完畢。實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例10
寫出下列程序的執(zhí)行結(jié)果.s=0;a=[12,13,14;15,16,17;18,19,20;21,22,23];fork=as=s+k;enddisp(s')解
該程序的作用是求矩陣每一行的和,輸出結(jié)果為39485766實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)(2)while語句如果不知道循環(huán)次數(shù),可以使用while循環(huán)來完成,其一般形式為:
while(條件)循環(huán)體語句
end
其執(zhí)行過程為:若條件成立,則執(zhí)行循環(huán)體語句,執(zhí)行后再判斷條件是否成立,如果不成立則跳出循環(huán).實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例11從鍵盤輸入若干個數(shù),當(dāng)輸入0時結(jié)束輸入,求這些數(shù)的平均值和它們的和.
sum=0;
cnt=0;
val=input('Enteranumber(endin0):');
while(val~=0)
sum=sum+val;
cnt=cnt+1;
val=input('Enteranumber(endin0):');endif(cnt>0)
sum
mean=sum/cntend解實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)(3)break語句和continue語句
continue語句控制跳過循環(huán)體中的某些語句。當(dāng)在循環(huán)體內(nèi)執(zhí)行到該語句時,程序?qū)⑻^循環(huán)體中所有剩下的語句,繼續(xù)下一次循環(huán)。與循環(huán)結(jié)構(gòu)相關(guān)的語句還有break語句和continue語句.它們一般與if語句配合使用.
break語句用于終止循環(huán)的執(zhí)行.當(dāng)在循環(huán)體內(nèi)執(zhí)行到該語句時,程序?qū)⑻鲅h(huán),繼續(xù)執(zhí)行循環(huán)語句的下一語句.實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例12
求[100,200]之間第一個能被21整除的整數(shù)。forn=100:200ifrem(n,21)~=0continueendbreakendn↙n=105解
循環(huán)語句可以嵌套,即一個循環(huán)結(jié)構(gòu)的循環(huán)體又包括一個循環(huán)結(jié)構(gòu),也稱為多重循環(huán)。(4)循環(huán)的嵌套實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例13
若一個數(shù)等于它的各個真因子之和,則稱該數(shù)為完數(shù),如6=1+2+3,所以6是完數(shù).求[1,500]之間的全部完數(shù).628496解
form=1:500s=0;fork=1:m/2ifrem(m,k)==0s=s+k;endendifm==sdisp(m);endend↙實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)三、函數(shù)M-文件function輸出形參=函數(shù)名(輸入形參)%注釋說明部分函數(shù)體語句注2:這個M-文件的文件名必須是函數(shù)名.m1.函數(shù)文件的基本結(jié)構(gòu)函數(shù)M-文件必須由function語句引導(dǎo),其基本結(jié)構(gòu)為:注1:若輸出形參不止一個,可用方括號將它們括起來,并用逗號分開。實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例14
編寫函數(shù)文件求半徑為r的圓的面積和周長.
解函數(shù)文件如下:function[s,p]=fcircle(r)%CIRCLEcalculatetheareaandperimeterofacircleofradiir%r圓半徑%s圓面積%p圓周長%2023年12月30日編s=pi*r*rp=2*pi*r實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)2.函數(shù)調(diào)用函數(shù)調(diào)用的一般格式是:[輸出實(shí)參表]=函數(shù)名(輸入實(shí)參表)注:函數(shù)調(diào)用時各實(shí)參出現(xiàn)的順序、個數(shù),應(yīng)與函數(shù)定義時形參的順序、個數(shù)一致,否則會出錯
函數(shù)調(diào)用時,先將實(shí)參傳遞給相應(yīng)的形參,從而實(shí)現(xiàn)參數(shù)傳遞,然后再執(zhí)行函數(shù)的功能.實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例15
利用函數(shù)文件,實(shí)現(xiàn)直角坐標(biāo)(x,y)與極坐標(biāo)(ρ
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024大數(shù)據(jù)分析與商業(yè)決策支持合同
- 2024不銹鋼來料加工合同
- 2024寺廟仿古建筑施工合同技術(shù)支持合同
- 2024年建筑外墻清洗維護(hù)合同
- 2024年度二手房出售交接事項(xiàng)及保修條款合同
- 2024年度設(shè)備租賃合同設(shè)備類型與租賃期限
- 2024光電子技術(shù)研發(fā)與合作合同
- 2024年度N95口罩生產(chǎn)線擴(kuò)建貸款合同
- 2024年建筑工程經(jīng)紀(jì)代理協(xié)議
- 2024年度企業(yè)品牌形象設(shè)計(jì)及VI手冊整編服務(wù)合同
- 《嬰幼兒行為觀察、記錄與評價》習(xí)題庫 (項(xiàng)目三) 0 ~ 3 歲嬰幼兒語言發(fā)展觀察、記錄與評價
- 英語漫談膠東海洋文化知到章節(jié)答案智慧樹2023年威海海洋職業(yè)學(xué)院
- 環(huán)保產(chǎn)品管理規(guī)范
- 幼兒園:我中獎了(實(shí)驗(yàn)版)
- 趙學(xué)慧-老年社會工作理論與實(shí)務(wù)-教案
- 《世界主要海峽》
- 住院醫(yī)師規(guī)范化培訓(xùn)師資培訓(xùn)
- 中央企業(yè)商業(yè)秘密安全保護(hù)技術(shù)指引2015版
- 螺旋果蔬榨汁機(jī)的設(shè)計(jì)
- 《脊柱整脊方法》
- 會計(jì)與財(cái)務(wù)管理專業(yè)英語智慧樹知到答案章節(jié)測試2023年哈爾濱商業(yè)大學(xué)
評論
0/150
提交評論