集美大學-MATLAB程序設計與應用-期末總復習_第1頁
集美大學-MATLAB程序設計與應用-期末總復習_第2頁
集美大學-MATLAB程序設計與應用-期末總復習_第3頁
集美大學-MATLAB程序設計與應用-期末總復習_第4頁
集美大學-MATLAB程序設計與應用-期末總復習_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

集美大學-MATLAB程序設計與應用-期末總復習集美大學-MATLAB程序設計與應用-期末總復習集美大學-MATLAB程序設計與應用-期末總復習V:1.0精細整理,僅供參考集美大學-MATLAB程序設計與應用-期末總復習日期:20xx年X月集美大學MATLAB程序設計與應用期末總復習一、填空題1、MATLAB常用操作界面包括命令窗口、工作空間窗口(瀏覽器)、歷史命令窗口、當前目錄窗口、內(nèi)存數(shù)組編輯器、M文件編輯/調(diào)試器、

幫助導航/瀏覽器、圖形窗口等。

2、MATLAB中Inf或inf表示無窮大、NaN或nan表示不是一個數(shù)、nargout表示函數(shù)輸出變量數(shù)目。

3、MATLAB中逗號主要用作要顯示計算結果的指令與其后指令的分隔符;

用作輸入量與輸入量之間的分隔符;用作數(shù)組元素分隔符號。

4、工作空間瀏覽器主要用于內(nèi)存變量的查閱、保存和編輯。

5、MATLAB實現(xiàn)將全下標轉(zhuǎn)換為單下標的指令為Sub2ind、據(jù)單下標換算出全

下標的指令為Ind2sub。

6、二維數(shù)組的標識有“全下標”標識、“單下標”標識、“邏輯1”標識。

7、在一個元胞數(shù)組A中尋訪第2行第3列元胞元素用A(2,3);尋訪數(shù)組第

2行第3列元胞中的內(nèi)容用A{2,3}。

8、MATLAB中clf用于清除圖形窗、clc用于清除指令窗中顯示內(nèi)容、clear

用于清除MATLAB工作空間中保存的變量。

二、簡答題

1、簡述MATLAB歷史指令窗的主要作用。

答:歷史指令窗記錄著用戶在MATLAB指令窗中所輸入過的所有指令。歷史記錄包括:每次開啟MATLAB的時間,每次開啟MATLAB后在指令窗中運行過的所有指令。應用功能有單行或多行指令的復制和運行、生成M文件等。

2、簡述空數(shù)組的功用。

答:“空”數(shù)組的功用:在沒有“空”數(shù)組參與的運算時,計算結果中的“空”可以合理地解釋“所得結果的含義”;運用“空”數(shù)組對其他非空數(shù)組賦值,可以改變數(shù)組的大小,但不能改變數(shù)組的維數(shù)。

3、簡述MATLAB函數(shù)的基本結構。

答:典型M函數(shù)文件的結構:函數(shù)申明(定義)行(Functiondeclarationline)、H1行(Thefirsthelptextline)、在線幫助文本(Helptext)區(qū)、編寫和修改記錄、函數(shù)體(Functionbody)。

4、簡述繪制二維圖形的一般步驟。

三、編程題(1)在同一圖上分別用紅色實線和綠色虛線繪制y1=sin(x)和y2=cos(x)在區(qū)間[0,4*pi]的曲線,并用星號*標出兩條曲線的交點以及建立圖例。書p123、p126解:clfx=0:pi/200:4*pi;y1=sin(x);y2=cos(x);zz=x(find(abs(y1-y2)<0.005))z=min(zz)plot(x,y1,'r-',x,y2,'g_')holdonplot(zz,sin(zz),'*')legend('sin','cos')(2)分別在同一圖形窗的不同子圖繪制y=sin(t)sin(9t)和y=sin(t)sin(9t)及其包絡線。P121解:t=(0:pi/100:pi)'; y1=sin(t)*[1,-1]; y2=sin(t).*sin(9*t); t3=pi*(0:9)/9; y3=sin(t3).*sin(9*t3);subplot(1,2,1)plot(t,y1,'r:',t,y2,'b',t3,y3,'bo')subplot(1,2,2)plot(t,y2,'b')axis([0,pi,-1,1])(3)某商場對顧客所購買的商品實行打折銷售,標準如下(商品價格用price來表示):price<200沒有折扣200≤price<5003%折扣500≤price<10005%折扣1000≤price<25008%折扣2500≤price<500010%折扣5000≤price14%折扣輸入所售商品的價格,求其實際銷售價格。P172解: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)%輸出商品實際銷售價格(4)用符號變量法解如下方程p解:eq1=sym(‘x+2*y+z=1’);eq2=sym(‘2*x+y-2*z=3’);eq3=sym(‘3*x-4*y+2*z=9’);[x,y,z]=solve(a,b,c)(5)將matlab繪圖窗口分割為二個區(qū)域,在左區(qū)域繪出y1曲線,在右區(qū)域繪出y2曲線,y1為紅色,y2為藍色,步距0.01.p121解:x1=0:0.01:5;y1=x*exp(-2*x);subplot(1,2,1);plot(x1,y1,’r’);x2=-2:0.01:2;y2=5*cos(3*pi*x2);subplot(1,2,2);plot(x2,y2,’b’);(6)某班有50名學生,進行英語考試,考試成績?yōu)?優(yōu)秀8人,良好14人,中等20人,及格5人,不及格3人.試繪該班英語考試成績分布的三維餅圖,將優(yōu)秀塊及不及格塊分離.p143解:x=[8,14,20,5,3];explode=[1,0,0,0,1];pie3(x,explode)閱讀程序(1)寫出下列指令運行結果。P51A=[1,2;3,4];B=[-1,-2;2,1];S=3;A.*BA*BS.*AS*B解:ans=-1-464ans=305-2ans=36912ans=-3-663(2)寫出下列指令運行結果。A=zeros(2,4); A(:)=1:8; s=[235]; A(s) Sa=[102030]’ A(s)=Sa 解:ans=235Sa=102030A=12030710468(3)下面的函數(shù)主要完成什么功能?

functionf=factor(n)ifn<=1f=1;elsef=factor(n-1)*n;end解:功能是利用函數(shù)的遞歸調(diào)用,求n!(4)下面的程序完成功能是什么?t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,'-r',t,y0,':b',t,-y0,':b')xlabel(‘\bf\itt’);ylabel(‘\bf\ity’);gridon;解:在同一個圖中繪制兩個函數(shù),這兩個函數(shù)分別是:y=e(-t/3)y0=e(-t/3)*sin(3t)其中y是用紅色的細實線,而y0是用蘭色的虛線繪制,t的區(qū)間是(0:4),t的步長為/50,t軸和y軸分別用斜粗題指示,圖中有網(wǎng)格表示。(5)寫出下列指令運行結果。ch=‘ABc123d4e56Fg9’;subch=ch(1:5)revch=ch(end:-1:1)k=find(ch>=‘a(chǎn)’&ch<=‘z’);ch(k)=ch(k)-(‘a(chǎn)’-‘A’);char(ch)解:結果為ABC123D4E56FG9(6)s1=0;s2=0;n1=0;n2=0x=[1,-4,-8,3,10,-9,7,-3,10,8,-5,-2,2,0];m=length(x);fori=1:mifx(i)<0s1=s1+x(i);n1=n1+1;elses2=s2+x(i);n2=n2+1;endends1,n1,s2,n2,ms1=-31;n1=6;s2=41;n2=8;m=14.1與其他計算機語言相比較,MATLAB語言突出的特點是什么?MATLAB具有功能強大、使用方便、輸入簡捷、庫函數(shù)豐富、開放性強等特點。1.2MATLAB系統(tǒng)由那些部分組成?MATLAB系統(tǒng)主要由開發(fā)環(huán)境、MATLAB數(shù)學函數(shù)庫、MATLAB語言、圖形功能和應用程序接口五個部分組成。二、編程題(32分)4、編寫程序?qū)崿F(xiàn)f(n)=f(n-1)+f(n-2)(f(1)=1和f(2)=2)函數(shù)。(6分)functionf=fab(n)if(n==1)f=1;elseif(n==2)f=2;elsef=fab(n-1)+fab(n-2);end1,計算與的數(shù)組乘積。>>a=[693;275];>>b=[241;468];>>a.*bans=12363842402,對于,如果,,求解X。>>A=[492;764;357];>>B=[372628]’;>>X=A\BX=-0.51184.04271.33183,已知:,分別計算a的數(shù)組平方和矩陣平方,并觀察其結果。>>a=[123;456;789];>>a.^2ans=149162536496481>>a^2ans=3036426681961021261504,角度,求x的正弦、余弦、正切和余切。>>x=[304560];>>x1=x/180*pi;>>sin(x1)ans=0.50000.70710.8660>>cos(x1)ans=0.86600.70710.5000>>tan(x1)ans=0.57741.00001.7321>>cot(x1)ans=1.73211.00000.57745,將矩陣、和組合成兩個新矩陣:(1)組合成一個43的矩陣,第一列為按列順序排列的a矩陣元素,第二列為按列順序排列的b矩陣元素,第三列為按列順序排列的c矩陣元素,即(2)按照a、b、c的列順序組合成一個行矢量,即>>a=[42;57];>>b=[71;83];>>c=[59;62];%(1)>>d=[a(:)b(:)c(:)]d=475586219732%(2)>>e=[a(:);b(:);c(:)]'e=452778135692或利用(1)中產(chǎn)生的d>>e=reshape(d,1,12)ans=4527781356926,將(x-6)(x-3)(x-8)展開為系數(shù)多項式的形式。>>a=[638];>>pa=poly(a);>>ppa=poly2sym(pa)ppa=x^3-17*x^2+90*x-1447,求解多項式x3-7x2+2x+40的根。>>r=[1-7240];>>p=roots(r);-0.21510.44590.79490.27078,求解在x=8時多項式(x-1)(x-2)(x-3)(x-4)的值。>>p=poly([1234]);>>polyvalm(p,8)ans=8409,計算多項式的微分和積分。>>p=[4–12–145];>>pder=polyder(p);>>pders=poly2sym(pder)>>pint=polyint(p);>>pints=poly2sym(pint)pders=12*x^2-24*x-14pints=x^4-4*x^3-7*x^2+5*x10,解方程組。>>a=[290;3411;226];>>b=[1366]';>>x=a\bx=7.4000-0.2000-1.400011,求欠定方程組的最小范數(shù)解。>>a=[2474;9356];>>b=[85]';>>x=pinv(a)*bx=-0.21510.44590.79490.270712,矩陣,計算a的行列式和逆矩陣。>>a=[42-6;754;349];>>ad=det(a)>>ai=inv(a)ad=-64ai=-0.45310.6562-0.59370.7969-0.84370.9062-0.20310.1562-0.093713y=sin(x),x從0到2,x=0.02,求y的最大值、最小值、均值和標準差。>>x=0:0.02*pi:2*pi;>>y=sin(x);>>ymax=max(y)>>ymin=min(y)>>ymean=mean(y)>>ystd=std(y)ymax=1ymin=-1ymean=2.2995e-017ystd=0.707114,參照課件中例題的方法,計算表達式的梯度并繪圖。>>v=-2:0.2:2;>>[x,y]=meshgrid(v);>>z=10*(x.^3-y.^5).*exp(-x.^2-y.^2);>>[px,py]=gradient(z,.2,.2);>>contour(x,y,z)>>holdon>>quiver(x,y,px,py)>>holdoff15,下面三種表示方法有什么不同的含義?(1)f=3*x^2+5*x+2(2)f='3*x^2+5*x+2'(3)x=sym('x')f=3*x^2+5*x+2(1)f=3*x^2+5*x+2表示在給定x時,將3*x^2+5*x+2的數(shù)值運算結果賦值給變量f,如果沒有給定x則指示錯誤信息。(2)f='3*x^2+5*x+2'表示將字符串'3*x^2+5*x+2'賦值給字符變量f,沒有任何計算含義,因此也不對字符串中的內(nèi)容做任何分析。(3)x=sym('x')f=3*x^2+5*x+2表示x是一個符號變量,因此算式f=3*x^2+5*x+2就具有了符號函數(shù)的意義,f也自然成為符號變量了。16,用符號函數(shù)法求解方程at2+b*t+c=0。>>r=solve('a*t^2+b*t+c=0','t')r=[1/2/a*(-b+(b^2-4*a*c)^(1/2))][1/2/a*(-b-(b^2-4*a*c)^(1/2))]17,用符號計算驗證三角等式:(應用syms,simple)sin(1)cos(2)-cos(1)sin(2)=sin(1-2)>>symsphi1phi2;>>y=simple(sin(phi1)*cos(phi2)-cos(phi1)*sin(phi2))y=sin(phi1-phi2)18,求矩陣的行列式值、逆和特征根。>>symsa11a12a>>A=[a11,a12;a21,a22]>>AD=det(A)%行列式>>AI=inv(A)%逆>>AE=eig(A)%特征值A=[a11,a12][a21,a22]AD=a11*a22-a12*a21AI=[-a22/(-a11*a22+a12*a21),a12/(-a11*a22+a12*a21)][a21/(-a11*a22+a12*a21),-a11/(-a11*a22+a12*a21)]AE=[1/2*a11+1/2*a22+1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)][1/2*a11+1/2*a22-1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]19,因式分解:>>symsx;>>f=x^4-5*x^3+5*x^2+5*x-6;>>factor(f)ans=(x-1)*(x-2)*(x-3)*(x+1)20,,用符號微分求df/dx。(應用syms,diff)>>symsax;>>f=[a,x^2,1/x;exp(a*x),log(x),sin(x)];>>df=diff(f)df=[0,2*x,-1/x^2][a*exp(a*x),1/x,cos(x)]26,x=[6649715638],繪制餅圖,并將第五個切塊分離出來。>>x=[6649715638];>>L=[00001];>>pie(x,L)28,有一周期為4的正弦波上疊加了方差為0.1的正態(tài)分布的隨機噪聲的信號,用循環(huán)結構編制一個三點線性滑動平均的程序。(提示:①用0.1*randn(1,n)產(chǎn)生方差為0.1的正態(tài)分布的隨機噪聲;②三點線性滑動平均就是依次取每三個相鄰數(shù)的平均值作為新的數(shù)據(jù),如x1(2)=(x(1)+x(2)+x(3))/3,x1(3)=(x(2)+x(3)+x(4))/3……)t=0:pi/50:4*pi;n=length(t);y=sin(t)+0.1*randn(1,n);ya(1)=y(1);fori=2:n-1ya(i)=sum(y(i-1:i+1))/3;endya(n)=y(n);plot(t,y,'c',t,ya,'r','linewidth',2)29,編制一個解數(shù)論問題的函數(shù)文件:取任意整數(shù),若是偶數(shù),則用2除,否則乘3加1,重復此過程,直到整數(shù)變?yōu)?。functionc=collatz(n)%collatz%Classic“3n+1”Ploblemfromnumbertheoryc=n;whilen>1ifrem(n,2)==0n=n/2;elsen=3*n+1;endc=[cn];end3.求下列聯(lián)立方程的解>>a=[34-7-12;5-742;108-5;-65-210];>>b=[4;4;9;4];>>c=a\b4.設,,求C1=A*B’;C2=A’*B;C3=A.*B,并求上述所有方陣的逆陣。>>A=[14813;-36-5-9;2-7-12-8];>>B=[543-2;6-23-8;-13-97];>>C1=A*B'>>C2=A'*B>>C3=A.*B>>inv(C1)>>inv(C2)>>inv(C3)5.設,把x=0~2π間分為101點,畫出以x為橫坐標,y為縱坐標的曲線。>>x=linspace(0,2*pi,101);>>y=cos(x)*(0.5+(1+x.^2)\3*sin(x));>>plot(x,y,'r')6.產(chǎn)生8×6階的正態(tài)分布隨機數(shù)矩陣R1,求其各列的平均值和均方差。并求該矩陣全體數(shù)的平均值和均方差。(meanvar)a=randn(8,6)mean(a)var(a)k=mean(a)k1=mean(k)i=ones(8,6)i1=i*k1i2=a-i1i3=i2.*i2g=mean(i3)g2=mean(g)或者u=reshape(a,1,48);p1=mean(u)p2=var(u)7.設x=rcost+3t,y=rsint+3,分別令r=2,3,4,畫出參數(shù)t=0~10區(qū)間生成的x~y曲線。>>t=linspace(0,10);>>r1=2;>>x1=(r1*cos(t)+3*t);>>y1=r1*sin(t)+3;>>r2=3;>>x2=(r2*cos(t)+3*t);>>y2=r2*sin(t)+3;>>r3=4;>>x3=(r3*cos(t)+3*t);>>y3=r3*sin(t)+3;>>plot(x1,y1,'r',x2,y2,'b',x3,y3,'m')8.設f(x)=x5-4x4+3x2-2x+6(1)在x=[-2,8]之間取100個點,畫出曲線,看它有幾個過零點。(提示:用polyval函數(shù))>>x=linspace(2,8,100);>>y=polyval([10-43-26],x);>>plot(x,y,'b',x,0,'y')(2)用roots函數(shù)求此多項式的根。t=[10-43-26]p=roots(t)3、下列變量中的最大數(shù)是(C),最小的是(D)A.epsB.realminC.realmaxD.-pi4、在MATLAB的若干通用操作指令中,清除內(nèi)存中的變量的是(A)A.clearB.claC.clfD.clc5、下列表示可以作為MATLAB的變量的是(DF)A.a(chǎn)bcd-2B.xyz_2#C.@hD.X_1_aE.forF.for16、在Matlab中變量是不區(qū)分大小寫的(B)A。正確,B。不正確7、在Matlab中末尾續(xù)行的符號是…;注釋的符號是%;強行中止Matlab執(zhí)行的組合鍵是ctrl+c。8、x=-2.6,y1=fix(x),y2=floor(x),y3=ceil(x),y4=round(x)中結果分別是多少y1=-2y2=-3y3=-2y4=-32.9、分別建立3×3、3×2和與矩

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論