matlab课后习题程序代码综合整理.docx
- 文档编号:24758594
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:29
- 大小:22.32KB
matlab课后习题程序代码综合整理.docx
《matlab课后习题程序代码综合整理.docx》由会员分享,可在线阅读,更多相关《matlab课后习题程序代码综合整理.docx(29页珍藏版)》请在冰豆网上搜索。
matlab课后习题程序代码综合整理
习题二
第3题
(1)、A=[1:
5;6:
10;11:
15;16:
20;21:
25];
B=A(2:
5,[1,3,5])
(2)、A=[1:
5;6:
10;11:
15;16:
20;21:
25];
A(7)=[]
(3)、A=[1:
5;6:
10;11:
15;16:
20;21:
25];
D=A+30
(4)、A=[1:
5;6:
10;11:
15;16:
20;21:
25];
size(A)
length(size(A))或者ndims(A)
(5)、t=[1,2,3,0,7,0,4,0,6]
t(find(t==0))=eps
(6)、x=[2,4,5,4,7,8,45,21,34,1,6,57];
y=reshape(x,3,4)
(7)、abs('abc')
(8)、char(49)或者setstr(49)
第4题:
A=1:
9;B=10-A;
L1=A==B
L2=A<=5
L3=A>3&A<7
L4=find(A>3&A<7)
第5题:
A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14];
B=A(1:
3,:
);
C=A(:
1:
2);
D=A(2:
4,3:
4);
E=B*C
X1=E X2=E&D X3=E|D X4=~E|~D X5=find(A>=10&A<25) 第6题: A=[34,NaN,Inf,-Inf,-pi,eps,0]; x1=all(A) x2=any(A) x3=isnan(A) x4=isinf(A) x5=isfinite(A) 第7题: A (1).x1=’学号’;A (1).x2=’姓名’;A (1).x3=’专业’;A (1).x4.x41=’成绩1’;………. A (2).x1=’学号’;A (2).x2=’姓名’;A (2).x3=’专业’;A (2).x4.x41=’成绩1’;………. A(3).x1=’学号’;A(3).x2=’姓名’;A(3).x3=’专业’;A(3).x4.x41=’成绩1’;………. A(4).x1=’学号’;A(4).x2=’姓名’;A(4).x3=’专业’;A(4).x4.x41=’成绩1’;………. A(5).x1=’学号’;A(5).x2=’姓名’;A(5).x3=’专业’;A(5).x4.x41=’成绩1’;………. 第8题: B{1,1}=1; B{1,2}='Brenden'; B{2,1}=reshape(1: 9,3,3); B{2,2}={12,34,2;54,21,3;4,23,67}; (1)、x1=size(B) x2=ndims(B) (2)、x3=B (2) x4=B(4) (3)、当执行B(3)=[]后, B={1,[1,4,7;2,5,8;3,6,9],{12,34,2;54,21,3;4,23,67}} 当执行B{3}=[]后, B={1,[];[1,4,7;2,5,8;3,6,9],{12,34,2;54,21,3;4,23,67}} 习题三 1. (1)A=eye(3) (2)A=100+100*rand(5,6) (3)A=1+sqrt(0.2)*randn(10,50) (4)B=ones(size(A)) (5)A+30*eye(size(A)) (6)B=diag(diag(A)) 2. B=rot90(A) C=rot90(A,-1) 3. B=inv(A);A的逆矩阵 C=det(A);A的行列式的值 D=A*B E=B*A D=E因此A与A-1是互逆的。 4. A=[42-1;3-12;1230]; b=[2;10;8]; x=inv(A)*b 5. (1) diag(A);主对角线元素 triu(A);上三角阵 tril(A);下三角阵 rank(A);秩 norm(A);范数 cond(A);条件数 trace(A);迹 (2)略 6. A=[110.5;110.25;0.50.252] [V,D]=eig(A) 习题四 1.a=input('请输入一个4位数: '); while(a<1000|a>9999) a=input('输入错误,请重新输入一个4位数: '); end b=fix(a/1000); c=rem(fix(a/100),10); d=rem(fix(a/10),10); e=rem(a,10); b=b+7; c=c+7; d=d+7; e=e+7; b=rem(b,10); c=rem(c,10); d=rem(c,10); e=rem(e,10); g=b;b=d;d=g; g=c;c=e;e=g; a=1000*d+100*e+10*b+c; disp(['加密后: ',num2str(a)]) 2.a=input('请输入a: '); b=input('请输入b: '); c=input('请输入c: '); x=0.5: 1: 5.5; x1=(x>=0.5&x<1.5); x2=(x>=1.5&x<3.5); x3=(x>=3.5&x<=5.5); y1=a.*(x.^2)+b.*x+c; y2=a*(sin(b)^c)+x; y3=log(abs(b+c./x)); y=y1.*x1+y1.*x2+y3.*x3; disp(y) 3.x=fix(rand(1,20)*89)+10; x1=fix(sum(x)/20); disp(['平均数是: ',num2str(x1)]) m=(rem(x,2)==0&x n=find(m); disp(['小于平均数的数是: ',num2str(x(n))]); 4.A=input('请输入20个数的一个行向量: '); m=A; a=m; b=m; form=A ifa>=m a=m; elseifb<=m b=m; end end disp(['最小数是: ',num2str(a)]) disp(['最大数是: ',num2str(b)]) 5.s=0; a=0; forb=1: 64 c=2^a; a=a+1; s=s+c; end disp(['2的0次方到63次方的和是: ',num2str(s)]) 6,sum1=0; forn=1: 100 x=(-1)^(n+1)*(1/n); sum1=sum1+x; end disp(['当n取100时: sum=',num2str(sum1)]) sum2=0; forn=1: 1000 x=(-1)^(n+1)*(1/n); sum2=sum2+x; end disp(['当n取1000时: sum=',num2str(sum2)]) sum3=0; forn=1: 10000 x=(-1)^(n+1)*(1/n); sum3=sum3+x; end disp(['当n取10000时: sum=',num2str(sum3)]) 8.clearall a=input('请输入一个矩阵: '); b=input('请再输入一个矩阵: (注意: 两矩阵要可以相乘)'); [f1,f2]=juzhenji(a,b); 9.clearall y=qiuhe(100,1)+qiuhe(50,2)+qiuhe(10,-1); disp(y) 10. (1)S=108 (2)x=41220 y=246 习题五 1. (1)、x=-6: 0.1: 6; y=100./(1+x.^2); plot(x,y) (2)、x=-6: 0.1: 6; y=(1/2*pi)*exp(-x.^2/2); plot(x,y) (3)、ezplot('x^2+y^2=1') (4)、t=-8: 0.1: 8; x=t.^2; y=t.^3; plot(x,y) 2. (1)、theta=0: 0.01: 2*pi; rho=5*cos(theta)+4; polar(theta,rho,'k'); (2)、theta=0.002: 0.01: 2*pi; rho=12./sqrt(theta); polar(theta,rho) (3)、theta=0: 0.01: 2*pi; rho=5./cos(theta)-7; polar(theta,rho) (4)、theta=0: 0.01: 2*pi; rho=(pi/3).*theta.^2; polar(theta,rho) 3. (1)、t=0: 0.1: 2*pi; x=cos(t); y=sin(t); z=t; plot3(x,y,z,'p'); (2)、u=0: 0.1: 2*pi; v=0: 0.1: 2*pi; x=(1+cos(u)).*cos(v); y=(1+cos(u)).*sin(v); z=sin(u); plot3(x,y,z,'p'); (3)、x=-10: 0.5: 10; y=-10: 0.5: 10; [x,y]=meshgrid(x,y); z=5*ones(size(x)); mesh(x,y,z); xlabel('X'),ylabel('Y'),zlabel('Z'); (4)、[x,y,z]=sphere(20); x=10*x; y=10*y; z=10*z; surf(x,y,z); 4. ord=[4,2^10,3,6] fori=1: 4 subplot(2,2,i) theta=linspace(pi/ord(i),2*pi+pi/ord(i),ord(i)+1); plot(cos(theta),sin(theta)); xlim(1.5*[-1,1]);ylim(1.5*[-1,1]);axisequal; end 5. (1)、x=linspace(-10,10,200); y=[]; forx0=x ifx0>0 y=[y,x0.^2+(1+x0).^(1/4)+5]; elseifx0==0 y=[y,0]; elseifx0<0 y=[y,x0.^3+sqrt(1-x0)-5]; end end plot(x,y); (2)、fplot('(x<0).*(x.^3+sqrt(1-x)-5)+(x==0).*0+(x>0).*(x.^2+(1+x).^(1/4)+5)',[-10,10]) 6. t=0: pi/100: pi; x1=cos(t); y1=2*x1-0.5; x2=sin(3*t).*cos(t); y2=sin(3*t).*sin(t); plot(x1,y1,x2,y2); gridon; axis([-1,1,-1,1]); axissquare; %数值法 t=fsolve(@fun,[0: 0.8: pi]) x=sin(3*t).*cos(t) y=sin(3*t).*sin(t) holdon;plot(x,y,'r*'); 7. value=[450.6,395.9,410.2,450.9]; season=[1,2,3,4]; subplot(1,2,1); plot(season,value); subplot(1,2,2); pie(value); title('饼图') legend('一季度','二季度','三季度','四季度') 8. symsaxy eq=1/a^2*x^2+y^2/(25-a^2)-1; aa=[0.5: 0.5: 4.5,5.5: 8]; [m,n]=size(aa); fori=1: n eq1=subs(eq,a,aa(i)); ezplot(eq1,[-2020]); drawnow axis([-20,20,-10,10]); pause(0.5); end 9. (1)、x=0: 0.1: 10; y=((1+x.^2)/(1+x.^4)); hf=plot(x,y); set(hf,'color','r','linestyle',': ','marker','*','linewidth',1); text(4,0.25,'y=(1+x^{2})/(1+x^{4})'); (2)、x=0: 0.1: 10; y=3*x+sin(x)-exp(x); hf=plot(x,y); set(hf,'color','r','linestyle',': ','marker','*','linewidth',1); text(4,-2500,'y=3x+sinx-e^{x}'); (3)、theta=0: pi/100: 2*pi; rho=sin(2*theta); hf=polar(theta,rho); set(hf,'color','r','linestyle',': ','marker','*','linewidth',1); text(0.5,pi/36,'{\rho}=sin(2{\theta})'); (4)、clearall;closeall;clc; x=0: 0.1: 10; y=log((1+sqrt(1-x.^2))./x)+sqrt(1-x.^2); hf=plot(x,y); set(hf,'color','r','linestyle',': ','marker','*','linewidth',1); h=text; set(h,'Interpreter','latex'); set(h,'string','$$y=ln\frac{1+\sqrt{1-x^2}}x+\sqrt{1-x^2}$$','position',[1.2,0.3],'FontSize',16); 10. (1)、clearall;closeall;clc; t=0: 0.1: 10; x=(3*t)./(1+t); y=(3*t.^2)./(1+t.^3); hf=plot(x,y); set(hf,'color','r','linestyle',': ','marker','*','linewidth',1); text(1.5,0.6,'x=(3t)/(1+t),y=3t^{2}/(1+t^{3})'); (2)、clearall;closeall;clc; x=0: 0.1: 10; [x,y]=meshgrid(x); z=y./(1+x.^2+y.^2); hf=mesh(x,y,z); text(2,6,0.4,'f(x,y)=y/(1+x^2+y^2)'); (3)、clearall;closeall;clc; x=0: 0.1: 10; [x,y]=meshgrid(x); z=x.^2+y.^2-5*sin(x.*y); hf=mesh(x,y,z); text(8,3,210,'z=x^2+y^2-5sin(xy)'); (4)、clearall;closeall;clc; x=0: 0.1: 10; [x,y]=meshgrid(x); z=x.*y.*exp(-x.^2-y.^2); hf=mesh(x,y,z); text(3,5,0.15,'z=xye^{-x^2-y^2}'); 11.clearall;closeall;clc; x=[1: 44: -1: 1];x1=[4: 77: -1: 4];x2=[7: 1010: -1: 7]; y=[22223333]; patch(x,y,'r'); holdon; patch(x1,y,'g'); patch(x2,y,'b'); 12.clearall;closeall;clc; X=[1,1,1,1];X0=[1,1,2,2]; Y=[1,2,2,1];Y0=[1,2,2,1]; Z=[1,1,2,2];Z0=[2,2,2,2]; C=[0.5,1.0,1.0,0.5];C0=[1.0,0.5,0.5,0.1667]; X1=[2,2,1,1];Y1=[1,1,1,1];Z1=[1,2,2,1]; X2=[1,1,2,2];Y2=[1,2,2,1];Z2=[1,1,1,1]; X3=[2,2,2,2];Y3=[2,2,1,1];Z3=[1,2,2,1]; X4=[2,2,1,1];Y4=[2,2,2,2];Z4=[1,2,2,1]; C1=[0.5,0.1667,1.0,0.5]; C2=[0.333,0.667,0.5,0.8]; C3=[0.1667,1.0,0.6667,0.333]; C4=[0.1,0.5,0.4,0.9]; fill3(X,Y,Z,C,X0,Y0,Z0,C0,X1,Y1,Z1,C1,X2,Y2,Z2,C2,X3,Y3,Z3,C3,X4,Y4,Z4,C4); axisoff clearall;closeall;clc; v=[0,0,0;10,0,0;10,20,0;0,20,0;0,20,30;0,0,30;10,0,30;10,20,30]; f=[2,3,8,7;1,4,5,6;6,7,2,1;5,8,3,4;6,7,8,5;1,2,3,4]; mc=[0,0,1;0,1,0;1,0,0;0,1,1;1,0,1;1,1,0]; subplot(1,2,1); patch('faces',f,'vertices',v,'facevertexcdata',mc,'facecolor','flat'); view(30,30); axis([0,10,0,20,0,30]); subplot(1,2,2); patch('faces',f,'vertices',v,'facevertexcdata',mc,'facecolor','flat'); view(-120,-30); axis([0,10,0,20,0,30]); grid 习题六 1. A=randn(10,5) (1)mean(A);均值std(A);标准方差 (2)max(max(A));最大元素min(min(A));最小元素 (3)B=sum(A,2);A每行元素的和sum(B);A全部元素之和 (4)sort(A);A的每列元素按升序排列 sort(A,2,’descend’);A的每行元素按将序排列 2. (1) clear all; close all; clc; alpha1=0: 15: 90; sin_alpha1=sin(alpha1*pi/180); %精确正弦值 plot(alpha1,sin_alpha1,'k: p'); hold on; %绘精确正弦曲线 alpha2=0: 90; sin_Y1=interp1(alpha1,sin_alpha1,alpha2,'spline'); %3次样条正弦插值 plot(alpha2,sin_Y1,'r-*'); hold on; %绘 3 次样条插值正弦曲线 P1=polyfit(alpha1, sin_alpha1, 5); %5 次多项式拟合 sin_Y2= polyval(P1, alpha2); %5 次多项式求值 plot(alpha2, sin_Y2, 'b-o'); %绘 5 次多项式插值正弦曲线 legend('精确正弦值','3次样条正弦插值','5次多项式正弦插值'); title('正弦值比较'); alpha3=0: 15: 75; tan_alpha3=tan(alpha3*pi/180); %精确正切值 figure,plot(alpha3,tan_alpha3,'k: p'); hold on; %绘精确正切曲线 alpha4=0: 75; tan_Y1=interp1(alpha3,tan_alpha3,alpha4,'spline'); %3 次样条正切插值 plot(alpha4, tan_Y1,'r-*'); hold on; %绘 3 次样条正切曲线 P2=polyfit(alpha3, tan_alpha3, 5); %5 次多项式拟合 tan_Y2= polyval(P2, alpha4); %5 次多项式求值 plot(alpha4,tan_Y2,'b-o'); %绘 5 次多项式插值正弦曲线 legend('精确正切值','3次样条正切插值','5次多项式正切插值'); title('正切值比较'); (2) X=[149162536496481100]; Y=1: 10; X1=1: 100; Y1=interp1(X,Y,X1,'cubic') plot(X,Y,'r: o'); hold on; %绘精确平方根曲线 plot(X1,Y1,'k-x'); %绘3次多项式插值平方根曲线 legend('精确平方根','3次多项式插值'); 3. x=[165123150123141]; y=[187126172125148]; P=polyfit(x,y,3) P=1.0e+003* -0.00000.0013-0.17798.4330 所以它的线性拟合曲线为: p(x)=1.3x2—177.9x+8433 4. (1)P1=[032];P2=[5-12];P3=[10-0.5]; P=conv(conv(P1,P2),P3) P=015.00007.0000-3.50000.5000-2.0000-2.0000 所以P(x)=15x5+7x4-3.5x3+0.5x2-2x-2 (2) roots(P) (3) i=0: 10; xi=0.2*i; polyval(P,xi) 5. (1) 建立函数文件: functionf=fxy(u) x=u (1);y=u (2); f=3.*x.^2+2*x.*y+y.^2 在命令窗口中输入以下命令: [U,fmin]=fminsearch('fxy',[1,1]) (2) f=inline('-sin(x)-cos(x.^2)'); fmax=fminbnd(f,0,pi) 6. (1)x=[pi/6pi/4pi/3]; f=inline('sin(x).^2+cos(x).^2'); dx=diff(f([x,5*pi/12]))/(pi/12)可参见第157页例题6.19 x=pi/2时单独计算: x=pi/2; f=i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 课后 习题 程序代码 综合 整理