版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章準(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符號(hào)運(yùn)算實(shí)驗(yàn)1.1MATLAB的基本用法實(shí)驗(yàn)1.1
MATLAB的基本用法一、MATLAB簡(jiǎn)介二、矩陣的輸入三、數(shù)組的輸入及運(yùn)算四、常量、變量、與表達(dá)式五、函數(shù)六、幫助系統(tǒng)七、數(shù)據(jù)顯示格式一、MATLAB簡(jiǎn)介
1.MATLAB語(yǔ)言的發(fā)展實(shí)驗(yàn)1.1
MATLAB的基本用法MATLAB是英文MatrixLaboratory(矩陣實(shí)驗(yàn)室)的縮寫(xiě),是一款由美國(guó)MATHWORKS公司出品的數(shù)學(xué)軟件,每年都會(huì)推出新的版本.MATLAB最早是C.Moler為了減輕學(xué)生編程的負(fù)擔(dān),用Fortran語(yǔ)言編寫(xiě)的,后來(lái)他與另外兩人合作創(chuàng)立了MATHWORKS公司,正式把MATLAB推向市場(chǎng).MATLAB將計(jì)算、可視化和編程功能集成在非常便于使用的環(huán)境中,是一個(gè)交互式的、以矩陣計(jì)算為基礎(chǔ)的科學(xué)和工程計(jì)算軟件.2、Matlab適用領(lǐng)域(1)工業(yè)研究與開(kāi)發(fā)(2)數(shù)學(xué)教學(xué),特別是線性代數(shù)(3)數(shù)值分析和科學(xué)計(jì)算方面的教學(xué)與研究(4)電子學(xué)、控制理論和物理學(xué)等工程和科學(xué)學(xué)科方面的教學(xué)與研究(5)經(jīng)濟(jì)學(xué)、化學(xué)和生物學(xué)等計(jì)算問(wèn)題的所有其他領(lǐng)域中的教學(xué)與研究實(shí)驗(yàn)1.1
MATLAB的基本用法實(shí)驗(yàn)1.1
MATLAB的基本用法3.MATLAB語(yǔ)言的特點(diǎn)編程效率高更接近我們通常進(jìn)行計(jì)算時(shí)的思維方式.用它編程猶如在紙上書(shū)寫(xiě)公式,編程時(shí)間和程序量大大減少計(jì)算功能強(qiáng)它以不必指定維數(shù)的矩陣和數(shù)組為主要數(shù)據(jù)對(duì)象,矩陣和向量計(jì)算功能特別強(qiáng),庫(kù)函數(shù)也很豐富.使用簡(jiǎn)便方便調(diào)試,計(jì)算結(jié)果也用人們十分熟悉的數(shù)學(xué)符號(hào)表示出來(lái).易于擴(kuò)充用戶可根據(jù)需要建立的文件可以與庫(kù)函數(shù)一樣被調(diào)用,還可以與Fortran、C語(yǔ)言子程序混合編程.實(shí)驗(yàn)1.1
MATLAB的基本用法4.豐富的MATLAB工具箱MATLAB主工具箱符號(hào)數(shù)學(xué)工具箱SIMULINK仿真工具箱控制系統(tǒng)工具箱信號(hào)處理工具箱圖象處理工具箱
通訊工具箱系統(tǒng)辨識(shí)工具箱神經(jīng)元網(wǎng)絡(luò)工具箱金融工具箱統(tǒng)計(jì)工具箱小波分析工具箱……啟動(dòng)MATLAB后,就出現(xiàn)MATLAB的窗口命令行窗口:在這里輸入命令和輸出結(jié)果命令歷史記錄:顯示過(guò)去所輸入的命令當(dāng)前文件夾:當(dāng)前搜索目錄下的文件5.
MATLAB窗口實(shí)驗(yàn)1.1
MATLAB的基本用法工作區(qū):顯示所有的變量菜單欄ans=0.3224
在命令窗口里首先可以按計(jì)算器一樣使用了,如計(jì)算在MATLAB的命令窗口中輸入:2*cos(0.3*pi)/(1+sqrt(7))↙實(shí)驗(yàn)1.1
MATLAB的基本用法2*cos(0.4*pi)/(1+sqrt(7))↙ans=0.1695實(shí)驗(yàn)1.1
MATLAB的基本用法按↑鍵(或用Ctrl+p,而↓鍵或Ctrl+n是調(diào)出下一行),調(diào)出上次的輸入.用←或→健移動(dòng)光標(biāo),將3改為4:
矩陣的輸入方法是,將矩陣元素以行序?yàn)橄仍诜嚼ㄌ?hào)內(nèi)逐行輸入矩陣各元素,同一行各元素之間用逗號(hào)或空格分開(kāi),兩行元素之間用分號(hào)或回車(chē)分開(kāi),如輸入:二、矩陣的輸入
矩陣是MATLAB的基本數(shù)據(jù)形式,數(shù)和向量可視為它的特殊形式,用戶不必對(duì)矩陣的行、列數(shù)作專門(mén)的說(shuō)明.1.矩陣的輸入實(shí)驗(yàn)1.1
MATLAB的基本用法A=123456789A
=[1,2,3;4,5,6;7,8,9]↙ans=8矩陣中的元素可以用它的行、列數(shù)表示,如:a=6A(3,2)↙a=A(2,3)↙實(shí)驗(yàn)1.1
MATLAB的基本用法矩陣A輸入后一直保存在工作空間中,可隨時(shí)調(diào)用,除非被清除或替代.可以直接修改矩陣的元素,如:A=123756789A=123075607891A(2,1)=7↙A(3,4)=1↙MATLAB還提供了一些函數(shù)來(lái)構(gòu)造特殊矩陣,如:w=000000u=111111111w=zeros(2,3)↙u=ones(3)↙%2×3零矩陣%3×3全1矩陣v=eye(3,4)↙%3×4對(duì)角線為1的矩陣實(shí)驗(yàn)1.1
MATLAB的基本用法v=100001000010r=
0.81470.90580.1270n=0.8622-1.30770.34262.76940.3188-0.43363.5784-1.3499n=randn(2,4)↙%標(biāo)準(zhǔn)正態(tài)分布矩陣r=rand(1,3)↙%(0,1)均勻分布隨機(jī)矩陣實(shí)驗(yàn)1.1
MATLAB的基本用法2.矩陣的裁剪ans=7891B=12307560A(3,:)↙B=A(1:2,:)↙%A的第3行%A的第1、2行實(shí)驗(yàn)1.1
MATLAB的基本用法從一個(gè)矩陣中取出若干行(列)ans=258C=230560A(:,2)↙C=B(:,2:4)↙%A的第2列%B的第2~4列ans=032198A=230560891A(1:2:3,4:-1:2)↙%A的第1、3行,4、3、2列A(:,1)=[]↙%刪除A的第一列,[]表示空集實(shí)驗(yàn)1.1
MATLAB的基本用法3.矩陣的拼接E=23005600F=123075601000左右拼接時(shí)行數(shù)要相同,上下拼接時(shí)列數(shù)要相同,如:E=[C,zeros(2,1)]↙F=[A(1:2,:);eye(1,4)]↙G=230115601191230G=[C,ones(2);9,F(1,:)]↙實(shí)驗(yàn)1.1
MATLAB的基本用法將幾個(gè)矩陣接在一起4.矩陣編輯器當(dāng)輸入的矩陣很大,不適合用手工直接輸入時(shí),MATLAB提供了一個(gè)矩陣編輯器來(lái)方便用戶創(chuàng)建和修改比較大的矩陣.w=[21;34];%先定義一個(gè)名為w的變量從主頁(yè)菜單中找到“打開(kāi)變量”就可以打開(kāi)矩陣編輯器:實(shí)驗(yàn)1.1
MATLAB的基本用法在調(diào)用矩陣編輯器之前,需要預(yù)先定義一個(gè)變量,無(wú)論是數(shù)值還是矩陣均可.在這里就可以修改矩陣w的維數(shù)和元素了實(shí)驗(yàn)1.1
MATLAB的基本用法三、數(shù)組的輸入及運(yùn)算在MATLAB中數(shù)組是一種比矩陣更基本的數(shù)據(jù)形式,它是元素為一維連續(xù)存儲(chǔ)的數(shù)據(jù)的集合.a(chǎn)=1234567a=[1,2,3,4,5,6,7]↙實(shí)驗(yàn)1.1
MATLAB的基本用法數(shù)組運(yùn)算的最重要的特征是按對(duì)應(yīng)元素進(jìn)行運(yùn)算.?dāng)?shù)組常采用“:”輸入方式,如:ans=1c=00.50001.00001.50002.0000b=345678910b=3:10↙c=0:0.5:2↙c(3)↙實(shí)驗(yàn)1.1
MATLAB的基本用法MATLAB中有兩個(gè)命令可以創(chuàng)建特殊的數(shù)組:x=00.78541.57082.35623.1416linspace(a,b,m)生成從a到b,m個(gè)數(shù)的等差數(shù)列l(wèi)ogspace(a,b,n)生成從到,n個(gè)數(shù)的等比數(shù)列x=linspace(0,pi,5)↙實(shí)驗(yàn)1.1
MATLAB的基本用法ans=
列1至6
1.00001.58492.51193.98116.309610.0000
列7至11
15.848925.118939.810763.0957100.0000logspace(0,2,11)↙實(shí)驗(yàn)1.1
MATLAB的基本用法數(shù)組的運(yùn)算符有“+”、“-”、“.*”、“./”、“.\”、和“.^”a1=1234a2=3214b1=4448b2=-2020b1=a1+a2↙b2=a1-a2↙a1=[1,2,3,4]↙a2=[3,2,1,4]↙實(shí)驗(yàn)1.1
MATLAB的基本用法數(shù)組的運(yùn)算是數(shù)組的每一個(gè)元素進(jìn)行相應(yīng)的運(yùn)算(注意“./”、和“.\”的區(qū)別),如:b3=34316b4=0.33331.00003.00001.0000b3=a1.*a2↙b4=a1./a2↙a1+2↙ans=3456b5=3.00001.00000.33331.0000b5=a1.\a2↙實(shí)驗(yàn)1.1
MATLAB的基本用法b8=392781b6=143256b7=182764b7=a1.^3↙b8=3.^a1↙b6=a1.^a2↙實(shí)驗(yàn)1.1
MATLAB的基本用法四、常量、變量、與表達(dá)式
變量名以字母開(kāi)始,由字母、數(shù)字等構(gòu)成,最多31個(gè)字符,區(qū)分大小寫(xiě)字母,在MATLAB中不必對(duì)變量作任何的類(lèi)型說(shuō)明.
MATLAB提供若干特殊的變量,如:實(shí)驗(yàn)1.1
MATLAB的基本用法pi(
);i(或j,虛數(shù)單位);eps(機(jī)器無(wú)窮小,約為);inf(無(wú)窮大);nan(不確定值,0/0,
/所得)當(dāng)輸入一個(gè)新變量時(shí)MATLAB自動(dòng)建立變量并為其分配內(nèi)存空間.
變量、常量和函數(shù)由運(yùn)算符連接得到算術(shù)表達(dá)式.
通常表達(dá)式的值賦給某個(gè)變量稱為賦值命令語(yǔ)句,其形式為:變量=表達(dá)式
但亦可略去“變量”,此時(shí)表達(dá)式之值自動(dòng)賦給MATLAB系統(tǒng)指定的變量ans.實(shí)驗(yàn)1.1
MATLAB的基本用法當(dāng)運(yùn)算對(duì)象是矩陣時(shí),應(yīng)用矩陣運(yùn)算符;當(dāng)運(yùn)算對(duì)象為數(shù)組時(shí)則用數(shù)組運(yùn)算符.
用who或whos命令可以顯示當(dāng)前工作空間中各變量的名稱及分配給這些變量的空間等信息,who給出的信息較少,whos給出的信息比較詳細(xì).a(chǎn)=1;↙b=[1234];↙c=zeros(2);↙who↙您的變量為:abc
實(shí)驗(yàn)1.1
MATLAB的基本用法disp(x)可以顯示變量x的內(nèi)容,可以用clear命令從工作空間中清除現(xiàn)存的變量.但clc
命令只清屏不清除變量.(注:命令后加“;”,MATLAB只計(jì)算不輸出)函數(shù)或變量'a'無(wú)法識(shí)別.NameSizeBytesClassAttributesa1x18doublearrayb1x432doublearrayc2x232doublearrayclear↙a↙whos↙disp(c)↙0000實(shí)驗(yàn)1.1
MATLAB的基本用法函數(shù)名稱函數(shù)功能函數(shù)名稱函數(shù)功能sin(x)正弦函數(shù)conj(z)復(fù)數(shù)的共軛cos(x)余弦函數(shù)round(x)四舍五入至最近整數(shù)tan(x)正切函數(shù)fix(x)向0方向取整asin(x)反正弦函數(shù)floor(x)
方向取整acos(x)反余弦函數(shù)ceil(x)
方向取整atan(x)反正切函數(shù)rat(x)將實(shí)數(shù)x化為分?jǐn)?shù)表示sinh(x)雙曲正弦函數(shù)rats(x)實(shí)數(shù)化為多項(xiàng)分?jǐn)?shù)展開(kāi)cosh(x)雙曲余弦函數(shù)sign(x)符號(hào)函數(shù)tanh(x)雙曲正切函數(shù)rem(x,y)求x除以y的余數(shù)asinh(x)反雙曲正弦函數(shù)gcd(x,y)整數(shù)x和y的最大公因數(shù)acosh(x)反雙曲余弦函數(shù)lcm(x,y)整數(shù)x和y的最小公倍數(shù)atanh(x)反雙曲正切函數(shù)exp(x)自然指數(shù)abs(x)絕對(duì)值或向量的長(zhǎng)度pow2(x)2的指數(shù)angle(z)復(fù)數(shù)的幅角log(x)自然對(duì)數(shù)sqrt(x)開(kāi)平方log2(x)以2為底的對(duì)數(shù)real(z)復(fù)數(shù)的實(shí)部log10(x)常用對(duì)數(shù)imag(z)復(fù)數(shù)的虛部五、函數(shù)實(shí)驗(yàn)1.1
MATLAB的基本用法
這些函數(shù)本質(zhì)上是作用于標(biāo)量的,當(dāng)它們作用于矩陣或數(shù)組時(shí),是作用于矩陣或數(shù)組的每一個(gè)元素,如:y=00.58780.95110.95110.58780.0000x=(0:0.2:1)*pi;y=sin(x)↙實(shí)驗(yàn)1.1
MATLAB的基本用法a=[-3.5,4.6];b=round(a),c=floor(a),d=ceil(a),e=fix(a),f=rats(a)↙b=-45c=-44d=-35e=-34
另一個(gè)計(jì)算函數(shù)值的命令是feval(F,x),F是表示函數(shù)名的字符串,如:y=00.58780.95110.95110.58780.0000x=(0:0.2:1)*pi;y=feval('sin',x)↙實(shí)驗(yàn)1.1
MATLAB的基本用法函數(shù)名稱函數(shù)功能函數(shù)名稱函數(shù)功能max最大值mean平均值min最小值median中值sum和prod乘積length長(zhǎng)度sort從小到大排列
有些函數(shù)只有當(dāng)它們作用于(行或列)向量時(shí)才有意義,稱為向量函數(shù).實(shí)驗(yàn)1.1
MATLAB的基本用法這些函數(shù)也作用于矩陣,此時(shí)它產(chǎn)生一個(gè)行向量,行向量的每一個(gè)元素是函數(shù)作用于矩陣相應(yīng)列向量的結(jié)果。b=-1.2000c=11.9000d=3.1000a=[4,3.1,-1.2,0,6];b=min(a),c=sum(a),d=median(a)↙實(shí)驗(yàn)1.1
MATLAB的基本用法f=sort(a)%升序排列↙f=-1.200003.10004.00006.0000g=sort(a,'descend')%降序排列↙g=6.00004.00003.10000-1.2000h=
-1.200003.10004.00006.0000index=
34215[h,index]=sort(a)%h是排序好的向量,index是向量h中對(duì)向量a的索引
實(shí)驗(yàn)1.1
MATLAB的基本用法六、幫助系統(tǒng)
MATLAB提供了非常方便的幫助系統(tǒng),如果知道某個(gè)程序(或主題)的名字,就可用幫助命令:helpsin↙實(shí)驗(yàn)1.1
MATLAB的基本用法help程序(或主題)的名窗口中會(huì)給出sin命令的具體用法。MATLAB還提供了一個(gè)命令lookfor,它可以搜索包含某個(gè)關(guān)鍵詞的幫助主題,這個(gè)關(guān)鍵詞并不一定是MATLAB的命令或函數(shù)lookforequation
↙窗口中會(huì)顯示出所有與equation有關(guān)的命令。七、數(shù)據(jù)顯示格式1.如果數(shù)據(jù)是整數(shù),則顯示整數(shù);命令顯示格式命令顯示格式formatshort小數(shù)點(diǎn)后4位,缺省顯示formatshorte5位科學(xué)記數(shù)法formatlong15位數(shù)字formatlonge15位科學(xué)記數(shù)法formatbank小數(shù)點(diǎn)后2位formatrat最接近的有理數(shù)format+顯示+,-或0(分?jǐn)?shù)表示)MATLAB顯示數(shù)據(jù)結(jié)果時(shí),一般遵循下列原則:實(shí)驗(yàn)1.1
MATLAB的基本用法2.如果數(shù)據(jù)是實(shí)數(shù),在缺省情況下顯示小數(shù)點(diǎn)后4位數(shù)字.可以在要輸出的數(shù)據(jù)前加上這些命令,如ans=3.1416formatshort,pi↙format+,pi↙formatbank,pi↙ans=3.14ans=+formatlonge,pi↙formatrat,pi↙ans=355/113ans=3.141592653589793e+00實(shí)驗(yàn)1.1
MATLAB的基本用法第一章準(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符號(hào)運(yùn)算實(shí)驗(yàn)1.2矩陣的運(yùn)算實(shí)驗(yàn)1.2
矩陣的運(yùn)算一、矩陣的四則運(yùn)算二、矩陣的轉(zhuǎn)置、行列式、秩和逆三、對(duì)角陣、上(下)三角陣和稀疏矩陣四、特征值與特征向量一、矩陣的四則運(yùn)算矩陣的四則運(yùn)算符有:+加法、-減法、^冪、*乘法、/右除、\左除在使用時(shí)應(yīng)該注意兩點(diǎn):①左除和右除的區(qū)別:設(shè)A是可逆矩陣,AX=B的解是A左除B,即X=A\B;XA=B的解是A右除B,即X=A/B。②冪,乘、除三種運(yùn)算和線性代數(shù)中的定義一致,但.^;.*;./;.\是指數(shù)組之間的運(yùn)算,即對(duì)應(yīng)元素進(jìn)行相應(yīng)的運(yùn)算。實(shí)驗(yàn)1.2
矩陣的運(yùn)算M=1.00000.50002.00002.00003.00003.00004.50001.00006.0000R1=
5.50004.50009.000016.000010.000024.000018.000016.000029.5000例如M=[1,.5,2;2,3,3;4.5,1,6]↙N=[2,2,3;3,1,4;1,1,2]↙N=223314112R1=M*N↙R2=M.*N↙R2=2.00001.00006.00006.00003.000012.00004.50001.000012.0000實(shí)驗(yàn)1.2
矩陣的運(yùn)算二、矩陣的轉(zhuǎn)置、行列式、秩和逆
設(shè)A是一個(gè)矩陣.A’求A的轉(zhuǎn)置det(A)求A的行列式(方陣),rank(A)求A的秩inv(A)求A的逆矩陣(若不可逆,則給出警告信息)A=123221343A=[1,2,3;2,2,1;3,4,3]↙實(shí)驗(yàn)1.2
矩陣的運(yùn)算ans=123224313ans=2ans=3A'↙det(A)↙rank(A)↙B=inv(A)↙B=1.00003.0000-2.0000-1.5000-3.00002.50001.00001.0000-1.0000實(shí)驗(yàn)1.2矩陣的運(yùn)算A=123456789ans=2警告:矩陣接近奇異值,或者縮放不良。結(jié)果可能不準(zhǔn)確。RCOND=1.541976e-18。
ans=
1.0e+16*
-0.45040.9007-0.45040.9007-1.80140.9007-0.45040.9007-0.4504A=[1,2,3;4,5,6;7,8,9]↙rank(A)↙inv(A)↙實(shí)驗(yàn)1.2
矩陣的運(yùn)算三、對(duì)角陣、上(下)三角陣和稀疏矩陣1.提?。óa(chǎn)生)對(duì)角陣v=diag(x):若輸入向量x,則輸出v是以x為對(duì)角元素的對(duì)角陣;v=100020003ans=123x=[123]↙x=123diag(v)↙v=diag(x)↙若輸入矩陣x,則輸出v是x的對(duì)角元素構(gòu)成的向量.實(shí)驗(yàn)1.2
矩陣的運(yùn)算2.提?。óa(chǎn)生)上(下)三角陣v=triu(x):輸入矩陣x,輸出x的上三角陣v;v=tril(x):輸入矩陣x,輸出x的下三角陣v.a=123456789b=123056009c=100450789a=[123;456;789]↙b=triu(a)↙c=tril(a)↙實(shí)驗(yàn)1.2
矩陣的運(yùn)算3.稀疏矩陣的處理
對(duì)稀疏矩陣在存儲(chǔ)和運(yùn)算上的特殊處理,是MATLAB進(jìn)行大規(guī)??茖W(xué)計(jì)算時(shí)的特點(diǎn)和優(yōu)勢(shì)之一.a(chǎn)=sparse(r,c,v,m,n):創(chuàng)建m行n列的稀疏矩陣a;其第r行、c列的元素為v。aa=full(a):將稀疏矩陣a轉(zhuǎn)換為滿矩陣aa(包括零元素)。用以下語(yǔ)句輸入稀疏矩陣的非零元素(零元素不必輸入),即可進(jìn)行計(jì)算.實(shí)驗(yàn)1.2
矩陣的運(yùn)算a=(2,2)8(2,3)8aa=00000880a=sparse(2,2:3,8,2,4),aa=full(a)↙實(shí)驗(yàn)1.2
矩陣的運(yùn)算關(guān)于特征值與特征向量,MATLAB有以下命令:命
令作
用poly(A)輸出A的特征多項(xiàng)式的系數(shù)(按降冪排列)d=eig(A)返回方陣A的全部特征值所構(gòu)成的向量[V,D]=eig(A)返回矩陣V和D.其中,對(duì)角陣D的對(duì)角元素為A的特征值,V的列向量是相應(yīng)的特征向量,使得A*V=V*Dd=eig(A,B)求解
.
返回方陣A和B的廣義特征值所構(gòu)成的向量[V,D]=eig(A,B)求廣義的特征值D和特征向量V,使得AV=BV*D實(shí)驗(yàn)1.2
矩陣的運(yùn)算四、特征值與特征向量A=400031013ans=1-1032-32ans=244例如:A=[400;031;013]↙poly(A)↙eig(A)↙實(shí)驗(yàn)1.2
矩陣的運(yùn)算v=
001.0000-0.70710.707100.70710.70710d=200040004ans=
400
031
013[v,d]=eig(A)↙v*d*inv(v)↙inv(v)*d*v↙ans=400040002實(shí)驗(yàn)1.2矩陣的運(yùn)算A=21-15B=3114d=
0.7405
1.3504V=
-1.0000-0.1708-0.85411.0000D=
0.7405001.3504A=[21;-15]↙B=[31;14]↙d=eig(A,B)↙[V,D]=eig(A,B)↙實(shí)驗(yàn)1.2矩陣的運(yùn)算A*V↙%驗(yàn)證A*V=B*V*Dans=-2.85410.6584
-3.27055.1708B*V*D↙
ans=-2.85410.6584
-3.27055.1708實(shí)驗(yàn)1.2矩陣的運(yùn)算55第一章準(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符號(hào)運(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ì)算軟件,不僅可以通過(guò)直接交互的指令和操作方式進(jìn)行強(qiáng)大的數(shù)值計(jì)算、繪圖等,還可以像
C、C++等高級(jí)程序語(yǔ)言一樣,根據(jù)自己的語(yǔ)法規(guī)則來(lái)進(jìn)行程序設(shè)計(jì).
M文件是一個(gè)文本文件,它可以用任何編輯程序來(lái)建立和編輯,而一般常用且最為方便的是使用MATLAB提供的文本編輯器.實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)編寫(xiě)的程序文件以
.m作為擴(kuò)展名,稱之為M文件.2.M文件的建立與打開(kāi)(1)建立新的M文件菜單操作:主頁(yè)——新建——腳本操作后會(huì)啟動(dòng)MATLAB文本編輯器,輸入M文件的內(nèi)容并存盤(pán)就建立了一個(gè)新的M文件。實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)命令操作:命令行窗口中輸入edit注:儲(chǔ)存時(shí)文件名遵循MATLAB變量命名的原則,但必須以.m為擴(kuò)展名.實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)(2)打開(kāi)已有的M文件菜單操作:主頁(yè)——打開(kāi)——選擇文件M文件根據(jù)調(diào)用方式的不同分為兩類(lèi):腳本文件(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(wàn)轉(zhuǎn)換為攝氏溫度c.解1首先建立腳本文件并以文件名f1c.m存盤(pán).解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時(shí),表示比較的兩個(gè)對(duì)象關(guān)系為真;當(dāng)返回值為0時(shí),表示比較的兩個(gè)對(duì)象關(guān)系為假.關(guān)系操作符功能<
判斷小于關(guān)系<=判斷小于等于關(guān)系>
判斷大于關(guān)系>=判斷大于等于關(guān)系==判斷等于關(guān)系~=判斷不等于關(guān)系注:關(guān)系運(yùn)算符“==”和賦值運(yùn)算符“=”是不同的,“==”用來(lái)判斷兩個(gè)數(shù)字或者變量是否有相等關(guān)系,“=”用來(lái)給變量賦值.實(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中對(duì)應(yīng)元素是否相等實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)2.邏輯運(yùn)算符邏輯運(yùn)算符說(shuō)明&與(Element-wiseLogicalAND)|或(Element-wiseLogicalOR)~非(優(yōu)先級(jí)最高)注:三種運(yùn)算符的優(yōu)先順序按從高到低排列為:算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符,從高到低,如果要改變運(yùn)算的優(yōu)先級(jí),可以在表達(dá)式中加入括號(hào).實(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時(shí),返回1%當(dāng)A中的元素大于7或者小于6時(shí),返回1三、程序控制結(jié)構(gòu)1.順序結(jié)構(gòu)——依次順序執(zhí)行程序的各條語(yǔ)句MATLAB語(yǔ)言的程序控制結(jié)構(gòu)與其它高級(jí)語(yǔ)言是一致的,分為順序結(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)用時(shí)采用‘s’選項(xiàng),則允許用戶輸入一個(gè)字符串。實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)其中提示信息為一個(gè)字符串,用于提示用戶輸入什么樣的數(shù)據(jù)。(2)數(shù)據(jù)的輸出——disp調(diào)用格式:disp(輸出項(xiàng))其中輸出項(xiàng)既可以為字符串,也可以為矩陣。(3)程序的暫?!猵ause調(diào)用格式:
pause(延遲秒數(shù))如果省略延遲時(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);存盤(pán)為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ù)一定條件來(lái)執(zhí)行各條語(yǔ)句(1)if語(yǔ)句條件語(yǔ)句if最簡(jiǎn)單的用法是:if條件<語(yǔ)句組1>end
如果條件成立,則語(yǔ)句組1執(zhí)行;
否則,執(zhí)行end的后繼命令實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)如果條件成立,則語(yǔ)句組1執(zhí)行;否則,語(yǔ)句組2執(zhí)行,然后執(zhí)行end的后續(xù)命令if語(yǔ)句的另一種用法是:if條件<語(yǔ)句組1>else<語(yǔ)句組2>endif條件1<語(yǔ)句組1>elseif條件2<語(yǔ)句組2>……elseif條件m<語(yǔ)句組m>else<語(yǔ)句組n>end當(dāng)我們有多個(gè)選擇時(shí),還可以用下列結(jié)構(gòu):實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例4計(jì)算分段函數(shù)的值.解程序如下:x=input('請(qǐng)輸入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
輸入一個(gè)字符,若為大寫(xiě)字母,則輸出其對(duì)應(yīng)的小寫(xiě)字母;若為小寫(xiě)字母,則輸出其對(duì)應(yīng)的大寫(xiě)字母;若為數(shù)字字符則輸出其對(duì)應(yīng)的數(shù)值,若為其他字符則原樣輸出.
c=input('請(qǐng)輸入一個(gè)字符','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語(yǔ)句switch
表達(dá)式case
表達(dá)式1〈語(yǔ)句組1〉case
表達(dá)式2〈語(yǔ)句組2〉……otherwise〈語(yǔ)句組n〉endswitch語(yǔ)句根據(jù)表達(dá)式的值來(lái)執(zhí)行相應(yīng)的語(yǔ)句,用法如下:實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例6
某商場(chǎng)對(duì)顧客所購(gòu)買(mǎi)的商品實(shí)行打折銷(xiāo)售,標(biāo)準(zhǔn)如下(商品價(jià)格用price來(lái)表示):
price<200沒(méi)有折扣
200≤price<5003%折扣
500≤price<10005%折扣
1000≤price<25008%折扣
2500≤price<500010%折扣
5000≤price14%折扣輸入所售商品的價(jià)格,求其實(shí)際銷(xiāo)售價(jià)格。實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)price=input(‘請(qǐng)輸入商品價(jià)格:’);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ì)請(qǐng)輸入商品價(jià)格:700↙price=665存盤(pán)為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語(yǔ)句try〈語(yǔ)句組1〉catch〈語(yǔ)句組2〉end
運(yùn)行時(shí)先試探性執(zhí)行語(yǔ)句組1,如果語(yǔ)句組1在執(zhí)行過(guò)程中出現(xiàn)錯(cuò)誤,則將錯(cuò)誤信息付給保留的lasterr變量,并轉(zhuǎn)去執(zhí)行語(yǔ)句組2。try語(yǔ)句用法如下:實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例7
矩陣乘法運(yùn)算要求兩矩陣的維數(shù)相容,否則會(huì)出錯(cuò).先求兩矩陣的乘積,若出錯(cuò),則自動(dòng)轉(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
%顯示出錯(cuò)原因解程序如下:實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)(1)for語(yǔ)句for循環(huán)變量=初值:步長(zhǎng):終值循環(huán)體語(yǔ)句end3.循環(huán)結(jié)構(gòu)——被重復(fù)執(zhí)行的一組語(yǔ)句,循環(huán)是計(jì)算機(jī)解決問(wèn)題的主要手段注:步長(zhǎng)為1時(shí)可以省略循環(huán)語(yǔ)句for的一般形式為:實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例8
一個(gè)三位整數(shù)各位數(shù)字的立方和等于該數(shù)本身則稱該數(shù)為水仙花數(shù),編寫(xiě)程序輸出全部水仙花數(shù).form=100:999m1=fix(m/100);
%求m的百位數(shù)字m2=rem(fix(m/10),10);%求m的十位數(shù)字m3=rem(m,10);
%求m的個(gè)位數(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時(shí),求y的值.y=0;n=100;fori=1:ny=y+1/(2*i-1);endy
解程序如下:在實(shí)際MATLAB編程中,采用循環(huán)語(yǔ)句會(huì)降低其執(zhí)行速度,所以前面的程序通常由下面的程序來(lái)代替:
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)體語(yǔ)句end執(zhí)行過(guò)程是依次將矩陣的各列元素賦給循環(huán)變量,然后執(zhí)行循環(huán)體語(yǔ)句,直至各列元素處理完畢。實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例10
寫(xiě)出下列程序的執(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語(yǔ)句如果不知道循環(huán)次數(shù),可以使用while循環(huán)來(lái)完成,其一般形式為:
while(條件)循環(huán)體語(yǔ)句
end
其執(zhí)行過(guò)程為:若條件成立,則執(zhí)行循環(huán)體語(yǔ)句,執(zhí)行后再判斷條件是否成立,如果不成立則跳出循環(huán).實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例11從鍵盤(pán)輸入若干個(gè)數(shù),當(dāng)輸入0時(shí)結(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語(yǔ)句和continue語(yǔ)句
continue語(yǔ)句控制跳過(guò)循環(huán)體中的某些語(yǔ)句。當(dāng)在循環(huán)體內(nèi)執(zhí)行到該語(yǔ)句時(shí),程序?qū)⑻^(guò)循環(huán)體中所有剩下的語(yǔ)句,繼續(xù)下一次循環(huán)。與循環(huán)結(jié)構(gòu)相關(guān)的語(yǔ)句還有break語(yǔ)句和continue語(yǔ)句.它們一般與if語(yǔ)句配合使用.
break語(yǔ)句用于終止循環(huán)的執(zhí)行.當(dāng)在循環(huán)體內(nèi)執(zhí)行到該語(yǔ)句時(shí),程序?qū)⑻鲅h(huán),繼續(xù)執(zhí)行循環(huán)語(yǔ)句的下一語(yǔ)句.實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例12
求[100,200]之間第一個(gè)能被21整除的整數(shù)。forn=100:200ifrem(n,21)~=0continueendbreakendn↙n=105解
循環(huán)語(yǔ)句可以嵌套,即一個(gè)循環(huán)結(jié)構(gòu)的循環(huán)體又包括一個(gè)循環(huán)結(jié)構(gòu),也稱為多重循環(huán)。(4)循環(huán)的嵌套實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例13
若一個(gè)數(shù)等于它的各個(gè)真因子之和,則稱該數(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ù)名(輸入形參)%注釋說(shuō)明部分函數(shù)體語(yǔ)句注2:這個(gè)M-文件的文件名必須是函數(shù)名.m1.函數(shù)文件的基本結(jié)構(gòu)函數(shù)M-文件必須由function語(yǔ)句引導(dǎo),其基本結(jié)構(gòu)為:注1:若輸出形參不止一個(gè),可用方括號(hào)將它們括起來(lái),并用逗號(hào)分開(kāi)。實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)例14
編寫(xiě)函數(shù)文件求半徑為r的圓的面積和周長(zhǎng).
解函數(shù)文件如下:function[s,p]=fcircle(r)%CIRCLEcalculatetheareaandperimeterofacircleofradiir%r圓半徑%s圓面積%p圓周長(zhǎng)%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í)各實(shí)參出現(xiàn)的順序、個(gè)數(shù),應(yīng)與函數(shù)定義時(shí)形參的順序、個(gè)數(shù)一致,否則會(huì)出錯(cuò)
函數(shù)調(diào)用時(shí),先將實(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)(ρ,θ)之間的轉(zhuǎn)換.function[rho,theta]=tran(x,y)rho=sqrt(x*x+y*y);theta=atan(y/x);
x=input('Pleaseinputx=:');y=input('Pleaseinputy=:');[rho,the]=tran(x,y);rhothe調(diào)用tran.m的命令文件main1.m:解編寫(xiě)函數(shù)文件tran.m:實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)
函數(shù)可以嵌套調(diào)用,即一個(gè)函數(shù)可以調(diào)用別的函數(shù),甚至調(diào)用它自身,一個(gè)函數(shù)調(diào)用它自身稱為函數(shù)的遞歸調(diào)用。例16
利用函數(shù)的遞歸調(diào)用求n!functionf=factor(n)ifn<=1f=1;elsef=factor(n-1)*n;end解遞歸調(diào)用函數(shù)文件factor.m如下:ans=120factor(5)↙實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)3.函數(shù)參數(shù)的可調(diào)性在調(diào)用函數(shù)時(shí),MATLAB用兩個(gè)永久變量nargin和nargout分別記錄調(diào)用該函數(shù)時(shí)的輸入實(shí)參和輸出實(shí)參的個(gè)數(shù).實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)只要在函數(shù)文件中包含這兩個(gè)變量,就可以準(zhǔn)確地知道該函數(shù)文件被調(diào)用時(shí)的輸入、輸出參數(shù)個(gè)數(shù),從而決定函數(shù)如何進(jìn)行處理.MATLAB中用global命令定義全局變量,格式為:
global變量名實(shí)驗(yàn)1.3
M文件與程序設(shè)計(jì)4.全局變量與局部變量
函數(shù)文件內(nèi)部的變量是局部變量,它們與其他函數(shù)文件及MATLAB工作空間相互隔離.但是,如果在若干函數(shù)中都把某一變量定義為全局變量,那么這些函數(shù)將公用這一個(gè)變量.
全局變量的作用域是整個(gè)MATLAB工作空間,所有的函數(shù)都可以對(duì)它進(jìn)行存取和修改.因此,定義全局變量是函數(shù)間傳遞信息的一種手段.98第一章準(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符號(hào)運(yùn)算數(shù)學(xué)實(shí)驗(yàn)99實(shí)驗(yàn)1.4MATLAB繪圖一、一元函數(shù)的作圖(二維圖形)二、其他二維圖形三、隱函數(shù)繪圖五、圖形修飾處理數(shù)學(xué)實(shí)驗(yàn)四、三維圖形一、二維數(shù)據(jù)曲線圖實(shí)驗(yàn)1.4
MATLAB繪圖(1)符號(hào)函數(shù)繪圖——fplotfplot函數(shù)的基本調(diào)用格式為:fplot(f,xinterval)
,
其中f為要繪制的函數(shù),常用函數(shù)句柄來(lái)表示.xinterval為x的取值范圍注:函數(shù)句柄是一種表示函數(shù)的MATLAB數(shù)據(jù)類(lèi)型,它的作用是將一個(gè)函數(shù)封裝成一個(gè)變量,使其能夠像其它變量一樣在程序的不同部分傳遞。函數(shù)句柄可以表示命名函數(shù)或匿名函數(shù),要?jiǎng)?chuàng)建函數(shù)句柄,可用
@
操作符,并且要使用數(shù)組運(yùn)算符。例如,創(chuàng)建用于計(jì)算表達(dá)式
的匿名函數(shù)的句柄為:f=@(x,y)(x.^2-y.^2)1.繪制單根二維曲線fplot(@(x)cos(tan(pi*x)),[0,1])↙例1
用fplot函數(shù)繪制的曲線.解
命令如下:實(shí)驗(yàn)1.4
MATLAB繪圖實(shí)驗(yàn)1.4
MATLAB繪圖(2)數(shù)值數(shù)據(jù)繪圖——plotplot函數(shù)的基本調(diào)用格式為:plot(x,y),其中x和y為長(zhǎng)度相同的向量,分別用于存儲(chǔ)x坐標(biāo)和y坐標(biāo)數(shù)據(jù).例2
在區(qū)間內(nèi),繪制曲線解命令如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*cos(4*pi*x);plot(x,y)例3
繪制曲線:解
命令如下:
t=0:0.1:2*pi;x=t.*sin(3*t);y=t.*sin(t).*sin(t);plot(x,y)實(shí)驗(yàn)1.4
MATLAB繪圖2.繪制多根二維曲線繪制多根二維曲線可采用下面兩種形式:(1)plot函數(shù)的輸入?yún)?shù)是矩陣形式1)當(dāng)x是向量,y是其行(列)向量與x同維的矩陣時(shí),則繪制出多根不同顏色的曲線.曲線條數(shù)等于y矩陣的列(行)向量的維數(shù),x被作為這些曲線共同的橫坐標(biāo).2)當(dāng)x,
y是同維矩陣時(shí),則以x,
y對(duì)應(yīng)列元素為橫、縱坐標(biāo)分別繪制曲線,曲線條數(shù)等于矩陣的列數(shù).實(shí)驗(yàn)1.4
MATLAB繪圖3)對(duì)只包含一個(gè)輸入?yún)?shù)的plot函數(shù),當(dāng)輸入?yún)?shù)是實(shí)矩陣時(shí),則按列繪制每列元素值相對(duì)其下標(biāo)的曲線,曲線條數(shù)等于輸入?yún)?shù)矩陣的列數(shù).當(dāng)輸入?yún)?shù)是復(fù)數(shù)矩陣時(shí),則按列分別以元素實(shí)部和虛部為橫、縱坐標(biāo)繪制多條曲線.調(diào)用格式為:plot(x1,y1,x2,y2,…,xn,yn)(2)含多個(gè)輸入?yún)?shù)的plot函數(shù)1)當(dāng)輸入?yún)?shù)都為向量時(shí),x1和y1,x2和y2,…,xn和yn分別組成一組向量對(duì),每一組向量對(duì)的長(zhǎng)度可以不同.每一向量對(duì)可以繪制出一條曲線,這樣可以在同一坐標(biāo)系內(nèi)繪制出多條曲線.實(shí)驗(yàn)1.4
MATLAB繪圖2)當(dāng)輸入?yún)?shù)有矩陣形式時(shí),配對(duì)的x,y按對(duì)應(yīng)列元素為橫、縱坐標(biāo)分別繪制曲線,曲線條數(shù)等于矩陣的列數(shù).x1=linspace(0,2*pi,100);x2=linspace(0,3*pi,100);x3=linspace(0,4*pi,100);y1=sin(x1);y2=1+sin(x2);y3=2+sin(x3);x=[x1;x2;x3]';y=[y1;y2;y3]';plot(x,y,x1,y1-1)例4
分析下列程序繪制的曲線.實(shí)驗(yàn)1.4
MATLAB繪圖解
該程序在同一坐標(biāo)中繪制出和的圖像:在MATLAB中,如果需要繪制出具有不同縱坐標(biāo)標(biāo)度的兩個(gè)圖形,可以使用plotyy繪圖函數(shù).(3)具有兩個(gè)縱坐標(biāo)標(biāo)度的圖形調(diào)用格式為:plotyy(x1,y1,x2,y2),其中x1,y1對(duì)應(yīng)一條曲線,x2,y2對(duì)應(yīng)另一條曲線.橫坐標(biāo)的標(biāo)度相同,縱坐標(biāo)有兩個(gè),左縱坐標(biāo)用于x1,y1數(shù)據(jù)對(duì),右縱坐標(biāo)用于x2,y2數(shù)據(jù)對(duì).實(shí)驗(yàn)1.4
MATLAB繪圖x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);plotyy(x,y1,x,y2)
解
命令如下:實(shí)驗(yàn)1.4
MATLAB繪圖例5
用不同標(biāo)度在同一坐標(biāo)系內(nèi)繪制曲線
和(4)圖形保持holdon/off命令是控制保持原有圖形還是刷新原有圖形,不帶參數(shù)的
hold命令在兩種狀態(tài)之間進(jìn)行切換。實(shí)驗(yàn)1.4
MATLAB繪圖例6
采用圖形保持,在同一坐標(biāo)內(nèi)繪制曲線
和解
命令如下:fplot(@(x)0.2*exp(-0.5*x).*cos(4*pi*x),[0,2*pi])holdonfplot(@(x)2*exp(-0.5*x).*cos(pi*x),[0,2*pi])↙3.設(shè)置曲線樣式線方式-:-.--實(shí)線(solid)點(diǎn)線(dotted)虛點(diǎn)線(dashdot)波折線(dashed)點(diǎn)方式.+*xosdv^<>ph圓點(diǎn)加號(hào)星號(hào)x形小圓正方形菱形下三角形上三角左三角形右三角形五角星六角形顏色yrgbwkmc黃色紅色綠色藍(lán)色白色黑色洋紅色青色實(shí)驗(yàn)1.4
MATLAB繪圖
要設(shè)置曲線樣式可以在plot函數(shù)中加繪圖選項(xiàng),其調(diào)用格式為:plot(x1,y1,’選項(xiàng)1’,x2,y2,’選項(xiàng)2’,…,xn,yn,’選項(xiàng)n’)如
x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);plot(x,y1,x,y2,'k:')↙實(shí)驗(yàn)1.4
MATLAB繪圖4.圖形標(biāo)注與坐標(biāo)控制title(’圖形名稱’)加圖形標(biāo)題xlable(’x軸說(shuō)明’)加x軸說(shuō)明ylable(’y軸說(shuō)明’)加y軸說(shuō)明text(x,y,’圖形說(shuō)明’)在指定位置添加圖形說(shuō)明legend(‘圖例1’,‘圖例2,…’)加圖例實(shí)驗(yàn)1.4
MATLAB繪圖(1)圖形標(biāo)注注:命令中的說(shuō)明文字,除使用標(biāo)準(zhǔn)的ASCII字符外,還可使用LaTeX格式的控制字符,這樣就可以在圖形上添加希臘字母、數(shù)學(xué)符號(hào)及公式等內(nèi)容.x=0:pi/100:2*pi;y1=2*exp(-0.5*x);y2=cos(4*pi*x);plot(x,y1,x,y2)title('xfrom0to2{\pi}');%加圖形標(biāo)題xlabel('VariableX');%加X(jué)軸說(shuō)明ylabel('VariableY');%加Y軸說(shuō)明text(0.8,1.5,‘曲線y1=2e^{-0.5x}’);%在指定位置添加圖形說(shuō)明
text(2.5,1.1,'曲線y2=cos(4{\pi}x)');legend('y1','y2')
↙
%加圖例解
命令如下:例7
在區(qū)間內(nèi),繪制曲線和并給圖形添加圖形標(biāo)注.實(shí)驗(yàn)1.4
MATLAB繪圖實(shí)驗(yàn)1.4
MATLAB繪圖x=linspace(0,2*pi,30);y=sin(x);z=cos(x);plot(x,y,x,z)gtext('sinx'),gtext('cosx')也可以用鼠標(biāo)來(lái)確定字符串的位置,方法是輸入命令:gtext例如:
實(shí)驗(yàn)1.4
MATLAB繪圖axis([xmin
xmax
ymin
ymax])[]中分別給出x軸和y軸的最小、最大值axisequalx軸和y軸的單位長(zhǎng)度相等axisauto使用缺省設(shè)置axissquare圖框呈方形axisoff(on)取消(顯示)坐標(biāo)軸boxon/off命令控制是加還是不加坐標(biāo)邊框線,不帶參數(shù)的box
命令在兩種狀態(tài)之間進(jìn)行切換。實(shí)驗(yàn)1.4
MATLAB繪圖(2)坐標(biāo)控制——axisgridon/off命令控制是畫(huà)還是不畫(huà)網(wǎng)格線,不帶參數(shù)的
grid命令在兩種狀態(tài)之間進(jìn)行切換。例8
在同一坐標(biāo)中,繪制3個(gè)同心圓,并加坐標(biāo)控制.解
命令如下:t=0:0.01:2*pi;x=exp(i*t);y=[x;2*x;3*x]';plot(y)gridon;%加網(wǎng)格線
boxon;%加坐標(biāo)邊框
axisequal%坐標(biāo)軸采用等刻度實(shí)驗(yàn)1.4
MATLAB繪圖實(shí)驗(yàn)1.4
MATLAB繪圖MATLAB在“繪圖”菜單中提供了可視化的圖形編輯工具,該菜單中列出了一些常用的圖形樣式,在工作區(qū)中選定變量后,可直接點(diǎn)擊相應(yīng)的圖形按鈕,系統(tǒng)就會(huì)自動(dòng)地匹配出圖形.5.圖形的可視化編輯6.圖形窗口的分割——subplotsubplot函數(shù)的調(diào)用格式為:subplot(m,n,p)該函數(shù)將當(dāng)前圖形窗口分成m×n個(gè)繪圖區(qū),即每行n個(gè),共m行,區(qū)號(hào)按行優(yōu)先編號(hào),且選定第p個(gè)區(qū)為當(dāng)前活動(dòng)區(qū).在每一個(gè)繪圖區(qū)允許以不同的坐標(biāo)系單獨(dú)繪制圖形.x=linspace(0,2*pi,30);y=sin(x);z=cos(x);u=2*sin(x).*cos(x);v=sin(x)./cos(x);subplot(2,2,1),plot(x,y),axis([02*pi-11]),title('sin(x)')subplot(2,2,2),plot(x,z),axis([02*pi-11]),title('cos(x)')subplot(2,2,3),plot(x,u),axis([02*pi-11]),title('2sin(x)cos(x)')subplot(2,2,4),plot(x,v),axis([02*pi-2020]),title('sin(x)/cos(x)')↙例9
在圖形窗口中,以子圖形式同時(shí)繪制多根曲線.實(shí)驗(yàn)1.4
MATLAB繪圖實(shí)驗(yàn)1.4
MATLAB繪圖1.極坐標(biāo)圖——polarpolar(theta,rho,選項(xiàng))theta(極角,用弧度)rho(極徑)是同維向量,選項(xiàng)的內(nèi)容同plot函數(shù)實(shí)驗(yàn)1.4
MATLAB繪圖二、其他二維圖形t=0:pi/50:2*pi;r=sin(t).*cos(t);polar(t,r,'-*')↙例10繪制
的極坐標(biāo)圖,并標(biāo)記數(shù)據(jù)點(diǎn).
解
命令如下:2.二維統(tǒng)計(jì)分析圖
MATLAB中,二維統(tǒng)計(jì)分析圖形很多,常見(jiàn)的有條形圖、階梯圖、桿圖和填充圖等bar(x,y,’選項(xiàng)’)條形圖stairs(x,y,’選項(xiàng)’)階梯圖stem(x,y,’選項(xiàng)’)桿圖fill(x1,y1,’選項(xiàng)1’,x2,y2,’選項(xiàng)2’,…)填充圖實(shí)驗(yàn)1.4
MATLAB繪圖x=0:pi/10:2*pi;y=2*sin(x);subplot(2,2,1);bar(x,y,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆江蘇省蘇州市蘇苑高級(jí)中學(xué)高三二診模擬考試語(yǔ)文試卷含解析
- 黑龍江省雞西市虎林市東方紅林業(yè)局中學(xué)2025屆高考臨考沖刺語(yǔ)文試卷含解析
- 廣元市重點(diǎn)中學(xué)2025屆高考沖刺模擬數(shù)學(xué)試題含解析
- 2025屆安徽定遠(yuǎn)縣爐橋中學(xué)高三第五次模擬考試數(shù)學(xué)試卷含解析
- 《防雷電主題班會(huì)》課件
- 化學(xué)計(jì)量在實(shí)驗(yàn)中的應(yīng)用課件
- 現(xiàn)代學(xué)徒制課題:中國(guó)特色學(xué)徒制的政策保障研究(附:研究思路模板、可修改技術(shù)路線圖)
- 浙江省慈溪市六校2025屆高三下學(xué)期第五次調(diào)研考試語(yǔ)文試題含解析
- 福建省福建師大附中2025屆高三適應(yīng)性調(diào)研考試數(shù)學(xué)試題含解析
- 2025屆貴州省黔西南市高三第四次模擬考試數(shù)學(xué)試卷含解析
- 藥學(xué)健康宣教課件
- 四川省宜賓市2023-2024學(xué)年八年級(jí)上學(xué)期期末義務(wù)教育階段教學(xué)質(zhì)量監(jiān)測(cè)英語(yǔ)試題
- 膝關(guān)節(jié)骨關(guān)節(jié)炎干細(xì)胞治療研究
- 農(nóng)產(chǎn)品品質(zhì)評(píng)價(jià)與標(biāo)準(zhǔn)制定
- 年處理2萬(wàn)噸廢舊鋰電池回收建設(shè)項(xiàng)目可行性研究報(bào)告
- 生物醫(yī)學(xué)工程學(xué)專業(yè)介紹
- 物業(yè)管理部日常巡查制度
- 《內(nèi)部控制》ppt課件完整版
- 醫(yī)療器械(耗材)項(xiàng)目投標(biāo)服務(wù)投標(biāo)方案(技術(shù)方案)
- 中華傳統(tǒng)文化融入幼兒園課程的實(shí)踐及反思
- 中國(guó)歷史人物故事10篇
評(píng)論
0/150
提交評(píng)論