数学实验答案.docx
- 文档编号:24440383
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:52
- 大小:941.84KB
数学实验答案.docx
《数学实验答案.docx》由会员分享,可在线阅读,更多相关《数学实验答案.docx(52页珍藏版)》请在冰豆网上搜索。
数学实验答案
注意:
在下面的题目中
为你的学号的后4位
第一次练习题
1.求
的所有根。
(先画图后求解)
fplot('[exp(x)-3*x^2,0]',[-1,4])
fsolve('exp(x)-3*x.^2',[-0.5,1,4])
ans=
-0.45900.91003.7331
2.求下列方程的根。
1)
fplot('[x^5+5*x+1,0]',[-5,5])
fsolve('x.^5+5*x+1',-0.2)
ans=
-0.1999
2)
fplot('[x*sin(x)-1/2,0]',[-4,4])
fsolve('x.*sin(x)-1/2',[-3,-1,1,3])
ans=
-2.9726-0.74080.74082.9726
3.求解下列各题:
1)
>>symsx;
>>limit((407*x-sin(407*x))/x^3,x,0)
ans=
67419143/6
2)
>>symsx;
>>f=int(exp(407*x^2),x,0,1/2);vpa(f,17)
ans=
.38197076670642666e42
3)
>>symsx;
>>int(x^4/(407+4*x^2),x)
ans=
1/12*x^3-407/16*x+407/32*407^(1/2)*atan(2/407*x*407^(1/2))
4)
>>taylor(sqrt(407/1000+x),9,x,0)
ans=
(1464843750000000*407^(1/2)*1000^(1/2)*x^7)/168177611185614613-(1190185546875000000*407^(1/2)*1000^(1/2)*x^8)/68448287752545147491-(20507812500000*407^(1/2)*1000^(1/2)*x^6)/4545340842854449+(27343750000*407^(1/2)*1000^(1/2)*x^5)/11167913618807-(39062500*407^(1/2)*1000^(1/2)*x^4)/27439591201+(62500*407^(1/2)*1000^(1/2)*x^3)/67419143-(125*407^(1/2)*1000^(1/2)*x^2)/165649+(407^(1/2)*1000^(1/2)*x)/814+(407^(1/2)*1000^(1/2))/1000
5)
(精确到17位有效数字)
>>symsx;
>>f=diff(exp(sin(1/x),3);
>>y=subs(f,x,407);vpa(y,17)
ans=
-.21973664849151321e-9
4.求矩阵
的逆矩阵
及特征值和特征向量。
>>A=[-2,1,1;0,2,0;-4,1,4.07],inv(A)
A=
-2.00001.00001.0000
02.00000
-4.00001.00004.0700
ans=
-0.98310.37080.2415
00.50000
-0.96620.24150.4831
>>eig(A)
ans=
-1.2478
3.3178
2.0000
>>[P,D]=eig(A)
P=
-0.7992-0.18480.2425
000.9701
-0.6011-0.9828-0.0000
D=
-1.247800
03.31780
002.0000
5.已知
分别在下列条件下画出
的图形:
(1)>>symsx;
>>f=inline('(1/((2*pi)^(1/2)*p))*exp(-(x-u)^2/(2*p^2))');
>>y1=f(1,0,x);
>>y2=f(1,-1,x);
>>y3=f(1,1,x);
>>y1
y1=
7186705221432913/18014398509481984*exp(-1/2*x^2)
>>y2
y2=
7186705221432913/18014398509481984*exp(-1/2*(x+1)^2)
>>y3
y3=
7186705221432913/18014398509481984*exp(-1/2*(x-1)^2)
>>fplot('[7186705221432913/18014398509481984*exp(-1/2*x^2),7186705221432913/18014398509481984*exp(-1/2*(x+1)^2),7186705221432913/18014398509481984*exp(-1/2*(x-1)^2)]',[-6,6])
(2)>>symsx;
>>f=inline('(1/((2*pi)^(1/2)*p))*exp(-(x-u)^2/(2*p^2))');
>>y1=f(1,0,x);
>>y2=f(2,0,x);
>>y3=f(4,0,x);
>>y1
y1=
7186705221432913/18014398509481984*exp(-1/2*x^2)
>>y2
y2=
7186705221432913/36028797018963968*exp(-1/8*x^2)
>>y3
y3=
7186705221432913/72057594037927936*exp(-1/32*x^2)
>>fplot('[7186705221432913/18014398509481984*exp(-1/2*x^2),7186705221432913/36028797018963968*exp(-1/8*x^2),7186705221432913/72057594037927936*exp(-1/32*x^2)]',[-8,8])
二解:
(1)>>fplot('[(1/sqrt(2*pi))*exp(-x^2/2),1/sqrt(2*pi)*exp(-(x+1)^2/2),1/sqrt(2*pi)*exp(-(x-1)^2/2)]',[-10,10])
(2)>>fplot('[(1/sqrt(2*pi))*exp(-x^2/2),1/(sqrt(2*pi)*2)*exp(-x^2/8),1/(sqrt(2*pi)*4)*exp(-x^2/32)]',[-10,10])
6.画下列函数的图形:
(1)
>>ezmesh('u*sin(t)','u*cos(t)','t/4',[0,20,0,2])
(2)
(第6题只要写出程序).
ezmesh('sin(t)*(3+cos(u))','cos(t)*(3+cos(u))','sin(u)',[0,2*pi,0,2*pi])
第二次练习题
1、设
,数列
是否收敛?
若收敛,其值为多少?
精确到6位有效数字。
>>f=inline('(x+407/x)/2');
symsx;
x0=3;
fori=1:
1:
20
x0=f(x0);
fprintf('%g,%g\n',i,x0);
end
1,69.3333
2,37.6018
3,24.2129
4,20.5111
5,20.177
6,20.1742
7,20.1742
8,20.1742
9,20.1742
10,20.1742
11,20.1742
12,20.1742
13,20.1742
14,20.1742
15,20.1742
16,20.1742
17,20.1742
18,20.1742
19,20.1742
20,20.1742
本次计算运行到第六次结果稳定,可得:
数列
收敛,收敛到20.1742
2、设
是否收敛?
若收敛,其值为多少?
精确到17位有效数字(提示:
当
与
的前17位有效数字一致时终止计算)
注:
学号为单号的取
,学号为双号的取
>>s=0;
fori=1:
1:
200
s=s+1/i^7;
fprintf('%g,%20.17f\n',i,s);
end
1,1.00000000000000000
2,1.00781250000000000
3,1.00826974737082750
4,1.00833078252707750
5,1.00834358252707750
6,1.00834715477216210
7,1.00834836903784100
8,1.00834884587499920
9,1.00834905495015730
10,1.00834915495015730
……………………………
181,1.00834927738191870
182,1.00834927738191890
183,1.00834927738191920
184,1.00834927738191940
185,1.00834927738191960
186,1.00834927738191980
187,1.00834927738192000
188,1.00834927738192030
189,1.00834927738192050
190,1.00834927738192070
191,1.00834927738192070
192,1.00834927738192070
193,1.00834927738192070
194,1.00834927738192070
195,1.00834927738192070
196,1.00834927738192070
197,1.00834927738192070
198,1.00834927738192070
199,1.00834927738192070
200,1.00834927738192070
运行至第190次后稳定,值为1.00834927738192070
练习12对例2,对例2,取
观察图形有什么变化.试着提高迭代次数至26000、28000、100000、500000等观察图形有什么变化.
>>Martin(45,2,-300,5000);
>>Martin(45,2,-300,26000);
>>Martin(45,2,-300,28000);
>>Martin(45,2,-300,100000);
>>Martin(45,2,-300,500000);
练习13取参数
为其他的值会得到什么图形?
参考表4.4.
表4.4Martin迭代参数参考表
-1000
0.1
-10
0.4
1
0
90
30
10
10
-10
100
-200
-4
-80
-137
17
4
10
100
-10
10
100
-10
练习13取参数
为其他的值会得到什么图形?
参考表4.4.
表4.4Martin迭代参数参考表
-1000
0.1
-10
0.4
1
0
90
30
10
10
-10
100
-200
-4
-80
-137
17
4
10
100
-10
>>Martin(-1000,0.1,-10,5000);
>>Martin(-0.4,1,0,5000);
>>Martin(90,30,10,5000);
>>Martin(10,-10,100,5000);
>>Martin(-200,-4,-80,5000);
>>Martin(-137,17,4,5000);
>>Martin(10,100,-10,5000);
练习14 设A,B,C为某三角形的顶点,现作这样的迭代:
计算两个点的中点,这两个点分别是A,B,C中随机取得的一点,与前一步求得的中点(初始点任取).当迭代次数大于10000时,试观察所得的散点图.
输入:
>>f=@(x,y)(x+y)/2;
x1=0;y1=0;x2=4;y2=0;x3=0;y3=4;
xn=x1;yn=y1;
forn=1:
10000
m=ceil(3*rand);
ifm==1;
X=x1;Y=y1;
elseifm==2;
X=x2;Y=y2;
elsem==3;
X=x3;Y=y3;
end;
xN=xn;yN=yn;
xn=f(xN,X);yn=f(yN,Y);
plot(xn,yn,'k*');
holdon;
end;
holdoff
>>
输出:
书上习题:
(实验四)
1,2,4,7
(1),8,12(改为:
对例2,取
观察图形有什么变化.),13,14。
练习1编程判断函数
的迭代序列是否收敛.
>>f=inline('(x-1)/(x+1)');
x0=4;
fori=1:
20
x0=f(x0);
fprintf('%g,%g\n',i,x0);
end
1,0.6
2,-0.25
3,-1.66667
4,4
5,0.6
6,-0.25
7,-1.66667
8,4
9,0.6
10,-0.25
11,-1.66667
12,4
13,0.6
14,-0.25
15,-1.66667
16,4
17,0.6
18,-0.25
19,-1.66667
20,4
由此可以发现迭代数列不一定收敛,迭代中出现循环。
练习2先分别求出分式线性函数
、
的不动点,再编程判断它们的迭代序列是否收敛.
运用上节的收敛定理可以证明:
如果迭代函数在某不动点处具有连续导数且导数值介于-1与1之间,那末取该不动点附近的点为初值所得到的迭代序列一定收敛到该不动点.
(1)解方程
,得到x=-1,是函数f1(x)的不动点。
x=(x-1)/(x+3)
x=-1
f1=inline('(x-1)/(x+3)');x0=-0.5;
fori=1:
2000
x0=f1(x0);
fprintf('%g,%g\n',i,x0);
end
1982,-0.999001
1983,-0.999001
1984,-0.999002
1985,-0.999002
1986,-0.999003
1987,-0.999003
1988,-0.999004
1989,-0.999004
1990,-0.999005
1991,-0.999005
1992,-0.999006
1993,-0.999006
1994,-0.999007
1995,-0.999007
1996,-0.999008
1997,-0.999008
1998,-0.999009
1999,-0.999009
2000,-0.99901
(2)解方程
,得到x=-5和3,是函数f2(x)的不动点。
x=(-x+15)/(x+1)
x=-5,3;
formatlong;
f2=inline('(x-15)/(x+1)');x0=6;
fori=1:
2000
x0=f2(x0);
fprintf('%g,%g\n',i,x0);
end
1980,-17.2814
1981,1.98272
1982,-4.36424
1983,5.75591
1984,-1.3683
1985,44.4431
1986,0.647912
1987,-8.70926
1988,3.07543
1989,-2.92597
1990,9.3075
1991,-0.552267
1992,-34.7356
1993,1.47428
1994,-5.46654
1995,4.58219
1996,-1.86626
1997,19.4703
1998,0.218379
1999,-12.1322
2000,2.43727
由此可见由于迭代序列虽有不动点x=-1,但在此处导数不在-1与1之间,所以迭代数序列不收敛。
练习4能否找到一个分式线性函数
,使它产生的迭代序列收敛到给定的数?
用这种办法近似计算
.
x0=1;stopc=1;eps=10^(-17);a=1;b=2;c=1;d=1;k=0;
f=inline('(a*x+b)/(c*x+d)');
kmax=10;
whilestopc>eps&k k=k+1;x0=f(a,b,c,d,x0); stopc=abs(x0^3-2); fprintf('%i,%g\n',k,x0) end 1,1.5 2,1.4 3,1.41667 4,1.41379 5,1.41429 6,1.4142 7,1.41422 8,1.41421 9,1.41421 10,1.41421 练习7下列函数的迭代是否会产生混沌? (1) = >>f=inline('1-2*abs(x-1/2)'); x=[]; y=[]; x (1)=rand; y (1)=0;x (2)=x (1);y (2)=f(x (1)); fori=1: 10000 x(1+2*i)=y(2*i); x(2+2*i)=x(1+2*i); y(1+2*i)=x(1+2*i); y(2+2*i)=f(x(2+2*i)); end plot(x,y,'r'); holdon; symsx; ezplot(x,[0,1]); ezplot(f(x),[0,10]); axis([0,1,0,1]); holdoff 练习8函数 = (0 1)称为Logistic映射,试从“蜘蛛网”图观察它取初值为 =0.5产生的迭代序列的收敛性,将观察记录填人下表,若出现循环,请指出它的周期. 表4.3Logistic迭代的收敛性 3.3 3.5 3.56 3.568 3.6 3.84 序列收敛情况 不收敛 循环 周期为2 不收敛 循环 周期为4 不收敛 循环 周期为8 混沌 混沌 不收敛 循环 周期为3 >>f=inline('3.3*x*(1-x)'); >>x=[]; >>y=[]; >>x (1)=0.5; >>y (1)=0;x (2)=x (1);y (2)=f(x (1)); >>fori=1: 10000 x(1+2*i)=y(2*i); x(2+2*i)=x(1+2*i); y(1+2*i)=x(1+2*i); y(2+2*i)=f(x(2+2*i)); end >>plot(x,y,'r'); >>holdon; >>symsx; >>ezplot(x,[0,1]); >>f=inline('3.5*x*(1-x)'); >>x=[]; y=[]; x (1)=0.5; y (1)=0;x (2)=x (1);y (2)=f(x (1)); fori=1: 10000 x(1+2*i)=y(2*i); x(2+2*i)=x(1+2*i); y(1+2*i)=x(1+2*i); y(2+2*i)=f(x(2+2*i)); end plot(x,y,'r'); holdon; symsx; ezplot(x,[0,1]); ezplot(f(x),[0,1]); axis([0,1,0,1]); holdoff >>f=inline('3.56*x*(1-x)'); >>x=[]; y=[]; x (1)=0.5; y (1)=0;x (2)=x (1);y (2)=f(x (1)); fori=1: 10000 x(1+2*i)=y(2*i); x(2+2*i)=x(1+2*i); y(1+2*i)=x(1+2*i); y(2+2*i)=f(x(2+2*i)); end plot(x,y,'r'); holdon; symsx; ezplot(x,[0,1]); ezplot(f(x),[0,1]); axis([0,1,0,1]); holdoff >>f=inline('3.568*x*(1-x)'); >>x=[]; y=[]; x (1)=0.5; y (1)=0;x (2)=x (1);y (2)=f(x (1)); fori=1: 10000 x(1+2*i)=y(2*i); x(2+2*i)=x(1+2*i); y(1+2*i)=x(1+2*i); y(2+2*i)=f(x(2+2*i)); end plot(x,y,'r'); holdon; symsx; ezplot(x,[0,1]); ezplot(f(x),[0,1]); axis([0,1,0,1]); holdoff >>f=inline('3.6*x*(1-x)'); >>x=[]; y=[]; x (1)=0.5; y (1)=0;x (2)=x (1);y (2)=f(x (1)); fori=1: 10000 x(1+2*i)=y(2*i); x(2+2*i)=x(1+2*i); y(1+2*i)=x(1+2*i); y(2+2*i)=f(x(2+2*i)); end plot(x,y,'r'); holdon; symsx; ezplot(x,[0,1]); ezplot(f(x),[0,1]); axis([0,1,0,1]); holdoff >>f=inline('3.84*x*(1-x)'); >>x=[]; y=[]; x (1)=0.5; y (1)=0;x (2)=x (1);y (2)=f(x (1)); fori=1: 10000 x(1+2*i)=y(2*i); x(2+2*i)=x(1+2*i); y(1+2*i)=x(1+2*i); y(2+2*i)=f(x(2+2*i)); end plot(x,y,'r'); holdon; symsx; ezplot(x,[0,1]); ezplot(f(x),[0,1]); axis([0,1,0,1]); holdoff 第三次练习题 书上习题: (实验九) 2,3,4,9,10,12,14,16 练习2对 , ,求出 的通项. 输入: >>A=[4,2;1,3]; >>A=sym('[4,2;1,3]'); >>[P,D]=eig(A);inv(P); >>Xn=P*D.^x*inv(P)*[1;2] 输出: Xn= -2^x+2*5^x
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 实验 答案