当前位置:文档之家› MATLAB程序设计教程(第二版)课后答案

MATLAB程序设计教程(第二版)课后答案

MATLAB程序设计教程(第二版)课后答案
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('请输入成绩');

switch n

case num2cell(90:100)

p='A';

case num2cell(80:89)

p='B';

case num2cell(70:79)

p='C';

case num2cell(60:69)

p='D';

otherwise

p='E';

end

price=p

(2)n=input('请输入成绩');

if n>=90&n<=100

p='A';

elseif n>=80&n<=89

p='B';

elseif n>=70&n<=79

p='C';

elseif n>=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];

b=n(1);

for m=2:20

if n(m)>a

a=n(m);

elseif n(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];

for n=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的值:');

for i=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的值:');

if n<=5&n>=0

disp(A([n],:));

elseif n<0

disp(lasterr);

else disp(A([6],:));

disp(lasterr);

end

7(1)

f=[];

f(n)=n+10*log(n^2+5);

end

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

(2)

f=[];a=0;

for n=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值:');

for i=1:n

y=y+i^m;

end

y

************************************************************ function s=shi8_1(n,m)

s=0;

for i=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;

for i=1:20

if s(i)

j=j+1;

A(j)=s(i);

else continue;

end

end

A

4

y1=0;y2=0;

n=input('请输入n的值:'); for i=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]); grid on;

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);

grid on;

(2)

[x,y]=meshgrid(-5:5);

z=zeros(11)+5;

mesh(x,y,z);

shading interp;

5

[x,y,z]=sphere(20);

surf(x,y,z);

axis off;

shading interp;

m=moviein(20);

for i=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);

grid on;

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);

hold on;

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('ji suan zhi : ');

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;

for i=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)

function fx=funx1(x)

fx=x^41+x^3+1;

(2)

x2=fzero(@funx2,0.5)

function fx=funx2(x)

fx=x-sin(x)/x;

(3)

options=optimset('Display','off');

x=fsolve(@fun3,[1,1,1]',options)

q=fun3(x)

function q=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'

function yp=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'

function yp=fun5(t,y)

yp=cos(t)-y/(1+t^2);

4

x=fminbnd(@mymin,0,2);

-mymin(x)

function fx=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

function f=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)

function fx=funx1(x)

fx=3*x+sin(x)-exp(x);

(2)

x1=fzero(@funx2,1)

function fx=funx2(x)

fx=x-1/x+5;

(3)

options=optimset('Display','off');

x=fsolve(@fun3,[3,0]',options)

q=fun3(x)

function q=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]

function ydot=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]

function ydot=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)

function fx=mymin(x)

fx=-sin(x)-cos(x.^2);

5

[x,y1]=fminbnd(@mymax,0,1.5);

-y1

function fx=mymax(x);

fx=-(9*x+4*x.^3-12*x.^2);

unit7

实验指导

1(1)

format long

fx=inline('sin(x)./x');

[I,n]=quadl(fx,0,2,1e-10)

(2)

format long

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)

global ki;

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;

for n=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

format long

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)

format short

3(1)

format long

fx=inline('log(1+x)./(1+x.^2)');

[I,n]=quad(fx,0,1,1e-10)

(2)

format long

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

syms x y;

s=x^4-y^4;

factor(s)

factor(5135)

2

syms x;

f=(x-2)/(x^2-4);

limit(f,x,2)

sym x;

f=(sqrt(pi)-sqrt(acos(x)))/sqrt(x+1);

limit(f,x,-1,'right')

3

sym x;

f=sin(1/x);

diff(f,'x')

diff(f,'x',2)

sym x;

f=(1-cos(2*x))/x;

diff(f,'x')

diff(f,'x',2)

4

sym x;

f=sqrt(exp(x)+1);

int(f,'x')

syms x y;

f=x/(x+y);

int(f,'y')

sym x;

f=exp(x)*(1+exp(x))^2;

int(f,'x',0,log(2))

sym x;

f=x*log(x);

int(f,'x',1,exp(1))

5

sym x;

s=symsum((-1)^(x+1)/x,1,Inf)

sym y;

z=symsum(y^(2*y-1)/(2*y-1),1,Inf)

6

sym x;

f1=(exp(x)+exp(-x))/2;

f2=sqrt(x^3-2*x+1);

taylor(f1,x,5,0)

taylor(f2,x,6,0)

7

syms x y a;

x=solve('x^3+a*x+1=0','x')

x=solve('sin(x)+2*cos(x)-sqrt(x)=0','x')

[x y]=solve('log(x/y)=9','exp(x+y)=3','x','y')

8

syms n;

[x,y]=dsolve('x*(D2y)+(1-n)*(Dy)+y=0','y(0)=0','Dy(0)=0','x') 思考练习

2

syms x B1 B2 a b

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

syms x a;

f=abs(x)/x;

limit(f,x,0,'left')

f=(x+a/x)^x;

limit(f,x,inf)

4

syms x y m

f=sqrt(x+sqrt(x+sqrt(x)));

m=diff(f,'x')

diff(m,'x')

syms x y;

f=x+y-sqrt(x^2+y^2);

z1=diff(f,x)

z2=diff(f,y)

5

syms x y;

f=x+y-sqrt(x^2+y^2);

z1=diff(f,x)

z2=diff(f,y)

sym x;

f=1/(asin(x)^2*(1-x^2)^(1/2));

int(f)

6

syms x

f=1/(1+x);

int(f,0,4)

sym x;

f=x^3*sin(x)^2/(x^6+2*x^4+1);

int(f,-1,1)

sym x;

f=x^3*sin(x)^2/(x^6+2*x^4+1);

int(f,-1,1)

7

syms n

s=symsum(1/4^n,1,inf)

sym n;

s=symsum(((n+1)/n)^(1/2),1,inf)

eval(y)

8

syms x

f=tan(x);

taylor(f,x,3,0)

syms x

f=sin(x)^2;

taylor(f,x,5,0)

9

syms x

x=solve('log(1+x)-5/(1+sin(x))=2','x')

syms x y z

[x y z]=solve('4*x^2/(4*x^2+1)=y','4*y^2/(4*y^2+1)=z','4*z^2/(4*z^2+1)=x','x','y','z') 10

[x ,y]=dsolve('Dx=3*x+4*y','Dy=5*x-7*y','x(0)=0','y(0)=1','t')

相关主题
文本预览
相关文档 最新文档