MATLAB程序设计与应用第二版实验答案Word下载.docx

上传人:b****6 文档编号:20554617 上传时间:2023-01-24 格式:DOCX 页数:28 大小:32.57KB
下载 相关 举报
MATLAB程序设计与应用第二版实验答案Word下载.docx_第1页
第1页 / 共28页
MATLAB程序设计与应用第二版实验答案Word下载.docx_第2页
第2页 / 共28页
MATLAB程序设计与应用第二版实验答案Word下载.docx_第3页
第3页 / 共28页
MATLAB程序设计与应用第二版实验答案Word下载.docx_第4页
第4页 / 共28页
MATLAB程序设计与应用第二版实验答案Word下载.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

MATLAB程序设计与应用第二版实验答案Word下载.docx

《MATLAB程序设计与应用第二版实验答案Word下载.docx》由会员分享,可在线阅读,更多相关《MATLAB程序设计与应用第二版实验答案Word下载.docx(28页珍藏版)》请在冰豆网上搜索。

MATLAB程序设计与应用第二版实验答案Word下载.docx

B=rem(A,21);

C=length(find(B==0))

%

(2):

A='

lsdhKSDLKklsdkl'

;

k=find(A>

='

A'

&

A<

Z'

A(k)=[]

%实验二MATLAB矩阵分析与处理

E=eye(3);

R=rand(3,2);

O=zeros(2,3);

S=diag([2,3]);

A=[E,R;

O,S];

A^2

B=[E,(R+R*S);

O,S^2]

H=hilb(5)

P=pascal(5)

Hh=det(H)

Hp=det(P)

Th=cond(H)

Tp=cond(P)

A=fix(10*rand(5))

H=det(A)

Trace=trace(A)

Rank=rank(A)

Norm=norm(A)

A=[-29,6,18;

20,5,12;

-8,8,5]

[V,D]=eig(A)

%数学意义略

%第5题方法一

A=[1/2,1/3,1/4;

1/3,1/4,1/5;

1/4,1/5,1/6];

b=[0.95,0.67,0.52]'

x=inv(A)*b

B=[0.95,0.67,0.53]'

x=inv(A)*B

%(3):

cond(A)

%第5题方法二

A=hilb(4)

A(:

1)=[]

A(4,:

)=[]

B=[0.95,0.67,0.52]'

X=inv(A)*B

B1=[0.95,0.67,0.53]'

X1=inv(A)*B1

N=cond(B)

N1=cond(B1)

Na=cond(A)%矩阵A为病态矩阵

%第6题

A=[1,4,9;

16,25,36;

49,64,81]

B=sqrtm(A)

C=sqrt(A)%sqrtm函数是以矩阵为单位进行计算,sqrt函数是以矩阵中的元素进行计算

%实验三选择程序结构设计

%第1题程序一

x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];

y=[];

%建立存放所有y值的矩阵

forx0=x

ifx0<

0&

x0~=-3

y=[y,x0*x0+x0-6];

elseifx0>

x0<

5&

x0~=2&

x0~=3

y=[y,x0*x0-5*x0+6];

else

y=[y,x0*x0-x0-1];

end

end

x%输出所有x

y%输出所有y

%第1题程序二

x=[-5,-3,1,2,2.5,3,5];

fora=1:

7

ifx(a)<

x(a)~=-3

y=[y,(x(a))^2+x(a)-6];

elseifx(a)>

x(a)<

x(a)~=2&

x(a)~=3

y=[y,(x(a))^2-5*x(a)+6];

else

y=[y,x(a)*x(a)-x(a)-1];

%第2题程序一

x=input('

请输入一个百分制成绩:

'

ifx>

100|x<

disp('

您输入的成绩不是百分制成绩,请重新输入。

ifx<

=100&

x>

=90

elseifx<

=89&

=80

B'

=79&

=70

C'

=69&

60

D'

E'

%第2题程序二

s=input('

请输入一个成绩(0分到100分之间):

%s用于存放成绩

while1%判断输入成绩的合理性

ifs<

0|s>

100

disp('

输入的成绩需在0到100之间,请重新输入:

s=input('

break;

switchfix(s/10)%对成绩做出等级判断

case{9,10}

case8

case7

case6

otherwise

n=input('

请输入员工工号:

h=input('

该员工工作时数是:

ifh>

120

x=(h-120)*84*(1+0.15)+120*84;

elseifh<

x=h*84-700;

x=h*84;

disp([num2str(n),'

号员工'

'

的应发工资为'

num2str(x)]);

%第4题(还可以用switch语句实现)

a=fix(10+(99-10)*rand(1,2))%产生两个随机整数

x=a

(1);

y=a

(2);

t=input('

请输入运算符号:

s'

ift=='

+'

z=x+y;

elseift=='

-'

z=x-y;

*'

z=x*y;

/'

z=x/y;

disp([num2str(x),t,num2str(y),'

num2str(z)])%输出运算结果

%第5题

a=rand(5,6)%产生5x6的随机矩阵

请输入您要输出矩阵的第几行:

ifn>

5

超出了矩阵的行数,矩阵的最后一行为:

a(5,:

disp(['

矩阵的第'

num2str(n),'

行为:

])

a(n,:

%实验四循环结构程序设计

s=0;

n=?

fori=1:

n

s=s+1/i/i;

PI=sqrt(6*s)

pi

a=1:

n;

b=1./a.^2;

PI=sqrt(6*sum(b))

y=0;

n=1;

while(y<

y=y+1/(2*n-1);

n=n+1;

y=y-1/(2*(n-1)-1)

n=n-2

a=input('

a=?

b=input('

b=?

Xn=1;

Xn1=a/(b+Xn);

n=0;

whileabs(Xn1-Xn)>

1e-5

Xn=Xn1;

Xn1=a/(b+Xn);

n=n+1;

ifn==500

Xn1

r1=(-b+sqrt(b*b+4*a))/2

r2=(-b-sqrt(b*b+4*a))/2

ifi==1

f(i)=1;

elseifi==2

f(i)=0;

elseifi==3

f(i)=f(i-1)-2*f(i-2)+f(i-3);

max(f)

min(f)

sum(f)

length(find(f>

0))

length(find(f==0))

length(find(f<

fori=2:

49

b=i*(i+1)-1;

m=fix(sqrt(b));

forj=2:

m

ifrem(b,j)==0

break

ifj==m

s=s+b;

s

%实验五函数文件

functiony=mat1(x)%建立函数文件mat1.m

y=[exp(x),log(x),sin(x),cos(x)];

%在命令窗口调用上述函数文件:

y=mat1(1+i)

function[a,b,N,M]=shiyanwu2(m,n,t)

A=[m*cos(t*pi/180),-m,-sin(t*pi/180),0;

m*sin(t*pi/180),0,cos(t*pi/180),0;

0,n,-sin(t*pi/180),0;

0,0,-cos(t*pi/180),1];

B=[0,9.8*m,0,9.8*n];

C=inv(A)*B'

a=C

(1);

b=C

(2);

N=C(3);

M=C(4);

%在命令窗口调用该函数文件:

m1=input('

m1='

m2=input('

m2='

theta=input('

theta='

[a1,a2,N1,N2]=shiyanwu2(m1,m2,theta)

functionX=mat2(m1,m2,t)

g=9.8;

A=[m1*cos(t*pi/180),-m1,-sin(t*pi/180),0;

m1*sin(t*pi/180),0,cos(t*pi/180),0;

0,m2,-sin(t*pi/180),0;

B=[0;

m1*g;

0;

m2*g];

X=inv(A)*B;

%在命令窗口调用该函数文件:

X=mat2(1,1,60)

functionflag=mat3(x)

flag=1;

sqrt(x)

ifrem(x,i)==0

flag=0;

fori=10:

99

j=10*rem(i,10)+fix(i/10);

ifmat3(i)&

mat3(j)

disp(i)

functiony=fx(x)

y=1./((x-2).^2+0.1)+1./((x-3).^4+0.01);

y=fx

(2)

a=[1,2;

3,4];

y=fx(a)

functionf1=mat5(n)

f1=n+10*log(n*n+5);

%在命令窗口中调用该函数文件:

y=mat5(40)/(mat5(30)+mat5(20))

%

(2)方法一

functionf2=mat6(n)

f2=0;

f2=f2+i*(i+1);

%在命令窗口中调用该函数文件如:

y=mat6(40)/(mat6(30)+mat6(20))

%

(2)方法二

functionf2=mat7(n)

i=1:

m=i.*(i+1);

f2=sum(m);

y=mat7(40)/(mat7(30)+mat7(20))

%实验六高层绘图操作

x=linspace(0,2*pi,101);

y=(0.5+3*sin(x)./(1+x.^2)).*cos(x);

plot(x,y)

x=linspace(-2*pi,2*pi,100);

y1=x.^2;

y2=cos(2*x);

y3=y1.*y2;

plot(x,y1,'

b-'

x,y2,'

r:

x,y3,'

y--'

text(4,16,'

\leftarrowy1=x^2'

text(6*pi/4,-1,'

\downarrowy2=cos(2*x)'

text(-1.5*pi,-2.25*pi*pi,'

\uparrowy3=y1*y2'

subplot(1,3,1);

%分区

plot(x,y1);

title('

y1=x^2'

%设置标题

subplot(1,3,2);

plot(x,y2);

y2=cos(2*x)'

subplot(1,3,3);

plot(x,y3);

y3=x^2*cos(2*x)'

x=linspace(-2*pi,2*pi,20);

subplot(2,2,1);

bar(x,y1);

y1=x^2的条形图'

subplot(2,2,2);

stairs(x,y1);

y1=x^2的阶梯图'

subplot(2,2,3);

stem(x,y1);

y1=x^2的杆图'

subplot(2,2,4);

fill(x,y1,'

r'

%如果少了'

则会出错

y1=x^2的填充图'

%其他的函数照样做。

x=-5:

0.01:

5;

%起始设y为空向量

ifx0<

=0%不能写成x0=<

y=[y,(x0+sqrt(pi))/exp

(2)];

%将x对应的函数值放到y中

y=[y,0.5*log(x0+sqrt(1+x0^2))];

a='

b='

n='

t=-2*pi:

2*pi;

r=a*sin(b+n*t);

polar(t,r)

x=linspace(-5,5,21);

y=linspace(0,10,31);

[x,y]=meshgrid(x,y);

%在[-5,5]*[0,10]的范围内生成网格坐标

z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)/4);

subplot(2,1,1);

surf(x,y,z);

subplot(2,1,2);

contour3(x,y,z,50);

%其中50为高度的等级数,越大越密

ezsurf('

cos(s)*cos(t)'

cos(s)*sin(t)'

sin(s)'

[0,0.5*pi,0,1.5*pi]);

%利用ezsurf隐函数

shadinginterp%进行插值着色处理

%实验七低层绘图操作

h=figure('

MenuBar'

figure'

color'

WindowButtonDownFcn'

LeftButtonPressed'

)'

x=-2:

2;

y=x.^2.*exp(2*x);

h=line(x,y);

set(h,'

linestyle'

:

linewidth'

2)

text(1,exp

(2),'

y=x^2*exp(2*x)'

0.00001:

0.001;

[t,x]=meshgrid(t);

v=10*exp(-0.01*x).*sin(2000*pi*t-0.2*x+pi);

axes('

view'

[-37.5,30]);

h=surface(t,x,v);

v=10*exp(-0.01*x).*sin(2000*pi*t-0.2*x+pi)'

xlabel(Ct'

),ylabel('

x'

),zlabel('

v'

x=0:

y1=sin(x);

y2=cos(x);

y3=tan(x);

y4=cot(x);

plot(x,y4);

cylinder(5);

light('

Position'

[0,1,1]);

materialshiny

%实验八数据处理与多项式运算

A=rand(1,30000);

b=mean(A)

std(A,0,2)

max(A)

min(A)

30000

ifA(i)>

0.5

p=n/30000

A=45+51*rand(100,5);

[Y,U]=max(A)

[a,b]=min(A)

m=mean(A)

s=std(A)

sum(A,2)

[Y,U]=max(ans)

[a,b]=min(ans)

[zcj,xsxh]=sort(ans)

h=6:

2:

18;

x=6.5:

17.5;

t1=[18,20,22,25,30,28,24];

t2=[15,19,24,28,34,32,30];

T1=spline(h,t1,x)

T2=spline(h,t2,x)

x=1:

101;

y1=log10(x);

p=polyfit(x,y1,5)

y2=polyval(p,x);

p1=[1,2,4,0,5];

p2=[1,2];

p3=[1,2,3];

p=p1+[0,conv(p2,p3)]%为使两向量大小相同,所以补0

A=roots(p)

A=[-1,1.2,-1.4;

0.75,2,3.5;

0,5,2.5];

polyval(p,A)

polyvalm(p,A)

%实验九数值微积分与方程数值求解

forx=1:

3

fx=[x,x^2,x^3;

1,2*x,3*x;

0,2,6*x];

diff(fx)

f1=inline('

sqrt(cos(x.*x)+4*sin((2*x).^2)+1)'

I1=quad(f1,0,2*pi)

f2=inline('

log(1+x)./(1+x.^2)'

I2=quadl(f2,0,1)

A=[6,5,-2,5;

9,-1,4,-1;

3,4,2,-2;

3,-9,0,2];

b=[-4;

13;

1;

11];

x1=A\b

x2=inv(A)*b

[L,U]=lu(A);

x3=U\(L\b)

%首先建立求解线性方程组的函数文件line_solution.m。

function[x,y]=line_solution(A,b)

[m,n]=size(A);

ifnorm(b)>

0%非齐次方程组

ifrank(A)==rank([A,b])

ifrank(A)==n%有惟一解

原方程组有惟一解x'

x=A\b;

else%方程组有无穷多个解,基础解系

原方程组有无穷个解,特解为x,其齐次方程组的基础解系为y'

y=null(A,'

方程组无解'

%方程组无解

x=[];

else%齐次方程组

原方程组有零解x'

x=zeros(n,1);

%0解

ifrank(A)<

n

方程组有无穷个解,基础解系为y'

%非0解

A=[2,7,3,1;

3,5,2,2;

9,4,1,7];

b=[6,4,2]'

[x,y]=line_solution(A,b);

x,y

%

(1)

z=fzero('

3*x+sin(x)-exp(x)'

1.5)

%首先建立函数文件myfun.m。

functionF=myfun(X)

x=X

(1);

y=X

(2);

z=X(3);

F

(1)=sin(x)+y^2+log(z)-7;

F

(2)=3*x+2^y-z^3+1;

F(3)=x+y+z-5;

X=fsolve('

myfun'

[1,1,1],optimset('

Display'

'

off'

))

f=inline('

(x^3+cos(x)+x*log(x))/exp(x)'

fminbnd(f,0,1)

%建立函数文件fx12.m:

functionf=fx12(u)

x1=u

(1);

x2=u

(2);

f=2*x1.^3+4*x1*x2.^3-10*x1.*x2+x2.^2;

[U,fmin]=fminsearch('

fx12'

[0,0])

%第7题

%建立函数文件ztf.m

functionyy=ztf(x,y)

yy=[(5*y

(1)-y

(2))/x;

y

(1)];

[x,y]=ode23(@ztf,[0,5],[0;

0])

%第8题

%建立函数文件ztfun.m

functionyy=ztfun(t,y)

yy=[y

(2)*y(3);

-y

(1)*y(3);

-0.51*y

(1)*y

(2)];

[t,y]=ode23(@ztfun,[0,5],[0;

1])

plot3(y(:

1),y(:

2),y(:

3))

%实验十符号计算基础与符号微积分

x=sym('

6'

y=sym('

5'

z=(x+1)/(sqrt(3+x)-sqrt(y))

z=sym('

x*x*x*x-y*y*y*y'

factor(z)

num=sym('

5135'

factor(num)

symsbeta1beta2

f1=sym('

sin(beta1)*sin(beta2)-cos(beta1

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

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1