matlab课后习题程序代码综合整理.docx

上传人:b****3 文档编号:11527952 上传时间:2023-06-01 格式:DOCX 页数:29 大小:22.32KB
下载 相关 举报
matlab课后习题程序代码综合整理.docx_第1页
第1页 / 共29页
matlab课后习题程序代码综合整理.docx_第2页
第2页 / 共29页
matlab课后习题程序代码综合整理.docx_第3页
第3页 / 共29页
matlab课后习题程序代码综合整理.docx_第4页
第4页 / 共29页
matlab课后习题程序代码综合整理.docx_第5页
第5页 / 共29页
matlab课后习题程序代码综合整理.docx_第6页
第6页 / 共29页
matlab课后习题程序代码综合整理.docx_第7页
第7页 / 共29页
matlab课后习题程序代码综合整理.docx_第8页
第8页 / 共29页
matlab课后习题程序代码综合整理.docx_第9页
第9页 / 共29页
matlab课后习题程序代码综合整理.docx_第10页
第10页 / 共29页
matlab课后习题程序代码综合整理.docx_第11页
第11页 / 共29页
matlab课后习题程序代码综合整理.docx_第12页
第12页 / 共29页
matlab课后习题程序代码综合整理.docx_第13页
第13页 / 共29页
matlab课后习题程序代码综合整理.docx_第14页
第14页 / 共29页
matlab课后习题程序代码综合整理.docx_第15页
第15页 / 共29页
matlab课后习题程序代码综合整理.docx_第16页
第16页 / 共29页
matlab课后习题程序代码综合整理.docx_第17页
第17页 / 共29页
matlab课后习题程序代码综合整理.docx_第18页
第18页 / 共29页
matlab课后习题程序代码综合整理.docx_第19页
第19页 / 共29页
matlab课后习题程序代码综合整理.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

matlab课后习题程序代码综合整理.docx

《matlab课后习题程序代码综合整理.docx》由会员分享,可在线阅读,更多相关《matlab课后习题程序代码综合整理.docx(29页珍藏版)》请在冰点文库上搜索。

matlab课后习题程序代码综合整理.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2