1、1Matlab上机实验一、二3.求下列联立方程的解 41025698743wzyxz a=3 4 -7 -12;5 -7 4 2;1 0 8 -5;-6 5 -2 10; b=4;4;9;4; c=ab4设 , ,求 C1=A*B;C2=A*B;C3=A.*B,并求上述812795633A79318264B所有方阵的逆阵。 A=1 4 8 13;-3 6 -5 -9;2 -7 -12 -8; B=5 4 3 -2;6 -2 3 -8;-1 3 -9 7; C1=A*B C2=A*B C3=A.*B inv(C1) inv(C2) inv(C3)5设 ,把 x=02 间分为 101点,画出以 x
2、为横坐标,y 为纵坐标的)1(sin35.0cos2xxy曲线。 x=linspace(0,2*pi,101); y=cos(x)*(0.5+(1+x.2)3*sin(x); plot(x,y,r)6产生 86阶的正态分布随机数矩阵 R1, 求其各列的平均值和均方差。并求该矩阵全体数的平均值和均方差。 (mean var)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)2或者u=reshape(a,1,48);p1=mean(u)p2=var(u)
3、7.设 x=rcost+3t,y=rsint+3,分别令 r=2,3,4,画出参数 t=010区间生成的 xy曲线。 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个点,画出曲线,看它有几个过零点。 (提示
4、:用 polyval 函数) x=linspace(2,8,100); y=polyval(1 0 -4 3 -2 6,x); plot(x,y,b,x,0,y)(2) 用 roots函数求此多项式的根。t=1 0 -4 3 -2 6p=roots(t)9.建立一个字符串向量,然后对该向量做如下处理:(1) 取第 15 个字符组成的子字符串。(2) 将字符串倒过来重新排列。(3) 统计字符串中小写字母的个数。 a=abcdef123456; subch=a(1:5)subch =abcde revch=a(end:-1:1)revch =654321fedcba k=find(a=a char
5、(a) length(a) length(k)10.利用帮助查找 limit函数的用法,并自己编写,验证几个函数极限的例子。3limit(sin(x)/x) returns 1limit(x-2)/(x2-4),2) returns 1/4limit(1+2*t/x)(3*x),x,inf) returns exp(6*t)limit(1/x,x,0,right) returns inflimit(1/x,x,0,left) returns -inflimit(sin(x+h)-sin(x)/h,h,0) returns cos(x)v = (1 + a/x)x, exp(-x);Matlab
6、上机实验二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
7、;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)3绘制 在定义域 x=-2,2,y=-2,2内的曲面。(利用 meshgrid)x=-)(22yxez2:2;y=x;X,Y= meshgrid(x,y);Z=X2*exp(-(X2+Y2);mesh(X,Y,Z) 4求代数方程 3x5+4x4+7
8、x3+2x2+9x+12=0的所有根。 (利用 roots函数)p=3 4 7 2 9 12;roots(p)5把 1开五次方,并求其全部五个根。(提示:解 x5-1=0)p=1 0 0 0 0 -1;roots(p)6, ,画出在 上的曲线。312/)34(/2xxy 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);hold on; plot(x2,y2);hold on; plot(x3,y3) Matlab上机实验三1.设
9、 ,求 syms x y=x*exp(2*x);Diff(y,10)42.设 ,求syms x y=sin(x)4+cos(x)4; y103.设 ,求 syms x y z=y4*sin(x)4+x4*cos(y)4; diff(z,x)4 dxx)(12 syms x y y=1/(x2+1)*(x2+x); int(y)5 dx632)9( int(sqrt(9-x2)3)/x6)6 213x syms x int(1/(x+x3),1,2) simple(ans)7.求级数的和: (利用帮助,查找 symsum)12n syms n symsum(n+2)/2n,n-1,inf) si
10、mple(ans)8.利用函数 int计算二重不定积分 syms x y int(int(x+y)*exp(-x*y)9设方程(1) , (2) 及(3) ,用符号运算工具箱函数 solve0)cos(3a0)cos(3x0)cos(3ax分别求 x的解。用 a=0.5代入,求 x 的数值解,并与用 roots 函数所求的结果进行比较。 syms x1 x2 x3 x1=solve(x13+cos(0.5)=0); x2=solve(x23+cos(x2)=0); x3=solve(x33+cos(0.5*x3)=0); x1,x2,x3 p=1 0 0 cos(0.5); roots(p)1
11、0求微分方程的解: y-y=x,y(2)=4,y(1)=7,y(1)=8dxye)(5 syms x y dsolve(D3y-D2y=x,D2y(2)=4,Dy(1)=7,y(1)=8)11.设 , 要求在 z=010区间内画出 x,y,z三维曲线。zz3cos,sin z=0:0.01:10; x=z.*sin(3*z); y=z.*cos(3*z); plot3(x,y,z)12.设 ,画出定义域 x=-2,2,y=-2,2内的曲面图。)(22yxez x,y=meshgrid(-2:0.1:2); z=x.2.*exp(-x.2-y.2); mesh(x,y,z)13.设 z=0.05
12、x-0.05y+0.1; 画出 z的曲面(平面)图。 X,Y=meshgrid(1:10:200,1:10:200); Z=0.05*X-0.05*Y+0.1; surf(X,Y,Z)1编写程序计算:(1)使用一个 for/end循环,但不能使用数组运算符 sum。(2)使用数组运算符和 sum,但不能使用任何 for/end循环。答:(1): 1100 相加For 循环:s=0;for i=1:100s=s+i;ends(2): 1100 相加Sum 函数:i=1:100;s=sum(i)2编制 m文件,等待键盘输入,输入密码 123,密码正确,显示输入密码正确,程序结束;否则提示,重新输入
13、,直到正确为止。答:function mypasswordk=0;n=input(等待键盘输入n);while(k=0)if n=1236disp(输入密码正确)k=1;elsen=input(密码错误,重新输入n);k=0;endend3编制 m文件,输入 n(正整数) ,显示所有小于 n的质数。答:function zhishum=input(输入正整数 m=n);p=2:m-1;for i=2:sqrt(m)n=find(rem(p,i)=0p(n)=;endp4编写一个 M函数文件 fun_es(x),计算如下函数: ,其中参数可以为)sin(5.023/xeyx标量,也可以为向量。在
14、 Matlab指令窗口键入如下命令检验该函数:fun_es(3)答:function fun_es(x)y=0.5*exp(x/3)-x.2.*sin(x)5利用 rand产生 10个随机数,利用 for循环对其进行排序(从大到小)。答:function pailien=rand(1,10)for j=1:10for i=j+1:10if n(j)n(i)a=n(j);n(j)=n(i);n(i)=a;endendenddisp(重新排列后:)n6编写 m函数文件求半径为 r的圆的面积和周长。答:function yuan(r)s=pi*r2c=2*pi*r77数组1:99中非素数(即质数)元
15、素的和答:function feizhishuhem=99;p=2:m;for i=2:sqrt(m)n=find(rem(p,i)=0p(n)=;ends=sum(1:99)-sum(p)8从键盘输入若干个数(每个数用回车结束),当输入 0时结束输入,求这些数的平均值以及平方和。(结束标志 0不计算在内)答:function abck=0;s=0;i=0;y=0;n=input();while(k=0)if n=0k=0;i=i+1;s=s+n;y=y+n2;n=input();elsek=1;a=s/iyendend9输入 x,y的值,并将它们的值互换后输出。答:function jiao
16、huanx=input(x=n);y=input(y=n);z=x;x=y;y=z;8xy10.下面程序实现什么功能?for n=100:200if rem(n,77)=0continueendbreakendn答:在 100 到 200 之间输出第一个能被 77 整除的整数11:编写一个 M函数文件计算下列级数的和:x 和 n 的值由 input 指令给出。答:function jishux=input(x=n);n=input(n=n);y=1;a=1;for i=1:na=a*i;y=y+(x.i)/a;endy12:编写函数文件,参数为整数 n,返回值为:n!尾部 0的个数。答:function linggeshua=1;c=0;n=input(n=n);for i=1:na=a*i;endfor j=1:1000if rem(a,10j)=0c=c+1;endend c!.!321)(nxxf