版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
..Matlab上機實驗答案實驗一MATLAB運算基礎1.先求下列表達式的值,然后顯示MATLAB工作空間的使用情況并保存全部變量。<1>>>z1=2*sin<85*pi/180>/<1+exp<2>>z1=0.2375<2>,其中>>x=[21+2i;-0.455];>>z2=1/2*log<x+sqrt<1+x^2>>z2=0.7114-0.0253i0.8968+0.3658i0.2139+0.9343i1.1541-0.0044i<3>>>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><>>z33=<exp<0.3*a>-exp<-0.3*a>>/2.*sin<a+0.3>+log<<0.3+a>/2>可以驗證z3==z33,是否都為1z3=Columns1through50.7388+3.1416i0.7696+3.1416i0.7871+3.1416i0.7913+3.1416i0.7822+3.1416iColumns6through100.7602+3.1416i0.7254+3.1416i0.6784+3.1416i0.6196+3.1416i0.5496+3.1416iColumns11through150.4688+3.1416i0.3780+3.1416i0.2775+3.1416i0.1680+3.1416i0.0497+3.1416iColumns16through20-0.0771+3.1416i-0.2124+3.1416i-0.3566+3.1416i-0.5104+3.1416i-0.6752+3.1416iColumns21through25-0.8536+3.1416i-1.0497+3.1416i-1.2701+3.1416i-1.5271+3.1416i-1.8436+3.1416iColumns26through30-2.2727+3.1416i-2.9837+3.1416i-37.0245+0.0000i-3.0017+0.0000i-2.3085+0.0000iColumns31through35-1.8971+0.0000i-1.5978+0.0000i-1.3575+0.0000i-1.1531+0.0000i-0.9723+0.0000iColumns36through40-0.8083+0.0000i-0.6567+0.0000i-0.5151+0.0000i-0.3819+0.0000i-0.2561+0.0000iColumns41through45-0.1374+0.0000i-0.0255+0.0000i0.0792+0.0000i0.1766+0.0000i0.2663+0.0000iColumns46through500.3478+0.0000i0.4206+0.0000i0.4841+0.0000i0.5379+0.0000i0.5815+0.0000iColumns51through550.6145+0.0000i0.6366+0.0000i0.6474+0.0000i0.6470+0.0000i0.6351+0.0000iColumns56through600.6119+0.0000i0.5777+0.0000i0.5327+0.0000i0.4774+0.0000i0.4126+0.0000iColumn610.3388+0.0000i<4>,其中t=0:0.5:2.5>>t=0:0.5:2.5;>>z4=<t>=0&t<1>.*<t.^2>+<t>=1&t<2>.*<t.^2-1>+<t>=2&t<3>.*<t.^2-2.*t+1>z4=00.250001.25001.00002.25002.已知:求下列表達式的值:<1>A+6*B和A-B+I〔其中I為單位矩陣<2>A*B和A.*B<3>A^3和A.^3<4>A/B及B\A<5>[A,B]和[A<[1,3],:>;B^2]>>A=[1234-4;34787;3657];>>B=[13-1;203;3-27];>>A+6*Bans=1852-10467105215349>>I=eye<3>;>>A-B+Ians=1231-3328840671<2>>>A*Bans=684462309-72596154-5241>>A.*Bans=1210246802619-13049<3>>>A^3ans=372262338244860424737014918860076678688454142118820>>A.^3ans=172839304-643930434365850327274625343<4>>>A/Bans=16.4000-13.60007.600035.8000-76.200050.200067.0000-134.000068.0000>>B\Aans=109.4000-131.2000322.8000-53.000085.0000-171.0000-61.600089.8000-186.2000<5>>>[A,B]ans=1234-413-13478720336573-27>>[A<[1,3],:>;B^2]ans=1234-436574511101920-5403.設有矩陣A和B<1>求它們的乘積C。<2>將矩陣C的右下角3×2子矩陣賦給D。<3>查看MATLAB工作空間的使用情況。>>A=<reshape<1:25,5,5>>';>>B=[3016;17-69;023-4;970;41311];>>C=A*BC=9315077258335237423520397588705557753890717>>D=C<3:5,2:3>D=520397705557890717>>whosNameSizeBytesClassAttributesA5x5200doubleB5x3120doubleC5x3120doubleD3x248double4.完成下列操作:<1>求[100,999]之間能被21整除的數的個數。<2>建立一個字符串向量,刪除其中的大寫字母。>>n=100:999;>>l=find<rem<n,21>==0>;>>length<l>ans=43>>ch='aegbBOIEG0je23RGnc';>>wz=find<ch>='A'&ch<='Z'>;>>ch<wz>=[]ch=aegb0je23nc實驗二MATLAB矩陣分析與處理1.設有分塊矩陣,其中E、R、O、S分別為單位矩陣、隨機矩陣、零矩陣和對角陣,試通過數值計算驗證。>>E=eye<3>;>>R=rand<3,2>;>>O=zeros<2,3>;>>S=diag<1:2>;>>A=[E,R;O,S]A=1.0000000.81470.913401.000000.90580.6324001.00000.12700.09750001.0000000002.0000>>A^2ans=1.0000001.62942.740101.000001.81161.8971001.00000.25400.29260001.0000000004.0000>>[E,R+R*S;O,S^2]ans=1.0000001.62942.740101.000001.81161.8971001.00000.25400.29260001.0000000004.0000>>A^2==[E,R+R*S;O,S^2]ans=1111111111111111111111111通過驗證,矩陣成立。2.產生5階希爾伯特矩陣H和5階帕斯卡矩陣P,且求其行列式的值Hh和Hp以及它們的條件數Th和Tp,判斷哪個矩陣性能更好。為什么?>>H=hilb<5>H=1.00000.50000.33330.25000.20000.50000.33330.25000.20000.16670.33330.25000.20000.16670.14290.25000.20000.16670.14290.12500.20000.16670.14290.12500.1111>>P=pascal<5>P=111111234513610151410203515153570>>Hh=det<H>Hh=3.7493e-12>>Hp=det<P>Hp=1>>Th=cond<H>Th=4.7661e+05>>Tp=cond<P>Tp=8.5175e+03答:5階帕斯卡矩陣P的性能好。矩陣的性能是由條件數決定的,條件數越接近于1其性能就越好。由上機操作求得Th=4.7661e+005,Tp=8.5175e+003。Tp的值更接近于1則其性能要好。所以5階帕斯卡矩陣P的性能好。3.建立一個5×5矩陣,求它的行列式值、跡、秩和范數。>>A=rand<5>A=0.27850.97060.42180.03570.74310.54690.95720.91570.84910.39220.95750.48540.79220.93400.65550.96490.80030.95950.67870.17120.15760.14190.65570.75770.7060>>det<A>ans=-0.1322>>trace<A>ans=3.4127>>rank<A>ans=5>>norm<A>ans=3.27594.已知求A的特征值及特征向量,并分析其數學意義。>>A=[-29,6,18;20,5,12;-8,8,5]A=-2961820512-885>>[V,D]=eig<A>V=0.71300.28030.2733-0.6084-0.78670.87250.34870.55010.4050D=-25.3169000-10.518200016.8351在數學上,特別是線性代數中,對于一個給定的線性變換,它的特征向量〔本征向量或稱正規(guī)正交向量是這樣一個非零的向量v:當v經過這個線性變換的作用之后,得到的新向量〔長度也許改變仍然與原來的v保持在同一條線上。一個特征向量的長度在該線性變換下縮放的比例稱為其特征值〔本征值。如果特征值為正,則表示v在經過線性變換的作用后方向也不變;如果特征值為負,說明方向會反轉;如果特征值為0,則是表示縮回零點。但無論怎樣,仍在同一條直線上。5.下面是一個線性方程組:<1>求方程的解。<2>將方程右邊向量元素b3改為0.53再求解,并比較b3的變化和解的相對變化。<3>計算系數矩陣A的條件數并分析結論。>>formatrat%用分數格式顯示>>A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]A=1/21/31/41/31/41/51/41/51/6>>format%恢復默認格式>>b=[0.95;0.67;0.52]b=0.95000.67000.5200>>X=A\bX=1.20000.60000.6000>>b2=[0.95;0.67;0.53]b2=0.95000.67000.5300>>X2=A\b2X2=3.0000-6.60006.6000>>D=cond<A>D=1.3533e+03矩陣的條件數決定矩陣的性能,條件數越接近于1其性能越好,系數矩陣A的條件數為1.3533e+003,和1相差很大,則其性能不好。因此b矩陣個別元素的微小變動,對方程的解〔X值影響很大。6.建立A矩陣,試比較sqrtm<A>和sqrt<A>,分析它們的區(qū)別。實驗三選擇結構程序設計1.求分段函數的值。用if語句實現,分別輸出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0時的y值。程序設計:clear;x=[-5.0-3.01.02.02.53.05.0];ifx<0&x~=-3y=x.^2+x-6;elseifx>=0&x<5&x~=2&x~=3y=x.^2-5*x+6;elsey=x.^2-x-1;endy運行結果:y=29.000011.0000-1.00001.00002.75005.000019.00002.輸入一個百分制成績,要求輸出成績等級A、B、C、D、E。其中90分~100分為A,80分~89分為B,79分~79分為C,60分~69分為D,60分以下為E。要求:<1>分別用if語句和switch語句實現。程序設計:用if語句clear;score=input<'請輸入百分制成績:'>;a=fix<score/10>;ifa==9|a==10grade='A';elseifa==8grade='B';elseifa==7grade='C';elseifa==6grade='D';elsegrade='E';endgrade用if語句clear;score=input<'請輸入百分制成績:'>;ifscore>=90&score<=100grade='A';elseifscore>=80&score<90grade='B';elseifscore>=70&score<80grade='C';elseifscore>=60&score<70grade='D';elsegrade='E';endgrade用switch語句clear;score=input<'請輸入百分制成績:'>;switchfix<score/10>case{9,10}grade='A';case8grade='B';case7grade='C';case6grade='D';otherwisegrade='E';endgrade<2>輸入百分制成績后要判斷該成績的合理性,對不合理的成績應輸出出錯信息。clear;score=input<'請輸入百分制成績:'>;ifscore>=0&score<=100%判斷成績合理性switchfix<score/10>case{9,10}grade='A';case8grade='B';case7grade='C';case6grade='D';otherwisegrade='E';endgradeelsedisp<'error'>%成績不合理時輸出出錯信息end3.硅谷公司員工的工資計算方法如下:<1>工作時數超過120小時者,超過部分加發(fā)15%。<2>工作時數低于60小時者,扣發(fā)700元。<3>其余按每小時84元計發(fā)。試編程按輸入的工號和該號員工的工時數,計算應發(fā)工資。程序設計:clear;num=input<'請輸入員工工號:'>;time=input<'請輸入員工工時數:'>;iftime<60wages=time*84-700;elseiftime>120wages=84*120+<time-120>*84*<1+0.15>;elsewages=time*84;enddisp=<['員工工號:'num2str<num>'應發(fā)工資:'num2str<wages>]>運行結果:請輸入員工工號:4請輸入員工工時數:35disp=員工工號:4應發(fā)工資:22404.設計程序,完成兩位數的加、減、乘、除四則運算,即產生兩個兩位隨機整數,再輸入一個運算符號,做相應的運算,并顯示相應的結果。解:程序設計:clear;a=floor<rand<1>*90+10>b=floor<rand<1>*90+10>c=input<'請輸入運算符號:','s'>;ifc=='+'s=a+belseifc=='-'s=a-belseifc=='*'s=a*belseifc=='\'s=a\belsedisp<'error'>end運行結果:a=30b=77請輸入運算符號:-s=-475.建立5×6矩陣,要求輸出矩陣第n行元素。當n值超過矩陣的行數時,自動轉為輸出矩陣最后一行元素,并給出出錯信息。程序設計:clear;A=rand<5,6>n=input<'n=?'>ifn>=1&n<=5B=A<n,1:6>;elsedisp<'erro!'>B=A<5,1:6>;endB運行結果:A=0.77920.01190.52850.68920.91330.07820.93400.33710.16560.74820.15240.44270.12990.16220.60200.45050.82580.10670.56880.79430.26300.08380.53830.96190.46940.31120.65410.22900.99610.0046n=?3n=3B=0.12990.16220.60200.45050.82580.1067實驗四循環(huán)結構程序設計1.根據,求π的近似值。當n分別取100、1000、10000時,結果是多少?要求:分別用循環(huán)結構和向量運算〔使用sum函數來實現。程序設計〔一:clear;forn=[100,1000,10000]sum=0;forx=1:nsum=sum+1/<x.^2>;endresult=sqrt<6*sum>end運行結果:result=3.1321result=3.1406result=3.1415程序設計〔二:clear;forn=[100,1000,10000]x=1:n;result=sqrt<6*sum<1./x./x>>end運行結果:result=3.1321result=3.1406result=3.14152.根據,求:<1>y<3時的最大n值。<2>與<1>的n值對應的y值。程序設計:y=0;n=1;whiley<3y=y+1/<2*n-1>;n=n+1;endn=n-1;y=y-1/<2*n-1>n=n-1運行結果:y=2.9944n=56[%驗證n=56時的y值clearall;clc;n=56;i=1:n;f=1./<2*i-1>;y=sum<f>]3.考慮以下迭代公式:其中a、b為正的學數。<1>編寫程序求迭代的結果,迭代的終止條件為|xn+1-xn|≤10-5,迭代初值x0=1.0,迭代次數不超過500次。<2>如果迭代過程收斂于r,那么r的準確值是,當<a,b>的值取<1,1>、<8,3>、<10,0.1>時,分別對迭代結果和準確值進行比較。程序設計:clear;a=input<'a=?'>;b=input<'b=?'>;x0=1;x1=a/<b+x0>;y=abs<x1-x0>;n=1;whiley>10^<-5>&n<=499x0=x1;x1=a/<b+x0>;y=abs<x1-x0>;n=n+1;endx1%比較收斂準確值和迭代結果r1=<-b+sqrt<b^2+4*a>>/2r2=<-b-sqrt<b^2+4*a>>/2運行結果:a=?1b=?1x1=0.6180r1=0.6180r2=-1.6180a=?8b=?3x1=1.7016r1=1.7016r2=-4.7016a=?10b=?0.1x1=3.1127r1=3.1127r2=-3.21274.已知求f1~f100中:<1>最大值、最小值、各數之和。<2>正數、零、負數的個數。程序設計:clear;f1=1;f2=0;f3=1;f=[f1,f2,f3];forn=4:100f4=f3-2*f2+f1;f=[ff4];f1=f2;f2=f3;f3=f4;endmaxf=max<f>minf=min<f>sumf=sum<f>positivenum=length<find<f>0>>negtivenum=length<find<f<0>>zeronum=length<find<f==0>>運行結果:maxf=4.3776e+11minf=-8.9941e+11sumf=-7.4275e+11positivenum=49negtivenum=49zeronum=25.若兩個連續(xù)自然數的乘積減1是素數,則稱這兩個邊疆自然數是親密數對,該素數是親密素數。例如,2×3-1=5,由于5是素數,所以2和3是親密數,5是親密素數。求[2,50]區(qū)間內:<1>親密數對的對數。<2>與上述親密數對對應的所有親密素數之和。程序設計〔一:clearpair=[];form=2:49f=<m+1>*m-1;signf=0;%標記為0表示f為素數fork=2:sqrt<f>if<rem<f,k>==0>signf=1;%標記為1表示f不是素數endendifsignf==0pair=[pair;mm+1];%親密數對矩陣endendnum=size<pair>;susum=sum<pair<:,1>.*pair<:,2>-1>;disp<['親密數對的對數',num2str<num<1>>]>disp<['親密素數之和',num2str<susum>]>運行結果:親密數對的對數28親密素數之和21066程序設計:clearsusum=0;num=0;form=2:49f=<m+1>*m-1;n=fix<sqrt<f>>;fork=2:nif<rem<f,k>==0>break;%f不是素數時跳出循環(huán)endendifk==nnum=num+1;%親密數對個數susum=susum+f;%親密素數和累加endenddisp<['親密數對的對數',num2str<num>]>disp<['親密素數之和',num2str<susum>]>運行結果:親密數對的對數28親密素數之和21066實驗五函數文件1.定義一個函數文件,求給定復數的指數、對數、正弦和余弦,并在命令文件中調用該函數文件。建立函數文件fushu.m:function[e,ln,s,c]=fushu<x>e=exp<x>;ln=log<x>;s=sin<x>;c=cos<x>;建立命令文件fushu2.mA=input<'請輸入任意一個復數A'>;[a,b,c,d]=fushu<A>;%調用fushu.m的函數文件abcdfushu2.m運行結果:>>fushu2請輸入任意一個復數A:4ia=-0.6536-0.7568ib=1.3863+1.5708ic=0.0000+27.2899id=27.30822.一物理系統(tǒng)可用下列方程組來表示:從鍵盤輸入m1、m2和θ的值,求a1、a2、N1和N2的值。其中g取9.8,輸入θ時以角度為單位。要求:定義一個求解線性方程組AX=B的函數文件,然后在命令文件中調用該函數文件。建立函數文件xxfcz.mfunction[a1,a2,N1,N2]=xxfcz<m1,m2,t>t=t*pi/180;A=[m1*cos<t>-m1-sin<t>0;m1*sin<t>0cos<t>0;0m2-sin<t>0;00-cos<t>1];g=9.8;B=[0;m1*g;0;m2*g];X=inv<A>*B;a1=X<1>;a2=X<2>;N1=X<3>;N2=X<4>;建立命令文件xxfcz2.mclearm1=input<'請輸入m1:'>;m2=input<'請輸入m2:'>;t=input<'請輸入角度t:'>;[a1,a2,N1,N2]=xxfcz<m1,m2,t>;a1a2N1N2運行結果:>>xxfcz2請輸入m1:5請輸入m2:3請輸入角度t:90a1=9.8000a2=3.7505e-16N1=1.1251e-15N2=29.40003.一個自然數是素數,且它的數字位置經過任意對換后仍為素數。例如13是絕對素數。試求所有兩位絕對素數。要求:定義一個判斷素數的函數文件。建立判斷素數的函數文件sushu.mfunction[x]=sushu<m>%判斷數m是否為素數forM=2:<m/2>ifrem<m,M>==0b=0;breakelseb=1;endendifb==1x=m;%判斷數m為素數,并返回elsex=[];%數m不為素數endend建立命令文件sushu2.mclear;js=[];%初始絕對素數form=10:99x=sushu<m>;ifxx=fix<x/10>+rem<x,10>*10;y=sushu<x>;js=[js,y];%絕對素數elsecontinueendendjs執(zhí)行命令文件sushu2.m>>sushu2js=113171137317379779法二:建立函數文件sushu3.mfunctionp=sushu3<m>b=m<end>;p=m;fori=2:sqrt<b>n=find<rem<p,i>==0&p~=i>;%將m中能被i整除,且不等于i的元素的下標找出,即np<n>=[];%將下標為n的元素剔除,其余的即為素數end建立命令文件sushu4.mclear;m=10:99;p=sushu3<m>;%找出10到99內所有素數p=10*rem<p,10>+<p-rem<p,10>>/10;%將p素數矩陣每個元素個位十位調換順序p=sushu3<p>%再對調換順序后的素數矩陣找出其中的素數執(zhí)行命令文件sushu4.m>>sushu4p=1131711373173797794.設,編寫一個MATLAB函數文件fx.m,使得調用f<x>時,x可用矩陣代入,得出的f<x>為同階矩陣。建立函數文件fx.mfunction[f]=fx<x>f=1./<<x-2>.^2+0.1>+1./<<x-3>.^4+0.01>;end5.已知<1>當f<n>=n+10ln<n2+5>時,求y的值。<2>當f<n>=1×2+2×3+3×4+...+n×<n+1>時,求y的值。建立函數文件fn1.mfunction[fn]=fn1<n>fn=n+10*log<n.^2+5>;end建立函數文件fn2.mfunction[fn]=fn2<n>fn=0;forx=1:nfn=fn+x*<x+1>;end求〔1〔2中y的值:y1=fn1<40>/<fn1<30>+fn1<20>>;y2=fn2<40>/<fn2<30>+fn2<20>>;運行結果:>>yfny1=0.6390y2=1.7662實驗六高層繪圖操作1.設,在x=0~2π區(qū)間取101點,繪制函數的曲線。>>x=linspace<0,2*pi,101>;>>y=<0.5+3.*sin<x>./<1+x.^2>>.*cos<x>;>>plot<x,y>;2.已知y1=x2,y2=cos<2x>,y3=y1×y2,完成下列操作:<1>在同一坐標系下用不同的顏色和線型繪制三條曲線。>>x=linspace<0,2*pi,101>;>>y1=x.^2;>>y2=cos<2*x>;>>y3=y1.*y2;>>plot<x,y1,'k:',x,y2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度危險品運輸與安全裝卸協(xié)議3篇
- 專業(yè)水泥購銷協(xié)議規(guī)范版B版
- 二零二五年度電子商務平臺建設與運營管理協(xié)議2篇
- 專項融資委托代理協(xié)議(2024版)版A版
- 個人借款抵押車復雜合同(2024版)2篇
- 二零二五年度城市綜合體項目投資合作協(xié)議5篇
- 專業(yè)短視頻攝制服務合同(2024年)3篇
- 2025年度生物制藥研發(fā)與市場推廣合作協(xié)議2篇
- 2025年度廠房物業(yè)管理與能源審計服務協(xié)議4篇
- 2025年度廠區(qū)生態(tài)景觀綠化養(yǎng)護服務合同樣本4篇
- 2024版?zhèn)€人私有房屋購買合同
- 2025年山東光明電力服務公司招聘筆試參考題庫含答案解析
- 《神經發(fā)展障礙 兒童社交溝通障礙康復規(guī)范》
- 2025年中建六局二級子企業(yè)總經理崗位公開招聘高頻重點提升(共500題)附帶答案詳解
- 2024年5月江蘇省事業(yè)單位招聘考試【綜合知識與能力素質】真題及答案解析(管理類和其他類)
- 注漿工安全技術措施
- 《食品與食品》課件
- 2024年世界職業(yè)院校技能大賽“食品安全與質量檢測組”參考試題庫(含答案)
- 讀書分享會《白夜行》
- 2023上海高考英語詞匯手冊單詞背誦默寫表格(復習必背)
- 人民軍隊歷史與優(yōu)良傳統(tǒng)(2024)學習通超星期末考試答案章節(jié)答案2024年
評論
0/150
提交評論