matlab基础与指导应用部分习题问题详解

合集下载

MATLAB语言基础与应用(第二版)第5章 习题答案

MATLAB语言基础与应用(第二版)第5章 习题答案

第5章习题与答案5.1用矩阵三角分解方法解方程组123123123214453186920x x x x x x x x x +-=⎧⎪-+=⎨⎪+-=⎩ 解答:>>A=[2 1 -1;4 -1 3;6 9 -1] A =2 1 -1 4 -13 6 9 -1 >>b=[14 18 20]; b =14 18 20 >> [L, U, P]=lu(A) L =1.0000 0 0 0.6667 1.0000 0 0.3333 0.2857 1.0000 U =6.0000 9.0000 -1.0000 0 -7.0000 3.6667 0 0 -1.7143 P =0 0 1 0 1 0 1 0 0 >> y=backsub(L,P*b’) y =20.0000 4.6667 6.0000 >> x=backsub(U,y) x =6.5000 -2.5000 -3.5000 5.2 Cholesky 分解方法解方程组123121332352233127x x x x x x x ++=⎧⎪+=⎨⎪+=⎩ 解答:>> A=[3 2 3;2 2 0;3 0 12] A =3 2 32 2 03 0 12>> b=[5;3;7]b =537>> L=chol(A)L =1.7321 1.1547 1.73210 0.8165 -2.44950 0 1.7321>> y=backsub(L,b)y =-11.6871 15.7986 4.0415>> x=backsub(L',y)x =-6.7475 28.8917 49.93995.3解答:观察数据点图形>> x=0:0.5:2.5x =0 0.5000 1.0000 1.5000 2.0000 2.5000 >> y=[2.0 1.1 0.9 0.6 0.4 0.3]y =2.0000 1.1000 0.9000 0.6000 0.4000 0.3000 >> plot(x,y)图5.1 离散点分布示意图从图5.1观察数据点分布,用二次曲线拟合。

MATLAB习题与答案详解

MATLAB习题与答案详解

A 类1.矩阵20112494031221234341322321444423324151345363425161453735261786462927189747382819101483930=m ,求矩阵的秩,特征值,特征向量,相似矩阵,对角化,二次型及其标准型。

2.画出如图所示的图形y=sin(x)x 轴y 轴y=cos(x)x 轴y轴2468010203040y=x 2x 轴y 轴2468-30-20-10010y=5-4*xx 轴y轴3要求:1) 对每列进行[0,1]区间化 '(min())/(max()min())x x x x x =--;2) 把区间化后的表的右边3列,连接在左边3列下边,构成16行3列的表;3) 把16行3列进行转置,得到3行16列的表。

然后对列进行操作,把3行16列的表变成一列,后转置成一行,得到最终的结果。

4、下表为81)2) 把任意两点距离的表中,自己到自己的距离,转变成无穷大5.附件1给出了100个学生的学号和五门课程成绩。

1)求五门课总分最高分和最低分及相应学生的学号。

2)设计一个成绩查询系统,要求输入某学生的学号能够返回该学生各科成绩,总分以及在100个人中的名次。

B类(三选二)6.假设排列着100个乒乓球,由两个人轮流拿球装入口袋,能拿到第100个乒乓球的人为胜利者。

条件是:每次拿球者至少要拿1个,但最多不能超过5个,问:如果你是最先拿球的人,你该拿几个?以后怎么拿就能保证你能得到第100个乒乓球?7、模拟猫跑一条轨迹,轨迹为倒“8”字,轨迹如下:(条件自行拟定)8.当一个球从h米自由下落后,被地面弹起h1,再一次下落,直至平衡,如图所示,请模拟这个过程。

1 2 3 4 5 6 7 8x 4.22 7.92 6.56 8.49 6.79 7.43 6.55 7.06y 9.16 9.59 0.36 9.34 7.58 3.92 1.71 0.32。

MATLAB基础及其应用教程周开利邓春晖课后答案

MATLAB基础及其应用教程周开利邓春晖课后答案

第三章习题及参考答案解答:>> p=[1 -1 -1];>> roots(p)ans =-0.61801.6180解答:取n=5,m=61>> x=linspace(0,2*pi,5); y=sin(x);>> xi=linspace(0,2*pi,61);>> y0=sin(xi);>> y1=interp1(x,y,xi);>> y2=interp1(x,y,xi,'spline');>> plot(xi,y0,'o',xi,y1,xi,y2,'-.');>> subplot(2,1,1); plot(xi,y1-y0);grid on >> subplot(2,1,2); plot(xi,y2-y0);grid on分段线性和三次样条插值方法与精确值之差取n=11,m=61>> x=linspace(0,2*pi,11); y=sin(x);>> xi=linspace(0,2*pi,61);>> y0=sin(xi);>> y1=interp1(x,y,xi);>> y2=interp1(x,y,xi,'spline');>> plot(xi,y0,'o',xi,y1,xi,y2,'-.');>> subplot(2,1,1); plot(xi,y1-y0);grid on>> subplot(2,1,2); plot(xi,y2-y0);grid on分段线性和三次样条插值方法与精确值之差解答:>> x=[0,300,600,1000,1500,2000];>> y=[0.9689,0.9322,0.8969,0.8519,0.7989,0.7491]; >> xi=0:100:2000;>> y0=1.0332*exp(-(xi+500)/7756);>> y1=interp1(x,y,xi,'spline');>> p3=polyfit(x,y,3);>> y3=polyval(p3,xi);>> subplot(2,1,1);plot(xi,y0,'o',xi,y1,xi,y3,'-.'); >> subplot(2,1,2);plot(xi,y1-y0,xi,y3-y0);grid on插值和拟合方法相比较,都合理,误差也相近。

MATLAB实验及答案详解

MATLAB实验及答案详解

>> C3
C3 =
9 22 2
8 19 -6
36 88 3
>> D1
D1 =
2 -2 3
655
16 -10 3
>> D2
D2 =
0.5000 -2.0000 0.3333
0.6667 5.0000 0.2000
1.0000 -10.0000 3.0000
>> D3
D3 =
141
4 25 1
16 100 9
5.0000 - 5.0000i 6.0000 - 6.0000i
②求矩阵的逆矩阵
>> B=[1 2;3 4];
>> B1=inv(B) 运行后显示:
B1 = -2.0000 1.0000 1.5000 -0.5000
>> B2=B^(-1) 运行后显示: B2 =
-2.0000 1.0000 1.5000 -0.5000 ③关于矩阵求幂 >>A=[1 2;3 4]; B=[ 2 1;3 2]; >>A.^B 运行后显示: ans =
>>A=[1,2,3;4,5,6] 运行后显示: A= 123 456
在命令窗口输入:
>>b=A(1,2)
运行后显示:b =2
在命令窗口输入:
>>A(2,3)=-3
运行后显示:A =
123
4 5 -3
矩阵的操作
>>A=[1,2,3;4,5,6;7,8,9]
>>B=diag(A) %X 为矩阵时,V=diag(X,k)得到列向量 V,它取自 X 的第 K 个对角

MATLAB及其应用课后习题解答

MATLAB及其应用课后习题解答
2
5
“MATLAB 及其应用”课程作业
图 4- 2 画出函数图像
第5章
1. 已知椭圆的长、短轴 a 4, b 2 ,用“小红点线”画如下图所示的椭圆
x a cos t 。 y b sin t
(提示:参量 t ;点的大小;axis equal) 答 : 运 行 :clf; a=4;b=2;t=0:pi/80:2*pi;x=a*cos(t);y=b*sin(t);plot(x,y,’r’,’markersize’,15);axis equal;xlabel(‘x’);ylabel(‘y’);shg;结果如图 5-1 所示:
1
“MATLAB 及其应用”课程作业
a5=sin(sym(pi/4)+exp(sym(0.7+pi/3))); a6=sin(sym(pi/4)+sym(exp(0.7+pi/3))); a7=sin(sym(pi/4+exp(0.7+pi/3))); a8=sym(sin(pi/4+exp(0.7+pi/3))); da2 = vpa(a1-a2,30) da3 = vpa(a1-a3,30) da4 = vpa(a1-a4,30) da5 = vpa(a1-a5,30) da6 = vpa(a1-a6,30) da7 = vpa(a1-a7,30) da8 = vpa(a1-a8,30) 结果如图 2-2 所示: 只有 a2 是精准的,观察可知,这是由 于 sym('Num')和 sym(Num)的区别带来 图 2- 2 vpa 观察误差 的前者以字符串的形式传给符号运算内 核,可以保留完整的精度;而后者经过浮点数运算之后再转换为符号类型,存在精度损 失。 3.在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是独立自由变量。 sym('sin(w*t)') , sym('a*exp(-X)' ) , sym('z*exp(j*th)') 答:分别为 w,a,z,具体图 2-3 所示。

matlab基础与应用部分习题答案

matlab基础与应用部分习题答案

作业一4、写出完成下列操作的命令。

(1)将矩阵 A 第2~5 行中第1,3,5 列元素赋给矩阵B。

>> M=[0:1:48];>> A=reshape(M,7,7)0 7 14 21 28 35 421 8 15 22 29 36 432 9 16 23 30 37 443 10 17 24 31 38 454 11 18 25 32 39 465 12 19 26 33 40 476 13 20 27 34 41 48 >> B=A(2:5,1:2:5)B =1 15 292 16 303 17 314 18 32( 2)删除矩阵 A 的第七行元素。

>> A(7,:)=[]A =0 7 14 21 28 35 421 8 15 22 29 36 432 9 16 23 30 37 443 10 17 24 31 38 454 11 18 25 32 39 465 12 19 26 33 40 47 (3) 将矩阵A 的每个元素值加30。

>> A=A+30A =30 37 44 51 58 65 7231 38 45 52 59 66 7332 39 46 53 60 67 7433 40 47 54 61 68 7534 41 48 55 62 69 7635 42 49 56 63 70 77(4 求矩阵A 的大小和维素。

sizeA = size(A)dA = ndims(A) sizeA = dA =2(5)将向量t的0元素用机器零来代替。

>> t=[1 2 3 4 0 5];t =1 2 3 4 0 5>> find(t==0)ans =5>> t(5)=epst =1.00002.00003.00004.0000 0.00005.0000(6)将含有12个元素的向量x 转换成3*4 矩阵。

>> x=[0:11]x =0 1 2 3 4 5 6 7 8 9 10 >>11 y=reshape(x,3,4)y =0 3 6 91 4 7 102 5 8 117)求一个字符串的ASCII。

matlab习题与解答

matlab习题与解答

matlab习题与解答MATLAB 习题与解答习题1:利用if 语句根据不同的输入a 值,获取响应的计算因子,()()()[]()0.01,560.03,80.05,0,40.00,a or a a Lfactor a else==??>?=?∈ MatLab 代码:a=input('请输入a :');if a==5||a==6Lfactor=0.01elseif a>8Lfactor=0.03elseif a>=0&&a<=4Lfactor=0.05elseLfactor=0end运行结果:习题2:了解max 函数,执行v=[12 3.4 32 12 43]; [a n]=max(v),其中a 返回v 的最大值,n 返回v 中最大值a 的位置。

独立编制一段程序,实现matlab 内部函数max 的功能。

MatLab 代码:v=[12 3.4 32 12 43]; [a n]=max(v)a=v(1);n=1;for i=2:length(v)if a<v(i)< bdsfid="88" p=""></v(i)<>a=v(i);n=i;endend[a n]输出结果:习题3:执行vpa(pi,20), 解释vpa函数的功能MatLab 代码:vpa(pi,20)运行结果:vpa函数功能:matlab控制运算精度用的是digits和vpa这两个函数,digits用于规定运算精度,凡是用需要控制精度的,我们都对运算表达式使用vpa函数。

习题4:求解如下方程组:4x+2y-z=23x-y+2z=1012x+3y=8MatLab 代码:A=[4 2 -1;3 -1 2;12 3 0];b=[2;10;8];A\b运行结果:习题5:创建矩阵[-1 6 15 –7 -2 -4 -6]并选出其中非正元素组成一个新的向量s1,并对s1进行升序排列行程矩阵s2 。

Matlab基础与应用教程答案

Matlab基础与应用教程答案

第1章一、思考题4.( 1) B=A(2:5,1:2:5)(2)A(7)=[](3)A=A+30(4)size(A)( 5) t(find(t==0))=eps(6)t=reshape(x,3,4)(7)abs('matlab')(8)char(93)5.A=[97,67,34,10;-78,75,65,5;32,5,-23,-59;0,-12,54,7] (1)B=A(1:3,:)C=A(:,1:2)D=A(2:4,3:4)E=B*C(2)A(find(A>=50 & A<=100)) 二、实验题=-74/180*pi;y=-27/180*pi;sin(x*x+y*y)/sqrt(tan(abs(x+y)))+pi一・・,exp*a).*sin(a+=[2,4;,5];log(x+sqrt(1+x.*x))/24.A=[3,54,2;34,-45,7;87,90,15];B=[1,-2,67;2,8,74;9,3,0];(1)A*Bans =129 432 41977 -407 - 1052402 591 12489A.*Bans =3 -108 13468 -360 518783 270 0(2) A A3ans =-28917 240246 -4368137883 -259101 27669171333 252504 38673A.A3ans =27 157464 839304 -91125 343658503 729000 3375( 3) A/Bans =B/A ans =(4)[A,B]ans =3 54 2 1 -2 6734 -45 7 2 8 7487 90 15 9 3 0[&[1,3],:)砂2]ans =3 54 287 90 15600 183 -81684 282 72615 6 825=1+2i;b=3+4i; c=exp(pi*i/6) c =+ c+a*b/(a+b) ans =+ 第2章一、思考题=0; for n=0:63s=s+2A n;end disp(s)n=0:63;s=sum(2.An)二、实验题1.x=input( ' 输入一个四位整数:' );y=[fix(x/1000),mod(fix(x/100),10),mod(fix(x/10),10),mod(x,1 0)] z=mod((y+7),10)x=z(3)*1000+z(4)*100+z(1)*10+z(2)2. gh=input( ' 输入工号' ); h=input( ' 输入工时' );dj=84;if h>120gz=dj*120+*dj*(h-120);elseif h<60gz=dj*h-700;else gz=dj*h;end format bank; display([gh,gz])3. 循环结构n=input( 'input n:' );s=0;for k=1:n s=s+1/k A2;end display(sqrt(s*6)) 向量运算n=input( 'input n:' ); k=1:n;display(sqrt(sum(1./k.A2)*6))4.y=0;k=0;while y<3k=k+1; y=y+1/(2*k-1);end display([k-1,y-1/(2*k-1)])5.x0=0;x=1;k=0;a=input( 'a=' ); b=input( 'b=' );while abs(x-x0)>=1e-5 && k<500 x0=x;x=a/(b+x0);k=k+1;end display([k,x]); display([(-b+sqrt(bA2+4*a))/2,(-b-sqrt(bA2+4*a))/2]);6.y=fun(40)/(fun(30)+fun(20))(1)函数文件function f=fun(n) f=n+log(nA2+5);(2)函数文件function f=fun(n) a=1:n;f=sum(a.*(a+1));第3章一、思考题4.t=0::;y=sqrt(3)/2*exp(-4*t).*sin(4*sqrt(3)*t+pi/3);5.x=-10::10; y=linspace(-6,6,size(x,2))z=x.A3+3*x.*y.A2;plot3(x,y,z)6.x=100:100:400;y=100:100:400;z=[636,697,624,478;698,712,630,478;680,674,598,412;662,626,552,334]; [X,Y]=meshgrid(x,y);mesh(X,Y,z)二、实验题1.( 1 ) x=-10::10;plot(x,x-x.A3/3/2)( 2) plot(x,exp(-x.*x/2)/2/pi)(3)x=-8::8;plot(x,sqrt((64-x.*x)/2))( 4) t=0:pi/100:6*pi;plot(t.*sin(t),t.*cos(t))2.( 1) x1=linspace(0,1,100);y1=2*;t=linspace(0,pi,100);x=sin(3*t).*cos(t);y=sin(3*t).*sin(t);plot(x1,y1,'r-',x,y,'b:');text,1,'y='); text,,'x=sin(3t)cos(t)');text,,'y=sin(3t)sin(t)');(2)subplot(1,2,1);scatter(x1,y1,10)title('y=');subplot(1,2,2);scatter(x,y,10)3.subplot(1,2,1);x=1:1:100; y=sin(1./x);plot(x,y) subplot(1,2,2);fplot('sin(1/x)',[1,100])4.subplot(2,2,1);bar(t,y);subplot(2,2,2);stairs(t,y);subplot(2,2,3);stem(t,y) subplot(2,2,4); semilogy(t,y);3.theta=linspace(-pi,pi,100); ro=5.*cos(theta)+4; polar(theta,ro); fi=linspace(0,2*pi,100);a=1 r=a.*(1+cos(fi));polar(fi,r);4.plot3(x,y,z);t=0::1;x=t;y=t.A2;z=t.A3;plot3(x,y,z);7.x=-30::0;y=0::30; [x,y]=meshgrid(x,y);z=10.*sin(sqrt(x.A2+y.A2))./sqrt(1+x.A2+y.A2); meshc(x,y,z);8. x=linspace(-3,3,100);y=linspace(-3,3,100);[x y]=meshgrid(x,y);fxy=-5./(1+x.A2+y.A2);i=find(abs(x)<= & abs(y)<=; fxy(i)=NaN;surf(x,y,fxy)9.u=linspace(1,10,100);v=linspace(-pi,pi,100); [u,v]=meshgrid(u,v);x=3.*u.*sin(v);y=2.*u.*cos(v);z=4*u.A2;x=3*u.*sin(v);y=2*u.*cos(v);z=4*u.A2; surf(x,y,z);shading interp;light('position',[1,0,1]);10. t=0:pi/100:2*pi; y=sin(t);comet(t,y) 第4章一、思考题5.(1)A=eye(3);(2)C=100+(200-100)*rand(5,6);( 3) D=1+sqrt*randn(1,500);( 4) E=ones(size(A));( 5) A=A+30*eye(size(A));( 6) B=diag(diag(A))二、实验题1.P=pascal(5);H=hilb(5); Dp=det(P);Dh=det(H); Kp=cond(P);Kh=cond(H);P矩阵的性能更好,因为Kp较小2.A=[1,-1,2,3;0,9,3,3;7,-5,0,2;23,6,8,3] B=[3,pi/2,45;32,-76,sqrt(37);5,72,;exp(2),0,97] A1=diag(A);B1=diag(B);A2=triu(A);B2=triu(B); A3=tril(A);B3=tril(B); rA=rank(A);rB=rank(B);nA=norm(A);nb=norm(B); cA=cond(A);cB=cond(B);3.A=[31,1,0;-4,-1,0;4,-8,-2] ;[V,D]=eig(A);4.A=diag([-1,-1,-1,-1],-1)+diag([-1,-1,-1,-1],1)+diag([2,2,2,2,2])b=[1,0,0,0,0]';x1=inv(A)*b; x2=A\b; [L,U]=lu(A); x3=U\(L\b); [Q,R]=qr(a); [Q,R]=qr(A); x4=R\(Q\b) R=chol(A); x5=R\(R'\b) 5.B=sparse(A); x1=inv(B)*b; x2=B\b; [L,U]=lu(B); x3=U\(L\b); 第5章一、思考题3.A=randn(10,5); mean(A) std(A) max(max(A)) min(min(A)) sum(A,2) sum(sum(A)) sort(A,1) sort(A,2,'descend') 二、实验题1.A=rand(1,30000); mean(A) std(A) max(A) min(A) size(find(A>)/size(A)2.h=[466,715,950,1422,1635]; w=[,,,,];hh=[500,900,1500]; ww=interp1(h,w,hh,'spline')3.x=linspace(1,10,50); y=log(x);第6章一、思考题2.fx=i nlin e('1./(1+x.A 2)');[I,n]=quad(fx,-100000,100000,1e-3); [I,n]=quadl(fx,-100000,100000,1e-3); x=-100000::100000; y=1./(1+x.*x);f=polyfit(x,y,5); yy=polyval(f,x); plot(x,y,'r-',x,yy,'g.') 4. N=64; T=5;t=linspace(0,T,N); x=3*exp(-t); % dt=t(2)-t(1); f=1/dt; X=fft(x); F=X(1:N/2+1); f=f*(0:N/2)/N;plot(f,abs(F),'-*') % %% 求各采样点样本值 x% % %采样点数 采样时间终点给岀N 个采样时间ti(l=1:N) 采样周期采样频率 (Hz)计算 x 的快速傅立叶变换 X% F(k)=X(k)(k=1:N/2+1)% 使频率轴 f 从零开始 % 绘制振幅 - 频率图xlabel('Frequency');ylabel('|F(k)|')5.(1)p1=[1 2 0 0 7];p2=[1 -2];p3=[1 0 0 5 1];p12=conv(p1,p2);p=p12+[zeros(1,size(p12,2)-size(p3,2)),p3]; roots(p)(2)A=[-1,4,3;2,1,5;0,5,6];Px=polyval(p,A) Pxm=polyvalm(p,A)6.(1) z=fzero('3*x-sin(x)+1',0)(2)建立函数文件 function F=myfun(X)x=X(1);y=X(2); F(1)=x*x+y*y-9;F(2)=x+y-1; 在命令窗口中输入以下命令: x=fsolve(@myfun,[3,0]',optimset('Display','of f'))trapz(x,y);3.(1)fx=inline('-2*y+2*x*x+2*x');[t,y]=ode23(fx,[0,],1)(2)fx=inline('y-exp(x)*cos(x)');[t,y]=ode23(fx,[0,3],1)二、实验题1.for x=1:3fx=[x,xA2,xA3;1,2*x,3*x;0,2,6*x]; diff(fx)end2.(1 ) x=0::1;y=x.A10+10.Ax+1./log10(x);dy=diff(y)/;(2)x=0::1;y=log(1+x);dy=diff(y,2)/;plot(x(1:99),dy)3.(1 ) fx=inline( 'x.A2.*sqrt(2*x.*x+3)');quad(fx,1,5)(2)fx=inline( 'x./sin(x).A2' ); quad(fx,pi/4,pi/3)(3)fx=inline( 'abs(cos(x+y))' ); dblquad(fx,0,pi,0,pi)(4)syms x y;fx=x*y;int(int(fx,yA2,y+2),-1,2)x的积分区间为【0, 2】时fx=inline( 'x.*y' );dblquad(fx,0,2,-1,2)4.x=::;y=[,,,,,,];trapz(x,y)5.(1)yp=i nlin e( '-+si n( 10*x))*y' );[t,y]=ode23(yp,[0,5],1);(2)令x1y, x2y ,x3 y'',则可写出原方程的状态方程形式: x1x2X2 X3cos 1x3cost 5 X3 X2 X1(t 1)2 3 sin t0 1 0 X1 0=>> x20 0 1 X2 01 / 5cos2t X3 12X3 cost3 sint (t 1)2建立函数文件fun cti on y=ztfu n( t,x)b=[0;0;cos(t)];y=[0,1,0;0,0,1;-1/(3+si n( t)),-1,5*cos(2*t)/(t+1)A2]*x+b; 解微分方程组[t,y]=ode23(@ztfu n,[0,5],[1;0;2]);6.建立函数文件fun cti on yy=ztfu n( t,y)yy=[ y( 2)*y(3);-y(1)* y(3) ;*y(1)*y(2)];解微分方程组[t,y]=ode23(@ztfu n,[0,5],[0;1;1])第7章一、思考题3.(1 )数值积分fx=i nlin e('exp(x).*(1+exp(x)).A2'); quad(fx,0,log(2)) 符号积分f=sym('exp(x)*(1+exp(x))A2');v=in t(f,0,log (2));eval(v)(2 )略二、实验题1.A=sym('[1,2,3;x,y, z; 3,2,1]')rank(A)inv(A)det(A)2.(1)y=sym('sqrt(x+sqrt(x+sqrt(x)))');y1=diff(y)y2=diff(y,'x',2)(2)syms x y;fxy=si n( x A2*y)*exp(-x A2-y);diff(diff(fxy,x),y)3.(1)syms xin t(1/(1+xA4))(2)syms x tin t((-2*x*x+1)/(2*x*x-3*x+1)A2,x,cos(t),exp(2*t))4.syms n xsymsum(1/(2* n+1)/(2*x+1)A(2* n+1), n,0,i nf)symsum(1/(2* n+1)/(2*x+1)A(2* n+1), n, 0,5)5.(1)syms xtaylor((exp(x)+exp(-x))/2,5,0)(2)syms a xtaylor(exp(-5*x)*si n(3*x+pi/3),5,a)6.(1)x=solve(sym('xA3+a*x+1=0'))(2)[x y]=solve(sym('sqrt(xA2+yA2)-100=0,3*x+5*y-8=0'))y' y17.方程转化为:’,严y1' y 1 一符号解[y1,y11]=dsolve(,Dy=y1,Dy1+y=1-t A2/pi,,,y(-2)=5,y1(-2)=5',,t,)数值解编写函数文件fun cti on yy=ztfu n( t,y)yy=[y(2);1-tA2/pi-y(1)];在命令窗口输入以下命令[t,y]=ode45(@ztfu n,[-2,7],[-5;5]);t=li nspace(-2,7,49)y2=y8.[x,y]=dsolve('Dx=3*x+4*y,Dy=-4*x+3*y','x(0)=0,y(0)=1')第9章二、实验题1.(1 )新建一个Blank GUI。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

作业一4、写出完成下列操作的命令。

(1)将矩阵A第2~5行中第1,3,5列元素赋给矩阵B。

>> M=[0:1:48];>> A=reshape(M,7,7)A =0 7 14 21 28 35 421 8 15 22 29 36 432 9 16 23 30 37 443 10 17 24 31 38 454 11 18 25 32 39 465 12 19 26 33 40 476 13 20 27 34 41 48>> B=A(2:5,1:2:5)B =1 15 292 16 303 17 314 18 32(2)删除矩阵A的第七行元素。

>> A(7,:)=[]A =0 7 14 21 28 35 421 8 15 22 29 36 432 9 16 23 30 37 443 10 17 24 31 38 454 11 18 25 32 39 465 12 19 26 33 40 47 (3)将矩阵A的每个元素值加30。

>> A=A+30A =30 37 44 51 58 65 7231 38 45 52 59 66 7332 39 46 53 60 67 7433 40 47 54 61 68 7534 41 48 55 62 69 7635 42 49 56 63 70 77(4求矩阵A的大小和维素。

sizeA = size(A)dA = ndims(A)sizeA =6 7dA =2(5)将向量t的0元素用机器零来代替。

>> t=[1 2 3 4 0 5];t =1 2 3 4 0 5>> find(t==0)ans =5>> t(5)=epst =1.00002.00003.00004.0000 0.00005.0000(6)将含有12个元素的向量x转换成3*4矩阵。

>> x=[0:11]x =0 1 2 3 4 5 6 7 8 9 10 11 >> y=reshape(x,3,4)y =0 3 6 91 4 7 102 5 8 11(7)求一个字符串的ASCII。

>> abs('a')ans =97(8)求一个ASCII所对应的字符。

>> char(99)ans =c5、已知A[97 67 34 10-78 75 65 532 5 -23 -590 = -12 54 7]写出完成下列操作的命令。

(1)取出A的前3列构成矩阵B,前两列构成矩阵C,右下角3*2子矩阵构成矩阵D,B与C的乘积构成矩阵E。

>> B=A(1:3,:)B =97 67 34 10-78 75 65 532 5 -23 -59>> C=A(:,1:2)C =97 67-78 7532 50 -12>> D=A(2:4,3:4)D =65 5-23 -5954 7>> E=B*CE =5271 11574-11336 6641978 3112(2)输出【50,100】围的全部元素。

>> find(A>=50 & A<=100)ans =1561012>> output = [A(1) A(5) A(6) A(10) A(12)]output =97 67 75 65 54二、实验题>> x = -74*pi/180;y=-27*pi/180;sin((x*x+y*y))/(sqrt(tan((abs(x+y))))+pi) ans =0.1987 - 0.1434i>> a = -3.0:0.1:3.0,exp(-0.3.*a).*sin(a+0.3)>> x=[2 4;-0.45 5];0.5*log(x+sqrt(1+x.*x))ans =0.7218 1.0474-0.2180 1.1562>> A = [3 54 2;34 -45 7;87 90 15],B = [1 -2 67;2 8 74;9 3 0]>> A*BA.*Bans =129 432 41977 -407 -1052402 591 12489ans =3 -108 13468 -360 518783 270 0>> A^3A.^3>> A/BB\A>> [A,B][A([1,3],:);B^2]>> a=1+2i,b=3+4i,c=exp(pi/6*i)c+a*b/(a+b)作业二1、从键盘输入一个4位整数,按如下规则加密后输出。

加密规则:每位数字都加上7,然后用和除以10的余数取代该数字;然后将第1位数和第3位数交换,第2位数和第4位数交换。

M 文件名为:Untitled1.m程序:x=input('输入一个四位整数:');y=[fix(x/1000),mod(fix(x/100),10),mod(fix(x/10),10),mod(x,10)]z=mod((y+7),10)x=z(3)*1000+z(4)*100+z(1)*10+z(2)结果:输入一个四位整数:1234y =1 2 3 4z =8 9 0 1x =1892、硅谷公司员工的工资计算方法如下。

(1)工作时数超过120h者,超过部分加发15%。

(2)工作时数低于60h者,扣发700元。

(3)其余按每小时84元计发。

试编程按输入的工号和该号员工的工时数,计算应发工资。

程序:gonghao=input('输入工号');hour=input('输入工时');every=84;if hour>120gongzi=every*120+1.15* every *(hour-120);elseif hour<60gongzi=every*hour-700;elsegongzi=devery*hour;endformat bank;display([gonghao,gongzi])(1)结果:输入工号12输入工时130ans =12.00 11046.00(2)结果:输入工号12输入工时56ans =12.00 4004.00(3)结果:输入工号12输入工时80ans =12.00 6720.003、 根据n 2222211116321++++= π,求π的近似值。

当n 分别取100、1000、10000时,结果是多少?要求:分别用循环结构和向量运算(使用sun 函数)来实现。

(1)程序:(循环结构):n=input('input n:');s=0;for i=1:ns=s+1/i^2;pai= sqrt(s*6);enddisplay(pai)input n:100pai =3.1321(2)程序:(向量结构):n=input('input n:');i=1:n;pai= sqrt(sum(1./i.^2)*6);display(pai);结果:input n:100pai =3.13214、 根据12151311-++++=n y ,求: (1) y ﹤3时的最大n 值;(2) 与(1)的n 值对应的y 值。

y=0;k=0;while y<3k=k+1;y=y+1/(2*k-1);enddisplay([k-1,y-1/(2*k-1)])结果:ans =56.00 2.995、 考虑一下迭代公式:x x nn b a +=+1 其中,a 、b 为正的常数。

(1) 编写程序求迭代的结果,迭代的终止条件为|x x n n -+1|≤105-,迭代初值0.10=x ,迭代次数不超过500次。

程序:x0=1.0;a=input('a=');b=input('b=');x= a/(b+x0); m=1;while abs(x-x0)>1e-5 & m<500x0=x;x=a/(b+x0);m=m+1;enddisplay([m,x]);display([(-b+sqrt(b^2+4*a))/2,(-b-sqrt(b^2+4*a))/2]);结果:a=5b=5ans =7.0000 0.8541 ans =0.8541 -5.8541(2)如果迭代过程收敛于r,那么r的准确值是24 2ab b++-,当(a,b)的值取(1,1)、(8,3)、(10,0.1)时,分别对迭代结果和准确值进行比较。

a=1b=1ans =13.0000 0.6180ans =0.6180 -1.6180a=8b=3ans =13.0000 1.7016ans =1.7016 -4.7016a=10b=0.1ans =424.0000 3.1127 ans =3.1127 -3.21276、已知)20()30()40(f f f y +=(1) 当)5(10)(2++=n l n n f n 时,y 的值是多少? 程序:该题使用了function 的调用。

函数文件f.m function b=f(n); b=n+10*log(n^2+5); 结果:y=f(40)/(f(30)+f(20)) y = 0.6390(2) 当)1(433221)(+⨯++⨯+⨯+⨯=n n n f 时,y 的值是多少? 程序:函数文件fun.m function f=fun(n) f=sum([1:n].*([1:n]+1));结果:y=fun(40)/(fun(30)+fun(20)) y =1.7662作业三1、绘制下列曲线。

(1)!33x x y -= (2)exy 2221-=π(3)64222=+yx(4)⎩⎨⎧==tt y tt x cos sin解:(1)程序:x=-5:0.001:5;y=x-x.^3/(3*2*1);plot(x,y);(2)程序:x=-10:0.01:10;y= exp(-x.*x/2)/(2*pi); >> plot(x,y); (3) 程序:f='x.^2+2*y.^2-64';ezplot(f,[-10,10,-10,10]); ezplot('x.^2+2*y.^2-64',[-10,10,-10,10]); (4)程序:t=0:0.1:8*pi; >> x=t.*sin(t); >> y=t.*cos(t); >> plot(x,y);已知⎩⎨⎧==-=(t)sin(3t)sin y (3t)cos(t)sin 5.02x x y 和,π≤≤t 0,完成下列操作:(1) 在同一坐标系下用不同的颜色和线型绘制两条曲线,给曲线添加文字说明;解:程序:x1=linspace(0,1,100);>> y1=2*x1-0.5;>> t=linspace(0,pi,100);>> x=sin(3*t).*cos(t);>> y=sin(3*t).*sin(t);>> plot(x1,y1,'k:',x,y,'bp');>> text(0.5,1,'y=2x-0.5');>> text(-0.5,0.5,'x=sin(3t)cos(t)');>> text(-0.5,0.4,'x=sin(3t)sin(t)');(2)以子图形式,分别用条形图和散点图绘制两条曲线,并为各子图添加函数标题。

相关文档
最新文档