MATLAB程序設(shè)計與應(yīng)用(第二版)課后實驗答案_第1頁
MATLAB程序設(shè)計與應(yīng)用(第二版)課后實驗答案_第2頁
MATLAB程序設(shè)計與應(yīng)用(第二版)課后實驗答案_第3頁
MATLAB程序設(shè)計與應(yīng)用(第二版)課后實驗答案_第4頁
MATLAB程序設(shè)計與應(yīng)用(第二版)課后實驗答案_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Matlab課后實驗題答案實驗一 MATLAB運算基礎(chǔ)1. 先求下列表達式的值,然后顯示MATLAB工作空間的使用情況并保存全部變量。(1) (2) ,其中(3) (4) ,其中t=0:0.5:2.5解:M文件:z1=2*sin(85*pi/180)/(1+exp(2)x=2 1+2*i;-.45 5;z2=1/2*log(x+sqrt(1+x2) a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a)./2.*sin(a+0.3)+log(0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.2)+(t>=1

2、&t<2).*(t.2-1)+(t>=2&t<3) .*(t.2-2*t+1)2. 已知:求下列表達式的值:(1) A+6*B和A-B+I(其中I為單位矩陣)(2) A*B和A.*B(3) A3和A.3(4) A/B及BA(5) A,B和A(1,3,:);B2解: M 文件:A=12 34 -4;34 7 87;3 65 7;B=1 3 -1;2 0 3;3 -2 7; A+6.*B A-B+eye(3) A*B A.*B A3 A.3 A/B BA A,B A(1,3,:);B23. 設(shè)有矩陣A和B(1) 求它們的乘積C。(2) 將矩陣C的右下角3×

3、;2子矩陣賦給D。(3) 查看MATLAB工作空間的使用情況。解:. 運算結(jié)果:E=(reshape(1:1:25,5,5)'F=3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11;C= E*FH=C(3:5,2:3)C = 93 150 77 258 335 237 423 520 397 588 705 557 753 890 717H = 520 397 705 557 890 7174. 完成下列操作:(1) 求100,999之間能被21整除的數(shù)的個數(shù)。(2) 建立一個字符串向量,刪除其中的大寫字母。 解:(1) 結(jié)果:m=100:999;n=find(m

4、od(m,21)=0);length(n)ans = 43(2). 建立一個字符串向量 例如:ch='ABC123d4e56Fg9'則要求結(jié)果是:ch='ABC123d4e56Fg9'k=find(ch>='A'&ch<='Z');ch(k)=ch =123d4e56g9實驗二 MATLAB矩陣分析與處理1. 設(shè)有分塊矩陣,其中E、R、O、S分別為單位矩陣、隨機矩陣、零矩陣和對角陣,試通過數(shù)值計算驗證。解: M文件如下;由ans,所以2. 產(chǎn)生5階希爾伯特矩陣H和5階帕斯卡矩陣P,且求其行列式的值Hh和Hp以及

5、它們的條件數(shù)Th和Tp,判斷哪個矩陣性能更好。為什么?解:M文件如下:因為它們的條件數(shù)Th>>Tp,所以pascal矩陣性能更好。3. 建立一個5×5矩陣,求它的行列式值、跡、秩和范數(shù)。解: M文件如下:4. 已知求A的特征值及特征向量,并分析其數(shù)學(xué)意義。解:M文件如圖:數(shù)學(xué)意義:V的3個列向量是A的特征向量,D的主對角線上3個是A的特征值,特別的,V的3個列向量分別是D的3個特征值的特征向量。5. 下面是一個線性方程組:(1) 求方程的解。(2) 將方程右邊向量元素b3改為0.53再求解,并比較b3的變化和解的相對變化。(3) 計算系數(shù)矩陣A的條件數(shù)并分析結(jié)論。解: M

6、文件如下:輸出結(jié)果:由結(jié)果,X和X2的值一樣,這表示b的微小變化對方程解也影響較小,而A的條件數(shù)算得較小,所以數(shù)值穩(wěn)定性較好,A是較好的矩陣。6. 建立A矩陣,試比較sqrtm(A)和sqrt(A),分析它們的區(qū)別。解:M文件如下:分析結(jié)果知:sqrtm(A)是類似A的數(shù)值平方根(這可由b1*b1=A的結(jié)果看出),而sqrt(A)則是對A中的每個元素開根號,兩則區(qū)別就在于此。實驗三 選擇結(jié)構(gòu)程序設(shè)計1. 求分段函數(shù)的值。用if語句實現(xiàn),分別輸出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0時的y值。解:M文件如下:2. 輸入一個百分制成績,要求輸出成績等級A、B、C、D、E。其

7、中90分100分為A,80分89分為B,79分79分為C,60分69分為D,60分以下為E。要求:(1) 分別用if語句和switch語句實現(xiàn)。(2) 輸入百分制成績后要判斷該成績的合理性,對不合理的成績應(yīng)輸出出錯信息。解:M文件如下試算結(jié)果:score=88grade =Bscore=123錯誤:輸入的成績不是百分制成績3. 硅谷公司員工的工資計算方法如下:(1) 工作時數(shù)超過120小時者,超過部分加發(fā)15%。(2) 工作時數(shù)低于60小時者,扣發(fā)700元。(3) 其余按每小時84元計發(fā)。試編程按輸入的工號和該號員工的工時數(shù),計算應(yīng)發(fā)工資。解:M文件下4. 設(shè)計程序,完成兩位數(shù)的加、減、乘、除

8、四則運算,即產(chǎn)生兩個兩位隨機整數(shù),再輸入一個運算符號,做相應(yīng)的運算,并顯示相應(yīng)的結(jié)果。解:M文件如下;5. 建立5×6矩陣,要求輸出矩陣第n行元素。當(dāng)n值超過矩陣的行數(shù)時,自動轉(zhuǎn)為輸出矩陣最后一行元素,并給出出錯信息。解:M文件如下:實驗四 循環(huán)結(jié)構(gòu)程序設(shè)計1. 根據(jù),求的近似值。當(dāng)n分別取100、1000、10000時,結(jié)果是多少?要求:分別用循環(huán)結(jié)構(gòu)和向量運算(使用sum函數(shù))來實現(xiàn)。解:M文件如下:2. 根據(jù),求:(1) y<3時的最大n值。(2) 與(1)的n值對應(yīng)的y值。解:M文件如下:3. 考慮以下迭代公式:其中a、b為正的學(xué)數(shù)。(1) 編寫程序求迭代的結(jié)果,迭代的

9、終止條件為|xn+1-xn|10-5,迭代初值x0=1.0,迭代次數(shù)不超過500次。(2) 如果迭代過程收斂于r,那么r的準確值是,當(dāng)(a,b)的值取(1,1)、(8,3)、(10,0.1)時,分別對迭代結(jié)果和準確值進行比較。解:M文件如下:4. 已知求f1f100中:(1) 最大值、最小值、各數(shù)之和。(2) 正數(shù)、零、負數(shù)的個數(shù)。解:M文件以下是運算結(jié)果:max(f)=437763282635min(f)=-899412113528sum(f)=-742745601951c1=49c2=2c3=495. 若兩個連續(xù)自然數(shù)的乘積減1是素數(shù),則稱這兩個邊疆自然數(shù)是親密數(shù)對,該素數(shù)是親密素數(shù)。例如

10、,2×3-1=5,由于5是素數(shù),所以2和3是親密數(shù),5是親密素數(shù)。求2,50區(qū)間內(nèi):(1) 親密數(shù)對的對數(shù)。(2) 與上述親密數(shù)對對應(yīng)的所有親密素數(shù)之和。解:M文件:運算結(jié)果為:j = 29s = 23615實驗五 函數(shù)文件一、實驗?zāi)康?. 理解函數(shù)文件的概念。2. 掌握定義和調(diào)用MATLAB函數(shù)的方法。二、實驗內(nèi)容1. 定義一個函數(shù)文件,求給定復(fù)數(shù)的指數(shù)、對數(shù)、正弦和余弦,并在命令文件中調(diào)用該函數(shù)文件。解:M文件如下:函數(shù)fushu.M文件:function e,l,s,c = fushu(z)%fushu 復(fù)數(shù)的指數(shù),對數(shù),正弦,余弦的計算%e 復(fù)數(shù)的指數(shù)函數(shù)值%l 復(fù)數(shù)的對數(shù)函

11、數(shù)值%s 復(fù)數(shù)的正弦函數(shù)值%c 復(fù)數(shù)的余弦函數(shù)值e=exp(z);l=log(z);s=sin(z);c=cos(z);命令文件M:z=input('請輸入一個復(fù)數(shù)z=');a,b,c,d=fushu(z)運算結(jié)果如下:z=input('請輸入一個復(fù)數(shù)z=');a,b,c,d=fushu(z)請輸入一個復(fù)數(shù)z=1+ia = 1.4687 + 2.2874ib = 0.3466 + 0.7854c 1.2985 + 0.6350id = 0.8337 - 0.9889i2. 一物理系統(tǒng)可用下列方程組來表示:從鍵盤輸入m1、m2和的值,求a1、a2、N1和N2的值。

12、其中g(shù)取9.8,輸入時以角度為單位。要求:定義一個求解線性方程組AX=B的函數(shù)文件,然后在命令文件中調(diào)用該函數(shù)文件。解: M文件函數(shù)fc.M文件:function X= fc(A,B)%fc fc是求解線性方程的函數(shù)%A A是未知矩陣的系數(shù)矩陣X=AB; 命令M文件:clc;m1=input('輸入m1=');m2=input('輸入m2=');theta=input('輸入theta=');x=theta*pi/180;g=9.8;A=m1*cos(x) -m1 -sin(x) 0 m1*sin(x) 0 cos(x) 0 0 m2 -sin(

13、x) 0 0 0 -cos(x) 1;B=0;m1*g;0;m2*g;X=fc(A,B) 運算結(jié)果:輸入m1=1輸入m2=1輸入theta=30X = 7.8400 3.3948 6.7896 15.6800 3. 一個自然數(shù)是素數(shù),且它的數(shù)字位置經(jīng)過任意對換后仍為素數(shù)。例如13是絕對素數(shù)。試求所有兩位絕對素數(shù)。要求:定義一個判斷素數(shù)的函數(shù)文件。解:M文件:函數(shù)prime.m文件function p = prime(p)% 輸入p的范圍,找出其中的素數(shù)m=p(length(p);for i=2:sqrt(m) n=find(rem(p,i)=0&p=i); p(n)=; %將p中能被i

14、整除,而卻不等于i的元素,即下標(biāo)為n的元素剔除,其余的即為素數(shù)endp;命令文件:clc;p=10:99;p=prime(p); %找出10到99內(nèi)的所有素數(shù)p=10*rem(p,10)+(p-rem(p,10)/10; %將p素數(shù)矩陣每個元素個位十位調(diào)換順序p=prime(p) %再對對換后的素數(shù)矩陣找出所有的素數(shù)運算結(jié)果:p = 11 31 71 13 73 17 37 97 794. 設(shè),編寫一個MATLAB函數(shù)文件fx.m,使得調(diào)用f(x)時,x可用矩陣代入,得出的f(x)為同階矩陣。解:函數(shù)fx.m文件:function f= fx(x)%fx fx求算x矩陣下的f(x)的函數(shù)值A(chǔ)=

15、0.1+(x-2).2;B=0.01+(x-3).4;f=1./A+1./B;命令文件:clc;x=input('輸入矩陣x=');f=fx(x)運算結(jié)果:>> x=input('輸入矩陣x=');f=fx(x)輸入矩陣x=7 2;12 5f = 0.0437 10.9901 0.0101 0.17245. 已知(1) 當(dāng)f(n)=n+10ln(n2+5)時,求y的值。(2) 當(dāng)f(n)=1×2+2×3+3×4+.+n×(n+1)時,求y的值。解:(1)函數(shù)f.m文件:function f=f(x)f=x+10

16、*log(x2+5);命令文件:clc;n1=input('n1=');n2=input('n2=');n3=input('n3=');y1=f(n1);y2=f(n2);y3=f(n3);y=y1/(y2+y3)運算結(jié)果如下:n1=40n2=30n3=20y = 0.6390(2).函數(shù)g.m文件function s= g(n)for i=1:ng(i)=i*(i+1);ends=sum(g);命令文件:clc;n1=input('n1=');n2=input('n2=');n3=input('n3=&#

17、39;);y1=g(n1);y2=g(n2);y3=g(n3);y=y1/(y2+y3)運算結(jié)果如下:n1=40n2=30n3=20y = 1.7662實驗六 高層繪圖操作一、實驗?zāi)康?. 掌握繪制二維圖形的常用函數(shù)。2. 掌握繪制三維圖形的常用函數(shù)。3. 掌握繪制圖形的輔助操作。二、實驗內(nèi)容1. 設(shè),在x=02區(qū)間取101點,繪制函數(shù)的曲線。解:M文件如下:clc;x=linspace(0,2*pi,101);y=(0.5+3*sin(x)./(1+x.2);plot(x,y)運行結(jié)果有:2. 已知y1=x2,y2=cos(2x),y3=y1×y2,完成下列操作:(1) 在同一坐標(biāo)

18、系下用不同的顏色和線型繪制三條曲線。(2) 以子圖形式繪制三條曲線。(3) 分別用條形圖、階梯圖、桿圖和填充圖繪制三條曲線。解:(1) M文件:clc;x=-pi:pi/100:pi;y1=x.2;y2=cos(2*x);y3=y1.*y2;plot(x,y1,'b-',x,y2,'r:',x,y3,'k-')運行結(jié)果:(2)M文件:clc;x=-pi:pi/100:pi;y1=x.2;y2=cos(2*x);y3=y1.*y2;subplot(1,3,1);plot(x,y1,'b-');title('y1=x2'

19、;);subplot(1,3,2);plot(x,y2,'r:');title('y2=cos(2x)');subplot(1,3,3);plot(x,y3,'k-');title('y3=y1*y2');.運行結(jié)果:(3)M文件:clc;x=-pi:pi/100:pi;y1=x.2;y2=cos(2*x);y3=y1.*y2;subplot(2,2,1);plot(x,y1,'b-',x,y2,'r:',x,y3,'k-');subplot(2,2,2);bar(x,y1,'

20、;b');title('y1=x2');subplot(2,2,3);bar(x,y2,'r'); title('y2=cos(2x)');subplot(2,2,4);bar(x,y3,'k');title('y3=y1*y2');由上面的M文件,只要依次將“bar”改為“stairs”、“stem”、“fill”,再適當(dāng)更改區(qū)間取的點數(shù),運行程序即可,即有下面的結(jié)果:3. 已知在-5x5區(qū)間繪制函數(shù)曲線。解:M文件:clc;x=-5:0.01:5;y=(x+sqrt(pi)/(exp(2).*(x<

21、;=0)+0.5*log(x+sqrt(1+x.2).*(x>0);plot(x,y)運行結(jié)果:由圖可看出,函數(shù)在零點不連續(xù)。4. 繪制極坐標(biāo)曲線=asin(b+n),并分析參數(shù)a、b、n對曲線形狀的影響。解:M文件如下:clc;theta=0:pi/100:2*pi;a=input('輸入a=');b=input('輸入b=');n=input('輸入n=');rho=a*sin(b+n*theta);polar(theta,rho,'m')采用控制變量法的辦法,固定兩個參數(shù),變動第三個參數(shù)觀察輸出圖象的變化。分析結(jié)果:由

22、這8個圖知道, 當(dāng)a,n固定時,圖形的形狀也就固定了,b只影響圖形的旋轉(zhuǎn)的角度;當(dāng)a,b固定時,n只影響圖形的扇形數(shù),特別地,當(dāng)n是奇數(shù)時,扇葉數(shù)就是n,當(dāng)是偶數(shù)時,扇葉數(shù)則是2n個;當(dāng)b,n固定時,a影響的是圖形大小,特別地,當(dāng)a是整數(shù)時,圖形半徑大小就是a。5. 繪制函數(shù)的曲線圖和等高線。其中x的21個值均勻分布-5,5范圍,y的31個值均勻分布在0,10,要求使用subplot(2,1,1)和subplot(2,1,2)將產(chǎn)生的曲面圖和等高線圖畫在同一個窗口上。解:M文件:clc;x=linspace(-5,5,21);y=linspace(0,10,31);x,y=meshgrid(x

23、,y);z=cos(x).*cos(y).*exp(-sqrt(x.2+y.2)/4);subplot(2,1,1);surf(x,y,z);title('曲面圖');subplot(2,1,2);surfc(x,y,z);title('等高線圖');運行結(jié)果:6. 繪制曲面圖形,并進行插值著色處理。解:M文件:clc;s=0:pi/100:pi/2;t=0:pi/100:3*pi/2;s,t=meshgrid(s,t);x=cos(s).*cos(t);y=cos(s).*sin(t);z=sin(s);subplot(2,2,1);mesh(x,y,z);t

24、itle('未著色的圖形');subplot(2,2,2);surf(x,y,z);title('shading faceted(缺?。?#39;);subplot(2,2,3);surf(x,y,z);shading flat;title('shading flat');subplot(2,2,4);surf(x,y,z);shading interp; %插值著色title('shading interp'); 運行結(jié)果有:實驗八 數(shù)據(jù)處理與多項式計算二、實驗內(nèi)容1. 利用MATLAB提供的rand函數(shù)生成30000個符合均勻分布的隨

25、機數(shù),然后檢驗隨機數(shù)的性質(zhì):(1) 均值和標(biāo)準方差。(2) 最大元素和最小元素。(3) 大于0.5的隨機數(shù)個數(shù)占總數(shù)的百分比。解:M文件:clc;x=rand(1,30000);mu=mean(x) %求這30000個均勻分布隨機數(shù)的平均值sig=std(x) %求其標(biāo)準差1y=length(find(x>0.5); %找出大于0.5數(shù)的個數(shù)p=y/30000 %大于0.5的所占百分比運行結(jié)果:mu = 0.499488553231043sig = 0.288599933559786p = 0.4994000000000002. 將100個學(xué)生5門功課的成績存入矩陣P中,進行如下處理:(

26、1) 分別求每門課的最高分、最低分及相應(yīng)學(xué)生序號。(2) 分別求每門課的平均分和標(biāo)準方差。(3) 5門課總分的最高分、最低分及相應(yīng)學(xué)生序號。(4) 將5門課總分按從大到小順序存入zcj中,相應(yīng)學(xué)生序號存入xsxh。提示:上機調(diào)試時,為避免輸入學(xué)生成績的麻煩,可用取值范圍在45,95之間的隨機矩陣來表示學(xué)生成績。解:M文件:clc;t=45+50*rand(100,5);P=fix(t); %生成100個學(xué)生5門功課成績x,l=max(P) %x為每門課最高分行向量,l為相應(yīng)學(xué)生序號y,k=min(P)%y為每門課最低分行向列,k為相應(yīng)學(xué)生序號mu=mean(P) %每門課的平均值行向量sig=

27、std(P) %每門課的標(biāo)準差行向量s=sum(P,2) %5門課總分的列向量X,m=max(s)%5門課總分的最高分X與相應(yīng)學(xué)生序號mY,n=min(s)%5門課總分的最低分Y與相應(yīng)學(xué)生序號nzcj,xsxh=sort(s) %zcj為5門課總分從大到小排序,相應(yīng)學(xué)生序號xsxh 運行結(jié)果:3. 某氣象觀測得某日6:0018:00之間每隔2h的室內(nèi)外溫度(0C)如實驗表1所示。實驗表1 室內(nèi)外溫度觀測結(jié)果(0C)時間h 6 8 10 12 14 16 18室內(nèi)溫度t1 18.0 20.0 22.0 25.0 30.0 28.0 24.0室外溫度t2 15.0 19.0 24.0 28.0 3

28、4.0 32.0 30.0試用三次樣條插值分別求出該日室內(nèi)外6:3018:30之間每隔2h各點的近似溫度(0C)。解:M文件:clc;h=6:2:18;t1=18.0 20.0 22.0 25.0 30.0 28.0 24.0;t2=15.0 19.0 24.0 28.0 34.0 32.0 30.0;T1=interp1(h,t1,'spline')%室內(nèi)的3次樣條插值溫度T2=interp1(h,t2,'spline')%室外的3次樣條插值溫度 運行結(jié)果:T1 = Columns 1 through 3 40.000000000000703 44.00000

29、0000001130 48.000000000001705 Columns 4 through 6 54.000000000002885 64.000000000005883 60.000000000004512 Column 7 52.000000000002444T2 = Columns 1 through 3 34.000000000000284 42.000000000000902 52.000000000002444 Columns 4 through 6 60.000000000004512 72.000000000009408 68.000000000007503 Column 7 64.000000000005883 4. 已知lgx在1,101區(qū)間10個整數(shù)采樣點的函數(shù)值如實驗表2所示。實驗表2 lgx在10個采樣點的函數(shù)值x 1 11 21 31 41 51 61 71 81 91 101lgx 0 1.0414 1.3222 1.4914 1.6128 1.7076 1.7853 1.8513 1.9085 1.9510 2.0043試求lgx的5次擬合多項式p(x),并繪制出lgx和p(x)在1,101區(qū)間的函數(shù)曲線。解:M文件:x=1:10:101;y=lg10(x);P=polyfit(x,y,5)y1=polyval

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論