哈工大数学实验报告.docx
- 文档编号:30043788
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:35
- 大小:389.16KB
哈工大数学实验报告.docx
《哈工大数学实验报告.docx》由会员分享,可在线阅读,更多相关《哈工大数学实验报告.docx(35页珍藏版)》请在冰豆网上搜索。
哈工大数学实验报告
数学实验报告
实验一 Matlab的使用
1.上机实验各种数据输入方法:
程序语句:
a=[123;456;7,8,9]程序语句:
linspace(1,10,5)等等…………
计算结果:
a=计算结果:
ans=
123
4561.00003.25005.50007.750010.0000
789
2.
(1)(a)方法:
(b)方法:
程序语句:
程序语句:
a=[-3508;1-82-1;0-593;-70-45];a=[-3508;1-82-1;0-593;-70-45];
b=[0;2;-1;6];b=[0;2;-1;6];
inv(a)*ba\b
计算结果:
计算结果:
ans=ans=
-0.6386-0.6386
-0.4210-0.4210
-0.3529-0.3529
0.02370.0237
(2)4个矩阵的生成语句:
矩阵a的生成语句:
e=eye(3,3);a=[er;os]
r=rand(3,2);验证语句:
o=zeros(2,3);a^2
s=diag([1,2]);%此为一个任取的2X2矩阵b=[er+r*s;os^2]
计算结果相同:
ans=
1.0000001.90031.4579
01.000000.46232.6739
001.00001.21372.2863
0001.00000
00004.0000
3.生成多项式的语句:
poly([2,-3,1+2i,1-2i,0,-6])
计算结果:
ans=15-9-172-1800
计算x=0.8,-x=-1.2之值的指令与结果:
指令:
polyval([1,5,-9,-1,72,-180,0],0.8)结果:
ans=-100.2179
指令:
polyval([1,5,-9,-1,72,-180,0],-1.2)结果:
ans=293.2900
4.求a的指令与结果:
指令:
a=compan([1,0,-6,3,-8])
结果:
a=
06-38
1000
0100
0010
求a的特征值的指令与结果:
roots(p)的指令与结果为:
指令:
eig(a)指令:
roots([1,0,-6,3,-8])
结果:
结果:
ans=ans=
-2.8374-2.8374
2.46922.4692
0.1841+1.0526i0.1841+1.0526i
0.1841-1.0526i0.1841-1.0526i
结论:
利用友元阵函数a=company(p)和eig(a)可以与roots(p)有相同的作用,结果相同。
5.
(1)图形:
作图指令:
x=0:
0.01:
1.5;
y=[x.^2;x.^3;x.^4;x.^5];
plot(x,y)
(2)图形:
作图指令:
x=0:
0.01:
10;
y1=x.^2;
y2=x.^3;
y3=x.^4;
y4=x.^5;
subplot(2,2,1),plot(x,y1),title('x^2')
subplot(2,2,2),plot(x,y2),title('x^3')
subplot(2,2,3),plot(x,y3),title('x^4')
subplot(2,2,4),plot(x,y4),title('x^5')
6.
fplot命令:
建立函数:
funfplot(x)
functiony=funfplot(x)
y=sin(1./tan(pi*x));
%此文件以funfplot.m存盘
绘图语句:
fplot('funfplot',[-0.1,0.1],2e-4)
7.用作图法求4sinx–x-2=0的根的近似值
绘图语句为:
x=-3*pi:
0.01:
pi;
y1=4*sin(x);
y2=x+2;
plot(x,y1,x,y2)
对x,y轴加标记并加网格:
grid
xlabel('x方向')
ylabel('y方向')
8.
作曲面z=x2–y2的三维图形
绘图语句(a):
x=-10:
0.5:
10;y=x;
[x,y]=meshgrid(x,y);
z=x.^2-y.^2;
mesh(x,y,z)
绘图语句(b):
x=-10:
0.2:
10;
y=x;
[x,y]=meshgrid(x,y);
z=x.^2-y.^2;
plot3(x,y,z)
9.(a)自然数的阶乘:
求阶乘的主程序:
建立阶乘函数:
jie(x)n=input('你想求几的阶乘?
');
functiony=jie(n);y=1;jc=jie(n)
forx=1:
n;
y=y*x;
end%以jie.m存盘
(b)n中取m的组合:
求组合的主程序:
建立组合函数:
zu(x)m=input('输入m值:
');
functionz=zu(m,n)n=input('输入n值(n>m):
');
z=jie(n)/jie(m)/jie(n-m);%以zu.m存盘zh=zu(m,n)
10.作函数y(x)和其一阶导,二阶导图象。
y(x)=sin(x)时的图形
源程序:
symsxy
y=input('inputfunctiony(x)=');
df1=diff(y,x);
df2=diff(df1,x);
holdon;
ezplot(y);
ezplot(df1);
ezplot(df2);
holdoff;
11.绘制极坐标系下曲线:
r=acos(b+nθ)
绘图语句:
(以t代表θ)
a=input('a=');
b=input('b=');
n=input('n=');
t=0:
pi/100:
2*pi;
r=a*cos(b+n*t);
polar(t,r)
就a,b,n的取值不同进行讨论
a=2,b=3,n=6a=3,b=3,n=3
结论:
a与图形的大小有关,b与图形的旋转度有关,n与图形的环数有关。
12.将z1=x2–y2与z2=a的曲线图形和交线图形作出
symsmn;取a=50时的图形。
a=input('inputa=');
x=-8:
0.5:
8;y=x;
[x,y]=meshgrid(x,y);
z1=x.^2+2*y.^2;
z2=zeros(33,33)+a;
n=sqrt((a-m^2)/2);
subplot(2,2,1),mesh(x,y,z1);
subplot(2,2,2),mesh(x,y,z2);
subplot(2,2,3);
mesh(x,y,z1);holdon;
mesh(x,y,z2);holdoff;
subplot(2,2,4);ii=find(z1>a);
z1(ii)=a*ones(size(ii));
mesh(x,y,z1);
13.编写任意函数Taylor展开式并将各阶展开画在一个图中。
源程序:
图一
symsxyt
y=input('inputafunctiony(x)=');
n=input('inputn=');
holdon;
fori=1:
n
t=taylor(y,i);
ezplot(t);
end
holdoff;
title('Taylor各阶展开累加图形')
右图图一为
y(x)=sin(x),n=20时的图形。
图二
右图图二为
y(x)=exp(x),n=30时的图形
可见n越大,累加图形越接近原函数图形
实验二 平面线性映射的迭代
1.求A的特征值和特征向量:
指令:
a=[3/4,1/2,1/4;1/8,1/4,1/2;1/8,1/4,1/4];[x,d]=eig(a)
结果:
x=d=
-0.9094-0.80690.34371.000000
-0.32480.5116-0.813300.34150+
-0.25980.29530.469500-0.0915
2.设A的特征值分别为:
λ1,λ2,λ3,特征向量分别为:
η1,η2,η3。
且
=
=K1η1+K2η2+K3η2。
我的公式为:
=k1η1λ1n+k2η2λ2n+k3η3λ3n
程序为:
计算结果:
n=100;j=zeros(3,1);a=[3/4,1/2,1/4;1/8,1/4,1/2;1/8,1/4,1/4];p=
[x,d]=eig(a);k=inv(x)*[0,0.5,0.5]';0.6087
fori=1:
3;0.2174
j(i)=k(i)*(d(i,i))^n;0.1739
end;
p=x*j
3.当n>9时p值显示相同的结果,利用formatdouble也难以满足精度。
4.程序:
a=[1,1;1,-1];[x,d]=eig(a)
结果:
x=d=
0.3827-0.9239-1.41420
-0.9239-0.382701.4142
5.
a=[1,1;1,-1];
v1=[0,0]';v2=[2,0]';v3=[2,2]';v4=[0,2]';
n=input('n=');
p1=zeros(2,n);p2=p1;p3=p1;
fori=1:
n;
p1(:
i)=a^i*v2;
p2(:
i)=a^i*v3;
p3(:
i)=a^i*v4;
end;
holdon;
plot(p1(1,:
),p1(2,:
),'*r',p2(1,:
),p2(2,:
),'g',p3(1,:
),p3(2,:
),'*b')
%n取20点线轨迹如右图。
较大的特征值为图形的拉伸系数
6.
n=input('n=');f=[1,2;3,-1];
p=zeros(2,n);p0=[5,10]';
fori=1:
n;
p(:
i)=f^i*p0;
end
plot(p(1,:
),p(2,:
))
向量p0=[2,9],n=10时如右图。
7.
%将PLANAR1改写成Malab程序
b1=[1,1]';b2=[1,0]';
a=[1/5,99/100;1,0];
p1=zeros(2,26);p2=zeros(2,26);
p1(:
1)=b1;
p2(:
1)=b2;
forn=1:
25
p1(:
n+1)=a^n*b1;
p2(:
n+1)=a^n*b2;
end
plot(p1(1,:
),p1(2,:
),'*r',p2(1,:
),p2(2,:
),'+b')
λ1=1.1000,λ2=-0.9000
(λ1,λ2分别为矩阵a的两个特征值)
y1=[0.7399;6727],y2=[-0.6690;0.7433]
(y1,y2分别为矩阵a的两个特征向量)
8.通过计算a=1.1及为A的特征之中较大者也就是n趋于无穷点列方向|λ1|<1,|λ2|<1a→0;
|λ1|>1,|λ2|<1a→λ1;|λ1|<1,|λ2|>1a→λ2;|λ1|>1,|λ2|>1a→max{λ1,λ2};
9.
x0=2*rand(2,17)-ones(2,17);
x=x0;a=[1/5,99/100;1,0];
forn=1:
25
x=[a*x,x0];
end
plot(x(1,:
)',x(2,:
)','*b')
holdon;
plot(x0(1,:
),x0(2,:
),'*r')
holdoff;
点列经迭代后的方向与绝对值最大的特征值所对应的特征向量的方向相同
即(0.7399,0.6727)’
10.
x0=2*rand(2,17)-ones(2,17);
x=x0;b=[0,1;100/99,-20/99];
forn=1:
25
x=[b*x,x0];
end
plot(x(1,:
)',x(2,:
)','*b')
holdon;
plot(x0(1,:
),x0(2,:
),'*r')
holdoff;
同上方向(-0.6690,0.7433)’
11.
x=[1-1-111];
y=[11-1-11];
holdon
fill(x,y,'y')
a1=[11]';第一次迭代
a2=[-11]';
k1=1.2;
k2=0.8;
a=[k1*a1,k2*a2]*inv([a1,a2]);
z=[x;y];
s='grbygrbygr';
forn=1:
10
zz=z;
z=a*z;
x=z(1,:
);最后一次迭代
y=z(2,:
);
pause
(1)
fill(zz(1,:
),zz(2,:
),'w')
fill(x,y,s(n))
end
holdoff
c=[1,2;5,2];
12.
画图程序及变换程序:
s=linspace(-pi,pi,100);
x=cos(s);y=sin(s);
plot(x,y);axisequal
holdon
z=[x;y];
c=[1,2;5,2];%或c=[12;37]
z1=c*z;
plot(z1(1,:
),z1(2,:
));
c=[12;37]
[x,d]=eig([1,2;5,2])
x=d=
-0.5950-0.4754-1.70160
0.8037-0.879804.7016
[x,d]=eig([12;37])
x=d=
-0.9165-0.27940.12700
0.4000-0.960207.8730
当特征值的绝对值大于1时图形被拉长,当特征值的绝对值小于1时图形被压缩
拉长或压缩系数即为特征值,其方向为相应特征向量的方向。
我的压缩方案:
[1,1]方向拉长1.2倍[-1,1]方向压缩为原来的0.8倍。
则求变换矩阵c:
k1=1.2;k2=0.8;
a1=[1,1]';a2=[-1,1]';
c=[k1*a1,k2*a2]*inv([a1,a2])
结果:
c=1.00000.2000
0.20001.0000
验证程序:
s=linspace(-pi,pi,100);
x=cos(s);y=sin(s);
plot(x,y);axisequal
holdon
z=[x;y];
z1=c*z;
plot(z1(1,:
),z1(2,:
),'r');
实验三 常微分方程数值解
2.a)t的维数由t的范围矩阵决定;b)x两列表示x1,x2的数值解。
即θ,θ’解
c)去掉分号,多显示了t的维数个xdot阵d)t的赋值语句在第七句
3.对改进的欧拉公式我编写的程序
%欧拉法解形如y'=f(x,y)
%格式ol('函数',[自变量起始值,自变量终值],函数初值,步长)
functionol(ydot,ts,y1,h)
xx=ts
(1):
h:
ts
(2);
n=round((ts
(2)-ts
(1))/h)+1;
yy=zeros(1,n);
yy
(1)=y1;
str0=sprintf('%d:
x=%gy=%g',0,xx
(1),yy
(1));
disp(str0)
fori=1:
n-1
x=xx(i);
y=yy(i);
k1=eval(ydot);
y=yy(i)+h*k1;
k2=eval(ydot);
yy(i+1)=yy(i)+h*(k1+k2)/2;
str=sprintf('%d:
x=%gy=%g',i,xx(i+1),yy(i+1));
disp(str);
end
%欧拉法解形如{y'=f(x,y,z)z'=g(x,y,z)}的方程组
%格式ol2('函数1','函数2',[自变量起始值,自变量终值],[函数1初值,函数2初值],步长)
functionol2(F1,F2,ts,tf,h)
xx=ts
(1):
h:
ts
(2);
n=round((ts
(2)-ts
(1))/h)+1;
yy=zeros(1,n);
zz=zeros(1,n);
yy
(1)=tf
(1);
zz
(1)=tf
(2);
str0=sprintf('%d:
x=%gy=%gz=%g',0,xx
(1),yy
(1),zz
(1));
disp(str0)
fori=1:
n-1
x=xx(i);
y=yy(i);
z=zz(i);
k1=eval(F1);
yy(i+1)=yy(i)+h*k1;
k2=eval(F2);
zz(i+1)=zz(i)+h*k2;
str=sprintf('%d:
x=%gy=%gz=%g',i,xx(i+1),yy(i+1),zz(i+1));
disp(str);
end
b)
(1)y’=x^2-y^2y(0)=0或y(0)=1
functionF=f1(x,y)
F=x^2-y^2;%以f1.m存盘
初值
y(0)=0
y(0)=1
y(0)=0
y(0)=1
语句
[x,y]=ode23('f1',[0,10],0)
[x,y]=ode23('f1',[0,10],1)
ol('x^2-y^2',[0,0.4],0,0.03)
ol('x^2-y^2',[0,4],1,0.3)
结果
x=y=
00
0.01560.0000
0.03130.0000
0.05430.0001
0.07740.0002
0.10050.0003
0.12360.0006
0.14660.0011
0.17010.0016
0.19730.0026
0.22890.0040
0.26560.0062
0.30820.0098
x=y=
01.0000
0.08000.9261
0.28200.7864
0.56220.6883
0.84080.6963
1.11940.8100
1.56701.1788
1.96961.6357
2.21961.9349
2.46962.2263
2.80772.6067
3.14592.9723
3.62553.4808
0:
x=0y=0
1:
x=0.03y=1.35e-005
2:
x=0.06y=8.1e-005
3:
x=0.09y=0.000256499
4:
x=0.12y=0.000593995
5:
x=0.15y=0.00114747
6:
x=0.18y=0.0019709
7:
x=0.21y=0.00311822
8:
x=0.24y=0.00464327
9:
x=0.27y=0.00659984
10:
x=0.3y=0.00904153
11:
x=0.33y=0.0120217
12:
x=0.36y=0.0155936
13:
x=0.39y=0.0198097
0:
x=0y=1
1:
x=0.3y=0.79
2:
x=0.6y=0.704393
3:
x=0.9y=0.739425
4:
x=1.2y=0.894446
5:
x=1.5y=1.15089
6:
x=1.8y=1.4696
7:
x=2.1y=1.81055
8:
x=2.4y=2.15088
9:
x=2.7y=2.48368
10:
x=3y=2.80895
11:
x=3.3y=3.1282
12:
x=3.6y=3.44262
13:
x=3.9y=3.75264
以下略去
(2)y’’+ycosx=0y(0)=1,y’(0)=0
化为微分方程组y’=z
z’=-ycosxy(0)=1,z(0)=0
functionF=f1(x,y)
F=[y
(2);-y
(1)*cos(x)];%以f1.m存盘
语句
[x,y]=ode23('f1',[0,10],[1,0])
ol2('z','-y*cos(x)',[0,4],[1,0],0.2)
结果
x=y=z=
01.00000
0.00011.0000-0.0001
0.00051.0000-0.0005
0.00251.0000-0.0025
0.01250.9999-0.0125
0.06250.9980-0.0624
0.15410.9882-0.1529
0.27880.9616-0.2717
0.43450.9085-0.4083
0.62660.8158-0.5514
0.88060.6569-0.6884
1.15000.4592-0.7686
1.41250.2529-0.7963
1.65350.0606-0.7987
1.8848-0.1242-0.8009
2.1178-0.3129-0.8228
2.3597-0.5185-0.8855
2.6056-0.7499-1.0086
2.8572-1.0276-1.2127
3.1181-1.3816-1.5206
3.3932-1.8572-1.9585
3.6928-2.5303-2.5551
4.0167-3.4734-3.2771
0:
x=0y=1z=0
1:
x=0.2y=1z=-0.2
2:
x=0.4y=0.96z=-0.396013
3:
x=0.6y=0.880797z=-0.572857
4:
x=0.8y=0.766226z=-0.718248
5:
x=1y=0.622576z=-0.825015
6:
x=1.2y=0.457573z=-0.892291
7:
x=1.4y=0.279115z=-0.925452
8:
x=1.6y=0.094025z=-0.93494
9:
x=1.8y=-0.0929629z=-0.934391
10:
x=2y=-0.279841z=-0.938615
11:
x=2.2y=-0.467564z=-0.961906
12:
x=2.4y=-0.659945z=-1.01694
13:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈工大 数学 实验 报告