MATLAB实验练习题计算机 南邮 MATLAB 数学实验大作业答案.docx
《MATLAB实验练习题计算机 南邮 MATLAB 数学实验大作业答案.docx》由会员分享,可在线阅读,更多相关《MATLAB实验练习题计算机 南邮 MATLAB 数学实验大作业答案.docx(38页珍藏版)》请在冰豆网上搜索。
MATLAB实验练习题计算机南邮MATLAB数学实验大作业答案
“MATLAB”练习题
要求:
抄题、写出操作命令、运行结果,并根据要求,贴上运行图。
1、求
的所有根。
(先画图后求解)(要求贴图)
>>solve('exp(x)-3*x^2',0)
ans=
-2*lambertw(-1/6*3^(1/2))
-2*lambertw(-1,-1/6*3^(1/2))
-2*lambertw(1/6*3^(1/2))
2、求下列方程的根。
1)
a=solve('x^5+5*x+1',0);a=vpa(a,6)
a=
1.10447+1.05983*i
-1.00450+1.06095*i
-.199936
-1.00450-1.06095*i
1.10447-1.05983*i
2)
至少三个根
>>fzero('x*sin(x)-1/2',3)
ans=
2.9726
>>fzero('x*sin(x)-1/2',-3)
ans=
-2.9726
>>fzero('x*sin(x)-1/2',0)
ans=
-0.7408
3)
所有根
>>fzero('sin(x)*cos(x)-x^2',0)
ans=
0
>>fzero('sin(x)*cos(x)-x^2',0.6)
ans=
0.7022
3、求解下列各题:
1)
>>symx;
>>limit((x-sin(x))/x^3)
ans=
1/6
2)
>>symx;
>>diff(exp(x)*cos(x),10)
ans=
(-32)*exp(x)*sin(x)
3)
>>symx;
>>vpa((int(exp(x^2),x,0,1/2)),17)
ans=
0.54498710418362222
4)
>>symx;
>>int(x^4/(25+x^2),x)
ans=
125*atan(x/5)-25*x+x^3/3
5)求由参数方程
所确定的函数的一阶导数
与二阶导数
。
>>symt;
>>x=log(sqrt(1+t^2));y=atan(t);
>>diff(y,t)/diff(x,t)
ans=
1/t
6)设函数y=f(x)由方程xy+ey=e所确定,求y′(x)。
>>symsxy;
f=x*y+exp(y)-exp
(1);
>>-diff(f,x)/diff(f,y)
ans=
-y/(x+exp(y))
7)
>>symsx;
>>y=exp(-x)*sin(2*x);
>>int(y,0,inf)
ans=
2/5
8)
>>symsx
f=sqrt(1+x);
taylor(f,0,9)
ans=
-(429*x^8)/32768+(33*x^7)/2048-(21*x^6)/1024+(7*x^5)/256-(5*x^4)/128+x^3/16-x^2/8+x/2+1
9)
>>symsxy;
>>y=exp(sin(1/x));
>>dy=subs(diff(y,3),x,2)
dy=
-0.5826
10)求变上限函数
对变量x的导数。
>>symsat;
>>diff(int(sqrt(a+t),t,x,x^2))
Warning:
Explicitintegralcouldnotbefound.
ans=
2*x*(x^2+a)^(1/2)-(a+x)^(1/2)
4、求点(1,1,4)到直线L:
的距离
>>M0=[1,1,4];M1=[3,0,1];M0M1=M1-M0;
v=[-1,0,2];
d=norm(cross(M0M1,v))/norm(v)
d=
1.0954
5、已知
分别在下列条件下画出
的图形:
(要求贴图)
,在同一坐标系里作图
>>symsx;
>>fplot('(1/sqrt(2*pi))*exp(-((x)^2)/2)',[-3,3],'r')
>>holdon
>>fplot('(1/sqrt(2*pi))*exp(-((x-1)^2)/2)',[-3,3],'y')
>>holdon
>>fplot('(1/sqrt(2*pi))*exp(-((x+1)^2)/2)',[-3,3],'g')
>>holdoff
,在同一坐标系里作图。
>>symsx;
fplot('(1/sqrt(2*pi))*exp(-((x)^2)/2)',[-3,3],'r')
holdon
fplot('(1/(sqrt(2*pi)*2))*exp(-((x)^2)/(2*2^2))',[-3,3],'y')
holdon
fplot('(1/(sqrt(2*pi)*4))*exp(-((x)^2)/(2*4^2))',[-3,3],'g')
holdoff
6、画下列函数的图形:
(要求贴图)
(1)
>>ezmesh('u*sin(t)','u*cos(t)','t/4',[0,20,0,2])
(2)
>>x=0:
0.1:
3;y=x;
[XY]=meshgrid(x,y);
Z=sin(X*Y);
>>mesh(X,Y,Z)
(3)
ezmesh('sin(t)*(3+cos(u))','cos(t)*(3+cos(u))','sin(u)',[0,2*pi,0,2*pi])
7、已知
,在MATLAB命令窗口中建立A、B矩阵并对其进行以下操作:
(1)计算矩阵A的行列式的值
>>A=[4,-2,2;-3,0,5;1,5,3];
>>det(A)
ans=
-158
(2)分别计算下列各式:
>>A=[4,-2,2;-3,0,5;1,5,3];B=[1,3,4;-2,0,-3;2,-1,1];
>>2*A-B
ans=
7-70
-4013
0115
>>A*B
ans=
121024
7-14-7
-30-8
>>A.*B
ans=
4-68
60-15
2-53
>>A*inv(B)
ans=
-0.0000-0.00002.0000
-2.7143-8.0000-8.1429
2.42863.00002.2857
>>inv(A)*B
ans=
0.48730.41141.0000
0.3671-0.43040.0000
-0.10760.24680.0000
>>A*A
ans=
2424
-7319
-81336
>>A'
ans=
4-31
-205
253
>>
8、在MATLAB中分别利用矩阵的初等变换及函数rank、函数inv求下列矩阵的秩:
(1)
求rank(A)=?
>>A=[1,-6,3,2;3,-5,4,0;-1,-11,2,4];
>>rank(A)
ans=
3
(2)
求
。
>>B=[3,5,0,1;1,2,0,0;1,0,2,0;1,2,0,2]
>>inv(B)
ans=
2.0000-4.0000-0.0000-1.0000
-1.00002.50000.00000.5000
-1.00002.00000.50000.5000
0-0.500000.5000
9、在MATLAB中判断下列向量组是否线性相关,并找出向量组
中的一个最大线性无关组。
>>a1=[1132]'
a2=[-11-13]'
a3=[5-289]'
a4=[-1317]'
A=[a1,a2,a3,a4];[Rjb]=rref(A)
a1=
1
1
3
2
a2=
-1
1
-1
3
a3=
5
-2
8
9
a4=
-1
3
1
7
R=
1.0000001.0909
01.000001.7879
001.0000-0.0606
0000
jb=
123
>>A(:
jb)
ans=
1-15
11-2
3-18
239
10、在MATLAB中判断下列方程组解的情况,若有多个解,写出通解。
(1)
一:
>>A=[1,-1,4,2;1,-1,-1,2;3,1,7,-2;1,-3,-12,6];
>>rank(A)
ans=
3
>>rref(A)
ans=
1000
010-2
0010
0000
二:
>>A=[1,-1,4,2;1,-1,-1,2;3,1,7,-2;1,-3,-12,6];
>>formatrat
n=4;
RA=rank(A)
RA=
3
>>if(RA==n)
fprintf('%方程只有零解')
else
b=null(A,'r')
end
b=
0
2
0
1
>>symsk
X=k*b
X=
0
2*k
0
k
(2)
>>A=[231;1-24;38-2;4-19];
b=[4-513-6]';
B=[Ab];
>>n=3;
>>RA=rank(A)
RA=
2
>>RB=rank(B)
RB=
2
rref(B)
ans=
102-1
01-12
0000
0000
>>formatrat
ifRA==RB&RA==n%判断有唯一解
X=A\b
elseifRA==RB&RAX=A\b%求特解
C=null(A,'r')%求AX=0的基础解系
elseX='equitionnosolve'%判断无解
end
Warning:
Rankdeficient,rank=2,tol=8.9702e-015.
X=
0
3/2
-1/2
C=
-2
1
1
11、求矩阵
的逆矩阵
及特征值和特征向量。
A=[-211;020;-413];
>>a1=inv(A)
a1=
-3/21/21/2
01/20
-21/21
>>[P,R]=eig(A)
P=
-985/1393-528/2177379/1257
00379/419
-985/1393-2112/2177379/1257
R=
-100
020
002
A的三个特征值是:
r1=-1,r2=2,r3=2。
三个特征值分别对应的特征向量是
P1=[101];p2=[104];p3=[131]
12、化方阵
为对角阵。
>>A=[22-2;25-4;-2-45];
[P,D]=eig(A)
P=
-0.29810.89440.3333
-0.5963-0.44720.6667
-0.74540-0.6667
D=
1.000000
01.00000
0010.0000
>>B=inv(P)*A*P
B=
1.0000-0.00000.0000
0.00001.00000.0000
-0.0000010.0000
程序说明:
所求得的特征值矩阵D即为矩阵A对角化后的对角矩阵,D和A相似。
13、求一个正交变换,将二次型
化为标准型。
>>A=[5-13;-15-3;3-33];
>>symsy1y2y3
y=[y1;y2;y3];
[P,D]=eig(A)
P=
881/2158985/1393-780/1351
-881/2158985/1393780/1351
-881/10790-780/1351
D=
*00
040
009
>>x=P*y
x=
(6^(1/2)*y1)/6+(2^(1/2)*y2)/2-(3^(1/2)*y3)/3
(2^(1/2)*y2)/2-(6^(1/2)*y1)/6+(3^(1/2)*y3)/3
-(3^(1/2)*y3)/3-(2^(1/2)*3^(1/2)*y1)/3
>>f=[y1y2y3]*D*y
f=
-y1^2/2251799813685248+4*y2^2+9*y3^2
14、设
,数列
是否收敛?
若收敛,其值为多少?
精确到6位有效数字。
f=inline('(x+7/x)/2');
>>x0=3;
>>fori=1:
20
x0=f(x0);
fprintf('%g,%g\n',i,x0);
end
1,2.66667
2,2.64583
3,2.64575
4,2.64575
5,2.64575
6,2.64575
7,2.64575
8,2.64575
9,2.64575
10,2.64575
11,2.64575
12,2.64575
13,2.64575
14,2.64575
15,2.64575
16,2.64575
17,2.64575
18,2.64575
19,2.64575
20,2.64575
该数列收敛于三,它的值是
15、设
是否收敛?
若收敛,其值为多少?
精确到17位有效数字。
(注:
学号为单号的取
,学号为双号的取
)
>>f=inline('1/(x^8)');
x0=0;
fori=1:
20
x0=(x0+f(i));
fprintf('%g,%.16f\n',i,x0);
end
1,1.0000000000000000
2,1.0039062500000000
3,1.0040586657902759
4,1.0040739245793384
5,1.0040764845793384
6,1.0040770799535192
7,1.0040772534200448
8,1.0040773130246896
9,1.0040773362552626
10,1.0040773462552626
11,1.0040773509203365
12,1.0040773532460168
13,1.0040773544719115
14,1.0040773551495150
15,1.0040773555396993
16,1.0040773557725300
17,1.0040773559158835
18,1.0040773560066281
19,1.0040773560655085
20,1.0040773561045711
>>
16、求二重极限
>>clear
>>symsxy;
>>f=(log(x+exp(y))/sqrt(x^2+y^2));
>>fx=limit(f,'x',1);
>>fxy=limit(fx,'y',0)
fxy=
log
(2)
17、已知
。
>>clear
symsxyz;
>>F=exp(x)-x*y*z;
>>Fx=diff(F,'x')
Fx=
exp(x)-y*z
>>Fz=diff(F,'z')
Fz=
-x*y
>>G=-Fx/Fz
G=
(exp(x)-y*z)/(x*y)
18、已知函数
,求梯度。
一:
>>clear
symsxyz;
>>f=x^2+2*y^2+3*z^2+x*y+3*x-3*y-6*z;
>>dxyz=jacobian(f)
dxyz=
[2*x+y+3,x+4*y-3,6*z-6]
二:
>>clear
>>symsxyz;
>>f=x^2+2*y^2+3*z^2+x*y+3*x-3*y-6*z;
>>gr=jacobian(f)
gr=
[2*x+y+3,x+4*y-3,6*z-6]
19、计算积分
,其中
由直线
围成。
>>A=int(int((2-x-y),'y',x^2,x),'x',0,1)/2
A=
11/120
20、计算曲线积分
,其中曲线
。
clear
symsxyzt
x=cos(t);
y=sin(t);
z=t;
dx=diff(x,t);
dy=diff(y,t);
dz=diff(z,t);
ds=sqrt(dx^2+dy^2+dz^2);
f=z^2/(x^2+y^2);
I=int(f*ds,t,0,2*pi)
I=
(8*2^(1/2)*pi^3)/3
21、计算曲面积分
,其中
。
>>clear
>>symsxyza;
>>z=sqrt(a^2-x^2-y^2);
>>f=x+y+z;
>>I=int(int(f,'y',0,sqrt(a^2-x^2)),'x',0,a)
I=
1/2*a^3+1/4*a^3*pi+1/3*a^2*(a^2)^(1/2)+1/3*(-1/2-1/4*pi)*a^3
22、求解二阶微分方程:
。
>>clear
>>symsxy;
>>d_equa='D2y-10*Dy+9*y=exp(2*x)'
d_equa=
D2y-10*Dy+9*y=exp(2*x)
>>Condit='y(0)=6/7,Dy(0)=33/7'
Condit=
y(0)=6/7,Dy(0)=33/7
>>y1=dsolve(d_equa,Condit,'x')
y1=
exp(9*x)/2-exp(2*x)/7+exp(x)/2
23、求数项级数
的和。
>>clear
>>symsn;
>>f=1/(n*(n+1));
>>I=symsum(f,n,1,inf)
I=
1
24、将函数
展开为
的幂级数。
>>clear
>>symsx;
>>f=1/x;
>>taylor(f,10,x,3)
ans=
(x-3)^2/27-x/9-(x-3)^3/81+(x-3)^4/243-(x-3)^5/729+(x-3)^6/2187-(x-3)^7/6561+(x-3)^8/19683-(x-3)^9/59049+2/3
25、能否找到一个分式线性函数
,使它产生的迭代序列收敛到给定的数?
用这种办法近似计算
。
>>f=inline('(2+x^2)/(2*x)');
x1=2;
fori=1:
20
x1=f(x1);
fprintf('%g,%g\n',i,x1);
end;
1,1.5
2,1.41667
3,1.41422
4,1.41421
5,1.41421
6,1.41421
7,1.41421
8,1.41421
9,1.41421
10,1.41421
11,1.41421
12,1.41421
13,1.41421
14,1.41421
15,1.41421
16,1.41421
17,1.41421
18,1.41421
19,1.41421
20,1.41421
26、函数
的迭代是否会产生混沌?
>>x1=0:
0.05:
0.5;
y1=2*x1;
x2=0.5:
0.05:
1;
y2=2*(1-x2);
figure
plot(x1,y1,x2,y2)
gtext('2*x')
gtext('2*(1-x)')
27、函数
称为Logistic映射,试从“蜘蛛网”图观察它取初值为
产生的迭代序列的收敛性,将观察记录填人下表,作出图形。
若出现循环,请指出它的周期。
(要求贴图)
f=inline('3.3*x*(1-x)');
x=linspace(1,202,202);y=linspace(1,202,202);
x
(1)=0.5;
y
(1)=0;x
(2)=x
(1);y
(2)=x
(1);
fori=1:
100
x(1+2*i)=x(2*i);
x(2+2*i)=f(x(1+2*i));
y(1+2*i)=x(2+2*i);
y(2+2*i)=y(1+2*i);
end
plot(x,y,'r');
holdon;
symsxy;
y=x;
ezplot(x,[0,1]);
ezplot(f(x),[0,1]);
axis([0,1,0,3.3/4]);
holdoffT=0.35
holdon
f=inline('3.5*x*(1-x)');
x=linspace(1,202,202);y=linspace(1,202,202);
x
(1)=0.5;
y
(1)=0;x
(2)=x
(1);y
(2)=x
(1);
fori=1:
100
x(1+2*i)=x(2*i);
x(2+2*i)=f(x(1+2*i));
y(1+2*i)=x(2+2*i);
y(2+2*i)=y(1+2*i);
end
plot(x,y,'r');
holdon;
symsxy;
y=x;
ezplot(x,[0,1]);
ezplot(f(x),[0,1]);
axis([0,1,0,3.5/4]);
holdoffT=0.4
holdon
f=inline('3.56*x*(1-x)');
x=linspace(1,202,202);y=linspace(1,