常用数学软件.docx
《常用数学软件.docx》由会员分享,可在线阅读,更多相关《常用数学软件.docx(40页珍藏版)》请在冰豆网上搜索。
![常用数学软件.docx](https://file1.bdocx.com/fileroot1/2022-11/21/32247676-8170-445d-868f-54c76cd3fd1a/32247676-8170-445d-868f-54c76cd3fd1a1.gif)
常用数学软件
1、求矩阵
的逆矩阵
及特征值和特征向量。
解:
逆矩阵A-1=
;
特征值为
=(-1,2);
对应的特征向量为:
a1=
a2=
matlab输入如下:
>>A=[-211;020;-413;];
>>inv(A)%求A逆矩阵
ans=
-1.50000.50000.5000
00.50000
-2.00000.50001.0000
>>[a,b]=eig(A);%求矩阵A的特征向量和特征值
>>a
a=
-0.7071-0.24250.3015
000.9045
-0.7071-0.97010.3015
>>b
b=
-100
020
002
2、化方阵
为对角阵。
解:
方阵A的对角阵为
matlab输入如下:
>>A=[22-2;25-4;-2-45;];
>>diag(A)
ans=
2
5
5
3、已知
,在
MATLAB命令窗口中建立A、B矩阵并对其进行以下操作:
(1)计算矩阵A的行列式的值
;
(2)分别计算下列各式
解:
(1)A的行列式的值为:
=-158;
(2)2A-B=
A*B=
A.*B=
AB-1=
A-1B=
A2=
At=
Matlab输入如下:
>>A=[4-22;-305;153;];
>>det(A)
ans=
-158
>>B=[134;-20-3;2-11;];
>>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/B
ans=
002.0000
-2.7143-8.0000-8.1429
2.42863.00002.2857
>>A\B
ans=
0.48730.41141.0000
0.3671-0.43040
-0.10760.24680
>>A^2
ans=
2424
-7319
-81336
>>A'
ans=
4-31
-205
253
4、在MATLAB中分别利用函数rank、函数inv求下列矩阵的秩:
(1)
求rank(A)=?
(2)
求
。
解:
(1)rank(A)=3;
(2)B-1=
Matlab输入如下:
>>A=[1-632;3-540;-1-1124;];
>>rank(A)
ans=
3
>>B=[3501;1200;1020;1202;]
B=
3501
1200
1020
1202
>>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
>>
5、求一个正交变换,将二次型
化为标准型。
解:
所作变换为:
P=[881/2158985/1393-780/1351;
-881/2158985/1393780/1351;
-881/10790-780/1351]
标准型为:
T=P’AP=4y22+9y23
Matlab输入如下:
>>A=[5-13;-15-3;3-33;];
>>[P,T]=schur(A)
P=
881/2158985/1393-780/1351
-881/2158985/1393780/1351
-881/10790-780/1351
T=
*00
040
009
6、求
的所有根。
(先画图后求解)(要求贴图)
解:
Matlab图如下:
该方程有两个根x1=0.9100,x2=-0.4590
Matlab程序如下:
>>clear
>>symsxf1f2;
>>f1=exp(x)-3*x^2;
>>ezplot(f1,-0.5,1)
>>gridon
>>f2='exp(x)-3*x^2=0';
>>solve(f2)
ans=
-2*lambertw(0,-3^(1/2)/6)
-2*lambertw(0,3^(1/2)/6)
>>-2*lambertw(0,-3^(1/2)/6)
ans=
0.9100
>>-2*lambertw(0,3^(1/2)/6)
ans=
-0.4590
>>
7、求下列方程的根。
1)
解:
有五个解如下:
x1=1.1045+1.0598i
x2=1.1045-1.0598i
x3=-1.0045+1.0609i
x4=-1.0045+1.0609i
x5=-0.1999
Matlab输入如下:
>>P=[100051];
>>roots(P)
ans=
1.1045+1.0598i
1.1045-1.0598i
-1.0045+1.0609i
-1.0045-1.0609i
-0.1999
2)
解:
原方程的解为
-226.19688152398440474751335389781
Matlab输入如下:
>>symsx;
>>f='x*sin(x)-1/2=0';
>>solve(f)
ans=
-226.19688152398440474751335389781
3)
所有根。
解:
matlab画图如下:
两个解为x1=0,x2=0.7022
Matlab输入如下:
>>symsxy;
>>y=sin(x)*cos(x)-x^2;
>>ezplot(y,-0.5,1)
>>gridon;
>>fzero('sin(x)*cos(x)-x^2',0)
ans=
0
>>fzero('sin(x)*cos(x)-x^2',1)
ans=
0.7022
>>
8、求点(1,1,4)到直线L:
的距离
解:
点到直线的距离为:
Matlab输入如下:
>>[txyz]=solve('x-3=-t','z-1=2*t','-(x-1)+2*(z-4)=0','y=0')
t=
8/5
x=
7/5
y=
0
z=
21/5
>>sqrt((x-1)^2+(y-1)^2+(z-4)^2)
ans=
(5^(1/2)*6^(1/2))/5
>>
9、已知
分别在下列条件下画出
的图形:
(要求贴图)
,在同一坐标系里作图
解:
作图如下:
Matlab程序如下:
>>clear
>>x=linspace(-4,4,2001);
>>y1=normpdf(x,0,1);
>>y2=normpdf(x,-1,1);
>>y3=normpdf(x,1,1);
>>plot(x,y1,x,y2,x,y3)
>>legend('u=0','u=-1','u=-1')
>>title('sigma=1')
>>
,在同一坐标系里作图。
解:
作图如下:
Matlab输入如下:
>>x=linspace(-4,4,2001);
>>y1=normpdf(x,0,1);
>>y2=normpdf(x,0,2);
>>y3=normpdf(x,0,4);
>>plot(x,y1,x,y2,x,y3)
>>legend('sigma=1','sigma=2','sigma=4')
>>title('u=0')
>>
10、画下列函数的图形:
(要求贴图)
(1)
解:
matlab图如下:
Matlab输入如下:
>>symsut;
>>ezmesh(u*sin(t),u*cos(t),t/4,[0,20,0,2])
>>
(2)
解:
matlab图如下:
Matlab输入如下:
>>clear
>>symsxy;
>>z=sin(x*y);
>>ezmesh(z,[0,3],60)
>>
(3)
解:
matlab图如下:
Matlab输入如下:
>>symsut;
>>ezmesh(sin(t)*(3+cos(u)),cos(t)*(3+cos(u)),sin(u),[0,2*pi,0,2*pi])
11、在MATLAB中判断下列向量组是否线性相关,并找出向量组
中的一个最大线性无关组。
(可用rref函数)
解:
线性相关,最大线性无关组为a1,a2,a3;
Matlab输入如下:
>>clear
>>a1=[1132]';
>>a2=[-11-13]';
>>a3=[5-289]';
>>a4=[-1317]';
>>A=[a1,a2,a3,a4];
>>rank(A)
ans=
3
>>>>rref(A)
ans=
1.0000001.0909
01.000001.7879
001.0000-0.0606
0000
12、在MATLAB中判断下列方程组解的情况,若有多个解,写出通解。
(1)
(2)
解:
(1)方程组只有零解
Matlab输入如下:
>>A=[1-14-2;1-1-12;317-2;1-3-126;];
>>b=zeros(4,0);
>>rank(A)
ans=
4
>>A\b
ans=
Emptymatrix:
4-by-0
(2)有无穷多解;
通解:
Matlab输入如下:
>>A=[231;1-24;38-2;4-19;];
>>b=[4;-5;13;-6];
>>[rank(A),rank([A,b])]
ans=
22
>>rref([A,b])
ans=
102-1
01-12
0000
0000
13、求解
解:
Matlab输入如下:
>>symsx;
>>f=(x-sin(x))/x^3;
>>limit(f,0)
ans=
1/6
>>
14、
解:
Matlab输入如下;
>>clear
>>symsxy;
>>y=exp(x)*cos(x);
>>diff(y,10)
ans=
-32*exp(x)*sin(x)
>>
15、求解
解:
=0.54498710418591367
>>z=quadl(inline('exp(x.^2)'),0,1/2)
z=
0.544987104185914
>>vpa(z,17)
ans=
0.54498710418591367
>>
16、求解
解:
;
Matlab输入如下:
>>symsx;
>>f=x^4/(25+4*x^2);
>>int(f)
ans=
(125*atan((2*x)/5))/32-(25*x)/16+x^3/12
>>pretty(int(f))
/2x\
125atan|---|3
\5/25xx
--------------------+--
321612
>>
17、求由参数方程
所确定的函数的一阶导数
与二阶导数
。
解:
Matlab输入如下:
>>clear
>>symsxyt;
>>y=subs(atan(t),t,solve('x=log(sqrt(1+t))',t))
y=
atan(exp(2*x)-1)
>>diff(y)
ans=
(2*exp(2*x))/((exp(2*x)-1)^2+1)
>>diff(y,2)
ans=
(4*exp(2*x))/((exp(2*x)-1)^2+1)-(8*exp(4*x)*(exp(2*x)-1))/((exp(2*x)-1)^2+1)^2
>>
18、设函数y=f(x)由方程xy+ey=e所确定,求y′(x)。
解:
y’(x)=-(exp
(1)-x*lambertw(0,exp(exp
(1)/x)/x))/x^2-(lambertw(0,exp(exp
(1)/x)/x)-(x^2*(exp(exp
(1)/x)/x^2+(exp
(1)*exp(exp
(1)/x))/x^3)*lambertw(0,exp(exp
(1)/x)/x))/(exp(exp
(1)/x)*(lambertw(0,exp(exp
(1)/x)/x)+1)))/x
Matlab输入如下:
>>clear
>>symsxy;
>>z=solve('x*y+exp(y)=exp
(1)','y');
>>diff(z)
ans=
-(exp
(1)-x*lambertw(0,exp(exp
(1)/x)/x))/x^2-(lambertw(0,exp(exp
(1)/x)/x)-(x^2*(exp(exp
(1)/x)/x^2+(exp
(1)*exp(exp
(1)/x))/x^3)*lambertw(0,exp(exp
(1)/x)/x))/(exp(exp
(1)/x)*(lambertw(0,exp(exp
(1)/x)/x)+1)))/x
>>
19、求解
解:
Matlab输入如下:
>>symsx;
>>f=exp(-x)*sin(2*x);
>>int(f,0,inf)
ans=
2/5
>>
20、
解:
展开为:
Matlab输入如下:
>>clear
>>symsx;
>>f=sqrt(x+1);
>>taylor(f,9,x,0)
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
>>
21、
解:
y(3)
(2)=-0.5826;
Matlab输入如下:
>>symsx;
>>z=diff(exp(sin(1/x)),x,3);
>>subs(z,x,2)
ans=
-0.5826
>>
22、求变上限函数
对变量x的导数。
解:
Matlab输入如下:
>>clear
>>symsatx;
>>diff(int(sqrt(a+t),t,x,x^2))
Warning:
Explicitintegralcouldnotbefound.
ans=
2*x*(x^2+a)^(1/2)-(a+x)^(1/2)
>>
23、设
,数列
是否收敛?
若收敛,其值为多少?
精确到6位有效数字。
解:
收敛,
2.64575
前一百项散点图如下:
Matlab输入如下:
>>clear
>>x
(1)=3;
>>forn=1:
100,
x(n+1)=(x(n)+7/x(n))/2;
end
>>y=linspace(1,101,101);
>>plot(y,x,'r*')
>>vpa(x(100),7)
ans=
2.645751
>>
24、设
取
和
时,
是否收敛?
若收敛,其值为多少?
精确到17位有效数字。
解:
p=7,
1.0083492773819228
P=8,
1.0040773561979443
Matlab输入如下:
>>clear
>>symsn;
>>a=symsum(1/n^7,1,inf)
a=
zeta(7)
>>b=symsum(1/n^8,1,inf)
b=
pi^8/9450
>>vpa(a,17)
ans=
1.0083492773819228
>>vpa(b,17)
ans=
1.0040773561979443
>>
25、求二重极限
解:
Matlab输入如下:
>>clear
>>symsxy;
>>f=log(x+exp(y))/sqrt(x^2+y^2);
>>limit(limit(f,x,1),y,0)
ans=
log
(2)
26、已知
。
解:
Matlab输入如下:
>>symsxyz;
>>f='exp(x)-x*y*z=0';
>>Z=solve(f,'z');
>>diff(Z,x)
ans=
exp(x)/(x*y)-exp(x)/(x^2*y)
>>
27、已知函数
,
求梯度。
解:
梯度为(2*x+y+3,x+4*y-3,6*z–6);
Matlab输入如下:
>>clear
>>symsxyz;
>>f=x^2+2*y^2+3*z^2+x*y+3*x-3*y-6*z;
>>gradient=jacobian(f,[x,y,z])
gradient=
[2*x+y+3,x+4*y-3,6*z-6]
>>
28、计算积分
,其中
由直线
围成。
解:
I=11/120
Matlab输入如下:
>>clear
>>symsxy;
>>[ab]=solve('y=x','y=x^2')
a=
0
1
b=
0
1
>>int(int((2-x-y)/2,y,x^2,x),x,0,1)
ans=
11/120
>>
29、计算曲线积分
,其中曲线
,
。
解:
Matlab输入如下:
>>clear
>>symsxyzt;
>>x=cos(t);
>>y=sin(t);
>>z=t;
>>dx=diff(x);
>>dy=diff(y);
>>dz=diff(z);
>>f=z^2/(x^2+y^2);
>>u=sqrt(dx^2+dy^2+dz^2);
>>int(f*u,t,0,2*pi)
ans=
(8*2^(1/2)*pi^3)/3
>>
30、计算曲面积分
,其中
。
解:
曲面积分
=
;
Matlab输入如下:
>>symsxyzart;
>>z=sqrt(a^2-x^2-y^2);
>>zx=diff(z,x);
>>zy=diff(z,y);
>>f=(x+y+z)*sqrt(zx^2+zy^2+1);
>>u=r*sin(t);
>>v=r*cos(t);
>>int(int(subs(f,[xy],[uv])*r,t,0,2*pi),r,0,a)
ans=
pi*a^3
>>
31、求解二阶微分方程:
解:
方程为:
y=exp(9*x)/2-exp(2*x)/7+exp(x)/2;
Matlab输入如下:
>>clear
>>symsyx;
>>dsolve('D2y-10*Dy+9*y=exp(2*x)','y(0)=6/7','Dy(0)=33/7','x')
ans=
exp(9*x)/2-exp(2*x)/7+exp(x)/2
>>
32、求数项级数
的和。
解:
I=1;
Matlab输入如下:
>>symsn;
>>symsum(1/(n*(n+1)),n,1,inf)
ans=
1
>>
33、将函数
展开为
的幂级数。
解:
展开前5项为:
Matlab输入如下:
>>symsx;
>>;
>>f=1/x;
>>taylor(f,5,x,3)
ans=
(x-3)^2/27-x/9-(x-3)^3/81+(x-3)^4/243+2/3
>>
34、函数
的迭代是否会产生混沌?
解:
不会产生混沌,对x(0)=u,0<=u<=1,后一百项作图如下:
作图如下
Matlab输入如下:
f1.m
functiony=f1(x)
if(x>=0)&&(x<=1/2)
y=2*x;
else
y=2*(1-x);
end
return
>>foru=0:
0.01:
1,
x
(1)=u;
fori=1:
100,
x
(1)=f1(x
(1));
end
fori=1:
100,
x(i+1)=f1(x(i));
end
x1=u*ones(1,length(x));
plot(x1,x,'r.')
holdon
end
>>
35、函数
称为Logistic映射,试从“蜘蛛网”图观察它取初值为
产生的迭代序列的收敛性,将观察记录填入下表,作出图形。
若出现循环,请指出它的周期。
(要求贴图)
表Logistic迭代的收敛性
3.3
3.5
3.56
3.568
3.6
3.84
序列收敛情况
循环发散
循环发散
循环发散
循环
发散
不循环
发散
循环
发散
解:
a=3.3,图如下:
发散,周期为5
a=3.5图如下:
发散,周期为4
a=3.56图如下:
发散周期10
a=3.568,作图如下,周期为30
a=3.6,作图如下:
发散,不循环
a=3.8,作图如下,循环发散
Matlab输入如下:
logi(a).m
functionlogi(a)
x
(1)=0.5;
n=1;
fori=1:
1000,
x(i+1)=a*x(i)*(1-x(i));
b1(n)=x(i);
b2(n)=x(i+1);
n=n+1;
b1(n)=x(i+1);
b2(n)