Matlab编程与应用习题和一些参考答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Matlab上机实验一、二1.安装Matlab软件。2.验证所学内容和教材上的例子。3.求下列联立方程的解41025695842475412743wzyxwzxwzyxwzyxa=[34-7-12;5-742;108-5;-65-210];b=[4;4;9;4];c=a\bc=5.22264.45701.47181.59944.设81272956313841A,793183262345B,求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'C1=19-823012273-385429C2=A'*BC2=-1516-243663-1793-105226117-60194684-10C3=A.*BC3=51624-26-18-12-1572-2-21108-56inv(C1)ans=0.00620.0400-0.0106-0.00460.01690.00300.01680.02090.0150inv(C2)Warning:Matrixisclosetosingularorbadlyscaled.Resultsmaybeinaccurate.RCOND=8.997019e-019.ans=1.0e+015*-0.9553-0.2391-0.19970.27000.96670.24200.2021-0.2732-0.4473-0.1120-0.09350.1264-1.1259-0.2818-0.23530.3182inv(C3)???Errorusing==invMatrixmustbesquare.5.设)1(sin35.0cos2xxxy,把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.产生8×6阶的正态分布随机数矩阵R1,求其各列的平均值和均方差。并求该矩阵全体数的平均值和均方差。(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,画出参数t=0~10区间生成的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函数)x=linspace(2,8,100);y=polyval([10-43-26],x);plot(x,y,'b',x,0,'y')(2)用roots函数求此多项式的根。t=[10-43-26]p=roots(t)9.建立一个字符串向量,然后对该向量做如下处理:(1)取第1~5个字符组成的子字符串。(2)将字符串倒过来重新排列。(3)统计字符串中小写字母的个数。10.利用帮助查找limit函数的用法,并自己编写,验证几个函数极限的例子。Matlab上机实验二1.验证所授课程的课件。2.设x=sint,y=sin(nt+a),(1)若a=1,令n=1,2,3,4,在四个子图中分别画出其曲线。(2)若n=2,取a=0,π/3,π/2,及π,在四个子图中分别画出其曲线。(1)a=1;x=sin(t);y1=sin(1*t+a);y2=sin(2*t+a);y3=sin(3*t+a);y4=sin(4*t+a);subplot(2,2,1);plot(x,y1);subplot(2,2,2);plot(x,y2);subplot(2,2,3);plot(x,y3);subplot(2,2,4);plot(x,y4)(2)n=2;x=sin(t);y1=sin(2*t+0);y2=sin(2*t+pi/3);y3=sin(2*t+pi/2);y4=sin(2*t+pi);subplot(2,2,1);plot(x,y1);subplot(2,2,2);plot(x,y2);subplot(2,2,3);plot(x,y3);subplot(2,2,4);plot(x,y4)注:本题好像题目本身就有问题,因为“t”取值不明,所以运行不了,画不出图来。转化为符号式来画图也是不可行的。(纯粹个人意见,可能我想错了方向,会做的同学请上传一下正确的做法)3.绘制)(222yxexz在定义域x=[-2,2],y=[-2,2]内的曲面。(利用meshgrid)x=-2:2;y=x;[X,Y]=meshgrid(x,y);Z=X^2*exp(-(X^2+Y^2));mesh(X,Y,Z)4.求代数方程3x5+4x4+7x3+2x2+9x+12=0的所有根。(利用roots函数)p=[3472912];roots(p)5.把1开五次方,并求其全部五个根。(提示:解x5-1=0)p=[10000-1];roots(p)6,312/)34(111132/)34(222xxxxxxxxy,画出在3,3上的曲线。x1=-3:0.01:-1;y1=(-x1.^2-4.*x1-3)/2;x2=-1:0.01:1;y2=-x2.^2+1;x3=1:0.01:3;y3=(-x3.^2+4.*x3-3)/2;plot(x1,y1);holdon;plot(x2,y2);holdon;plot(x3,y3)Matlab上机实验三1.设,求x=sym('x');y=x*exp(2*x);diff(y,20)2.设,求x=sym('x');y=(sin(x))^4+(cos(x))^4;diff(y,10)3.设,求x=sym('x');y=sym('y');z=y^4*((sin(x))^4)+x^4*((cos(y))^4);int(z,x)4.dxxxx))(1(122x=sym('x');int(1/(x^2+1)*(x^2+x),x)5.dxxx632)9(x=sym('x');int((sqrt((9-x^2)^3)/x^6),x)6.213xxdxx=sym('x');int(x+x^3,x,1,2)7.求级数的和:122nnnsym(‘n’);symsum(n+2/2^n,n,1,inf)8.利用函数int计算二重不定积分x=sym('x');y=sym('y');z=(x+y)*exp(-x*y);a=int(z,x);int(a,y)Matlab上机实验四1.编写一个M函数文件计算下列级数的和:x和n的值由input指令给出。%test.mfunctionf=testx=input('Inputthex:\n');n=input('Inputthen:\n');j=1;f2=0;fori=1:n;j=1;fork=1:i;j=j*k;f1=x^i/j;endf2=f2+f1;endf=f2+1;2.编制m文件,等待键盘输入,输入密码123,密码正确,显示输入密码正确,程序结束;否则提示,重新输入。方法一:functionf=checkpassword=input('Pleaseinputthepassword:\n');if(password==123)disp(‘输入密码正确’)dxdyeyxxy)(elsecheck;end方法二:functionpwn=0;k=0;n=input('请输入密码(整数)\n');while(k==0)ifn==123disp('输入正确')k=1;elsek=0;n=input('密码错误,请重新输入密码(整数)\n');endend3.编制m文件,输入n(正整数),显示所有小于n的质数。%第一m文件(用于判断某数是否为素数):functionleap=panduan(n)leap=1;fori=2:sqrt(n+1)ifmod(n,i)==0leap=0;break;endend%第二个m文件(用于读进n个数并调用panduan.m判断读数是否为素数,并把是素数的显示出来):functionzhishu(n)form=2:nifpanduan(m)==1disp(m);endend4.编写一个M函数文件fun_es(x),计算如下函数:)sin(5.023/xxeyx,其中参数可以为标量,也可以为向量。在Matlab指令窗口键入如下命令检验该函数:fun_es(3)functionfun_es(x)y=0.5.*exp(x./3)-x.^2.*sin(x)5.下面程序实现什么功能?forn=100:200ifrem(n,77)~=0continueendbreakendn求100到200之间,第一个77的整倍数6.编写m函数文件求半径为r的圆的面积和周长。functionf=circle(r)S=pi*r^2L=2*pi*r7.数组[1:99]中素数(即质数)元素的和%第一m文件(用于判断某数是否为素数):functionleap=panduan(n)leap=1;fori=2:sqrt(n+1)ifmod(n,i)==0leap=0;break;endend%第二个m文件(用于读进1-99并调用panduan.m判断读数是否为素数,并把是素数的加起来,最后输出):functiontotal(n)k=0;form=1:nifpanduan(m)==1k=k+m;endendk8.从键盘输入若干个数,当输入0时结束输入,求这些数的平均值以及平方和。%求n个数的平均值及平方和functionpingfang1l=0;total1=0;total2=0;a=input('inputa:\n');while(a~=0)l=l+1;total1=total1+a;total2=total2+a^2;a=input('');endavg=total1/ltotal29.输入x,y的值,并将它们的值互换后输出。functionf=change(x,y)x=input('Inputx:\n');y=input('Inputy:\n');a=x;x=y;y=a;x,y10.利用rand产生10个随机数,利用for循环对其进行排序(从大到小)。disp('排列前:')a=rand(10,1)fori=1:10forj=1:10-iifa(j+1,1)a(j,1)b=a(j,1);a(j,1)=a(j+1,1);a(j+1,1)=b;endendenddisp('排列后:')aMatlab上机实验四1.编写一个M函数文件计算下列级数的和:x和n的值由input指令给出。functiony=jiecheng(n)%定义jiecheng函数s=1;fori=1:ns=s*i;endy=s;functionzy1x=input('请输入x值:');n=input('请输入n值:');m=1;i=0:n;form=m+x.^i/jiecheng(i);%调用上面

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功