MATLAB程序设计教程第二版课后问题详解.docx
《MATLAB程序设计教程第二版课后问题详解.docx》由会员分享,可在线阅读,更多相关《MATLAB程序设计教程第二版课后问题详解.docx(26页珍藏版)》请在冰豆网上搜索。
MATLAB程序设计教程第二版课后问题详解
MATLAB第二版课后答案unit3-8
unit3
实验指导
1、n=input('请输入一个三位数:
');
a=fix(n/100);
b=fix((n-a*100)/10);
c=n-a*100-b*10;
d=c*100+b*10+a
2
(1)
n=input('请输入成绩');
switchn
casenum2cell(90:
100)
p='A';
casenum2cell(80:
89)
p='B';
casenum2cell(70:
79)
p='C';
casenum2cell(60:
69)
p='D';
otherwise
p='E';
end
price=p
(2)n=input('请输入成绩');
ifn>=90&n<=100
p='A';
elseifn>=80&n<=89
p='B';
elseifn>=70&n<=79
p='C';
elseifn>=60&n<=69
p='D';
else
p='E';
end
price=p
(3)try
n;
catch
price='erroe'
end
3
n=[1,5,56,4,3,476,45,6,3,76,45,6,4,3,6,4,23,76,908,6];
a=n
(1);
b=n
(1);
form=2:
20
ifn(m)>a
a=n(m);
elseifn(m)
b=n(m);
end
end
max=a
min=b
法2
n=[1,5,56,4,3,476,45,6,3,76,45,6,4,3,6,4,23,76,908,6];
min=min(n)
max=max(n)
4
b=[-3.0:
0.1:
3.0];
forn=1:
61
a=b(n);
y(n)=(exp(0.3*a)-exp(-0.3*a))/2*sin(a+0.3)+log((0.3+a)/2);
end
y
5
y1=0;
y2=1;
n=input('请输入n的值:
');
fori=1:
n
y1=y1+1/i^2;
y2=y2*((4*i*i)/((2*i-1)*(2*i+1)));
end
y1
y2
6
A=[1,1,1,1,1,1;2,2,2,2,2,2;3,3,3,3,3,3;4,4,4,4,4,4;5,5,5,5,5,5;6,6,6,6,6,6];
n=input('请输入n的值:
');
ifn<=5&n>=0
disp(A([n],:
));
elseifn<0
disp(lasterr);
elsedisp(A([6],:
));
disp(lasterr);
end
7
(1)
f=[];
forn=1:
40
f(n)=n+10*log(n^2+5);
end
y=f(40)/(f(30)+f(20))
(2)
f=[];a=0;
forn=1:
40
f(n)=a+n*(n+1);
a=f(n);
end
y=f(40)/(f(30)+f(20))
8
y=0;
m=input('输入m的值:
');
n=input('输入n值:
');
fori=1:
n
y=y+i^m;
end
y
************************************************************
functions=shi8_1(n,m)
s=0;
fori=1:
n
s=s+i^m;
end
************************************************************
shi8_1(100,1)+shi8_1(50,2)+shi8_1(10,1/2)
思考练习
2
N=[1,2,3,4,5];
2.*N
N./2
1./N
1./N.^2
3
s=fix(100*rand(1,20)*9/10+10)
y=sum(s)/20
j=0;
fori=1:
20
ifs(i)j=j+1;
A(j)=s(i);
elsecontinue;
end
end
A
4
y1=0;y2=0;
n=input('请输入n的值:
');
fori=1:
n
y1=y1+-(-1)^i/(2*i-1);
y2=y2+1/4^i;
end
y1
y2
unit4
实验指导
1
(1)
x=-10:
0.05:
10;
y=x-x.^3./6;
plot(x,y)
(2)
x=-10:
0.5:
10;
ezplot('x^2+2*y^2-64',[-8,8]);
gridon;
2
t=-pi:
pi/10:
pi;
y=1./(1+exp(-t));
subplot(2,2,1);bar(t,y);
title('条形图(t,y)');
axis([-pi,pi,0,1]);
subplot(2,2,2);
stairs(t,y,'b');
title('阶梯图(t,y)');
axis([-pi,pi,0,1]);
subplot(2,2,3);
stem(t,y,'k');
title('杆图(t,y)');
axis([-pi,pi,0,1]);
subplot(2,2,4);
loglog(t,y,'y');
title('对数坐标图(t,y)');
3
(1)
t=0:
pi/50:
2*pi;
r=5.*cos(t)+4;
polar(t,r);
title('\rho=5*cos\theta+4');
(2)
t=-pi/3:
pi/50:
pi/3;
r=5.*((sin(t)).^2)./cos(t);
polar(t,r);
4
(1)
t=0:
pi/50:
2*pi;
x=exp(-t./20).*cos(t);
y=exp(-t./20).*sin(t);
z=t;
plot3(x,y,z);
gridon;
(2)
[x,y]=meshgrid(-5:
5);
z=zeros(11)+5;
mesh(x,y,z);
shadinginterp;
5
[x,y,z]=sphere(20);
surf(x,y,z);
axisoff;
shadinginterp;
m=moviein(20);
fori=1:
20
axis([-i,i,-i,i,-i,i])
m(:
i)=getframe;
end
movie(m,4);
思考练习
2
(1)
x=-5:
0.1:
5;
y=(1./(2*pi)).*exp((-(x.^2))/2);
plot(x,y);
(2)
t=-2*pi:
0.1:
2*pi;
x=t.*sin(t);
y=t.*cos(t);
plot(x,y);
gridon;
3
t=0:
pi/1000:
pi;
x=sin(3.*t).*cos(t);
y1=sin(3.*t).*sin(t);
y2=2.*x-0.5;
plot(x,y1,'k',x,y2);
holdon;
k=find(abs(y1-y2)<1e-2);
x1=x(k);
y3=2.*x1-0.5;
plot(x1,y3,'rp');
4
x=-2:
0.01:
2;
y=sin(1./x);
subplot(2,1,1);
plot(x,y);
subplot(2,1,2);
fplot('sin(1./x)',[-2,2],1e-4);
5
(1)
i=-4*pi:
0.1:
10;
j=12./sqrt(i);
polar(i,j);
title('{\rho}=12/sqrt(\theta)')
(2)
a=-pi/6:
0.01:
pi/6;
b=3.*asin(a).*cos(a)./((sin(a)).^3+(cos(a)).^3);
polar(a,b);
6
(1)
[u,v]=meshgrid(-4:
0.1:
4);
x=3.*u.*sin(v);
y=2.*u.*cos(v);
z=4.*u.^2;
subplot(2,1,1);
mesh(x,y,z);
subplot(2,1,2);
surf(x,y,z);
(2)
[x,y]=meshgrid(-3:
0.2:
3);
z=-5./(1+x.^2+y.^2);
subplot(1,2,1);
mesh(x,y,z);
subplot(1,2,2);
surf(x,y,z);
unit5
实验指导
1
A=randn(10,5)
x=mean(A)
y=std(A)
Max=max(max(A))
Min=min(min(A))
Sumhang=sum(A,2)
SumA=sum(Sumhang)
B=sort(A);
C=sort(B,2,'descend');
C
2
(1)
a=0:
15:
90;
b=a./180.*pi;
s=sin(b)
c=0:
15:
75;
d=c./180.*pi;
t=tan(d)
e=input('请输入想计算的值:
');
S=sin(e/180*pi)
T=tan(e/180*pi)
S1=interp1(a,s,e,'spline')
T1=interp1(c,t,e,'spline')
P1=polyfit(a,s,5);
P2=polyfit(c,t,5);
S2=polyval(P1,e)
T2=polyval(P2,e)
(2)
n=[1,9,16,25,36,49,64,81,100];
N=sqrt(n);
x=input('jisuanzhi:
');
interp1(n,N,x,'cubic')
3
N=64;
T=5;
t=linspace(0,T,N);
h=exp(-t);
dt=t
(2)-t
(1);
f=1/dt;
X=fft(t);
F=X(1:
N/2+1);
f=f*(0:
N/2)/N;
plot(f,abs(F),'-*')
4
P=[2,-3,0,5,13];
Q=[1,5,8];
p=polyder(P)
q=polyder(P,Q)
[a,b]=polyder(P,Q)
5
P1=[1,2,4,0,5];
P2=[0,1,2];
P3=[1,2,3];
P=P1+conv(P2,P3)
X=roots(P)
A=[-1,1.2,-1.4;0.75,2,3.5;0,5,2.5];
p=polyval(P,A)
思考练习
4
A=rand(1,30000);
a=mean(A)
b=std(A)
Max=max(A)
Min=min(A)
n=0;
fori=1:
30000
if(A(i)>0.5)
n=n+1;
end
end
n
y=n/30000
5
p=[45,74,54,55,14;78,98,45,74,12;87,98,85,52,65]
[M,S]=max(p)
[N,H]=min(p)
junzhi=mean(p,1)
fangcha=std(p,1,1)
zong=sum(p,2);
[Max,wei]=max(zong)
[Min,wei]=min(zong)
[zcj,xsxh]=sort(zong,'descend')
6
x=[1:
10:
101];
y=[0,1.0414,1.3222,1.4914,1.6128,1.7076,1.7853,1.8513,1.9085,1.9590,2.0043];
[p,s]=polyfit(x,y,5)
a=1:
5:
101;
y1=polyval(p,a);
plot(x,y,':
o',a,y1,'-*')
unit6
实验指导
1
A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6];
p=[0.95,0.67,0.52]';
x=A\p
A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6];
p=[0.95,0.67,0.53]';
x=A\p
cond(A)
2
(1)
x1=fzero(@funx1,-1)
functionfx=funx1(x)
fx=x^41+x^3+1;
(2)
x2=fzero(@funx2,0.5)
functionfx=funx2(x)
fx=x-sin(x)/x;
(3)
options=optimset('Display','off');
x=fsolve(@fun3,[1,1,1]',options)
q=fun3(x)
functionq=fun3(p)
x=p
(1);
y=p
(2);
z=p(3);
q
(1)=sin(x)+y^2+log(z)-7;
q
(2)=3*x+2^y-z^3+1;
q(3)=x+y+z-5;
3
(1)
t0=0;
tf=5;
y0=1;
[t,y]=ode23(@fun4,[t0,tf],y0);
t'
y'
functionyp=fun4(t,y)
yp=-(1.2+sin(10*t))*y;
(2)
t0=0;
tf=5;
y0=1;
[t,y]=ode23(@fun5,[t0,tf],y0);
t'
y'
functionyp=fun5(t,y)
yp=cos(t)-y/(1+t^2);
4
x=fminbnd(@mymin,0,2);
-mymin(x)
functionfx=mymin(x)
fx=-(1+x.^2)/(1+x.^4);
5
options=optimset('Display','off');
[x,fval]=fmincon(@fun6,[0,0,0],[],[],a,b,lb,ub)
-fval
functionf=fun6(x)
f=-(sqrt(x
(1))+(400-x
(1))*1.1+(sqrt(x
(2))+(400-x
(1))*1.1-x
(2))*1.1+sqrt(3)+(((400-x
(1))*1.1-x
(2))*1.1-x(3))*1.1+sqrt(x(x4)));
思考练习
1
(1)
A=[2,3,5;3,7,4;1,-7,1];
B=[10,3,5]';
C1=inv(A)*B
C2=A\B
[L,U]=lu(A);
x=U\(L\B)
(2)
A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2];
B=[-4,13,1,11]';
C1=inv(A)*B
C2=A\B
[L,U]=lu(A);
x=U\(L\B)
2
(1)
x1=fzero(@funx1,1.5)
functionfx=funx1(x)
fx=3*x+sin(x)-exp(x);
(2)
x1=fzero(@funx2,1)
functionfx=funx2(x)
fx=x-1/x+5;
(3)
options=optimset('Display','off');
x=fsolve(@fun3,[3,0]',options)
q=fun3(x)
functionq=fun3(p)
x=p
(1);
y=p
(2);
q
(1)=x^2+y^2-9;
q
(2)=x+y-1;
3
(1)
t0=0;
tf=5;
y0=[0,1];
[t,y]=ode45(@vdpol,[t0,tf],y0);
[t,y]
functionydot=vdpol(t,y);
ydot
(1)=(2-3*y
(2)-2*t*y
(1))./(1+t^2);
ydot
(2)=y
(1);
ydot=ydot';
(2)
t0=0;
tf=5;
y0=[1;0;2];
[t,y]=ode45(@vdpoll,[t0,tf],y0);
[t,y]
functionydot=vdpoll(t,y);
ydot
(1)=cos(t)-y(3)./(3+sin(t))+5*y
(1).*cos(2*t)/((t+1).^2)-y
(2);
ydot
(2)=y
(1);
ydot(3)=y
(2);
ydot=ydot';
4
x=fminbnd(@mymin,0,pi);
-mymin(x)
functionfx=mymin(x)
fx=-sin(x)-cos(x.^2);
5
[x,y1]=fminbnd(@mymax,0,1.5);
-y1
functionfx=mymax(x);
fx=-(9*x+4*x.^3-12*x.^2);
unit7
实验指导
1
(1)
formatlong
fx=inline('sin(x)./x');
[I,n]=quadl(fx,0,2,1e-10)
(2)
formatlong
fx=inline('1./((x-0.3).^2+0.01)-1./((x-0.9).^2+0.04)-6');
[I,n]=quad(fx,0,1,1e-10)
2
(1)
globalki;
ki=0;
I=dblquad(@fxy,0,1,0,1)
ki
(2)
f=inline('abs(cos(x+y))','x','y');
I=dblquad(f,0,pi,0,pi)
3
X=0.3:
0.2:
1.5;
F=[0.3895,0.6598,0.9147,1.1611,1.3971,1.6212,1.8325];
trapz(X,F)
4
p=0:
pi/5:
2*pi;
forn=1:
3
n
DX=diff(sin(p),n)
end
5
f=inline('sin(x)./(x+cos(2.*x))');
g=inline('(cos(x).*(x+cos(2*x))-sin(x).*(1-2.*sin(2*x)))/(x+cos(2.*x)).^2');
x=-pi:
0.01:
pi;
p=polyfit(x,f(x),5);
dp=polyder(p);
dpx=polyval(dp,x);%求dp在假设点的函数值
dx=diff(f([x,3.01]))/0.01;%直接对f(x)求数值导数
gx=g(x);%求函数f的导函数g在假设点的导数
plot(x,dpx,x,dx,'.',x,gx,'-');%作图
思考练习
2
formatlong
fx=inline('1./(1+x.^2)');
[I,n]=quad(fx,-Inf,Inf,1e-10)
[I,n]=quadl(fx,-Inf,Inf,1e-10)
x=-100000:
100000;
y=1./(1+x.^2);
trapz(x,y)
formatshort
3
(1)
formatlong
fx=inline('log(1+x)./(1+x.^2)');
[I,n]=quad(fx,0,1,1e-10)
(2)
formatlong
fx=inline('sqrt(cos(t.^2)+4*sin((2*t).^2)+1)');
[I,n]=quad(fx,0,2*pi,1e-10)
4
f=inline('4.*x.*z.*exp(-z.^2.*y-x.^2)');
I=triplequad(f,0,pi,0,pi,0,1)
5
f=inline('sin(x)');
g=inline('cos(x)');
x=0:
0.01:
2*pi;
p=polyfit(x,f(x),5);
dp=polyder(p);
dpx=polyval(dp,x);
dx=diff(f([x,2*pi+0.01]))/0.01;
gx=g(x);
plot(x,dpx,x,dx,'.',x,gx,'-')
unit8
实验指导
1
symsxy;
s=x^4-y^4;
factor(s)
factor(5135)
2
symsx;
f=(x-2)/(x^2-4);
limit(f,x,2)
symx;
f=(sqrt(pi)-sqrt(acos(x)))/sqrt(x+1);
limit(f,x,-1,'right')
3
symx;
f=sin(1/x);
diff(f,'x')
diff(f,'x',2)
symx;
f=(1-cos(2*x))/x;
diff(f,'x')
diff(f,'x',2)
4
symx;
f=sqrt(exp(x)+1);
int(f,'x')
symsxy;
f=x/(x+y);
int(f,'y')
symx;
f=exp(x)*(1+exp(x))^2;
int(f,'x',0,log
(2))
symx;
f=x*log(x);
int(f,'x',1,exp
(1))
5
symx;
s=symsum((-1)^(x+1)/x,1,Inf)
symy;
z=symsum(y^(2*y-1)/(2*y-1),1,Inf)
6
symx;
f1=(exp(x)+exp(-x))/2;
f2=sqrt(x^3-2*x+1);
taylor(f1,x,5,0)
taylor(f2,x,6,0)
7
symsxya;
x=solve('x^3+a*x+1=0','x')
x=solve('sin(x)+2*cos(x)-sqrt(x)=0','x')
[xy]=solve('log(x/y)=9','exp(x+y)=3','x','y')
8
symsn;
[x,y]=dsolve('x*(D2y)+(1-n)*(Dy)+y=0','y(0)=0','Dy(0)=0','x')
思考练习
2
symsxB1B2ab
s1=2*((cos(x))^2)-(sin(x))^2;
s2=sin(B1)*cos(B2)-cos(B1)*sin(B2);
s3=sqrt((a+sqrt(a^2-b))/2)+sqrt((a-sqrt(a^2-b))/2);
s4=(4*x^2+8*x+3)/(2*x+1);
h1=simplify(s1)
h2=simplify(s2)
h3=simplify(s3)
h4=simplify(s4)
3
symsxa;
f=abs(x)/x;
limit(f,x,0,'left')
f=(x+a/x)^x;
limit(f,x,inf)
4
symsxym
f=sqrt(x+sqrt(x+sqrt(x)));
m=diff(f,'x')
diff(m,'x')
symsxy;
f=x+y-sqrt(x^2+y^2);
z1=diff(f,x)
z2=diff(f,y)
5
symsxy;
f=x+y-sqrt(x^2+y^2);
z1=d