1、数学实验答案第二次练习题1、 设,数列是否收敛?若收敛,其值为多少?精确到6位有效数字。 f=inline(x+7/x)/2);syms x;x0=3;for i=1:1:20x0=f(x0);fprintf(%g,%gn,i,x0);end1,2.666672,2.645833,2.645754,2.645755,2.645756,2.645757,2.645758,2.645759,2.6457510,2.6457511,2.6457512,2.6457513,2.6457514,2.6457515,2.6457516,2.6457517,2.6457518,2.6457519,2.645
2、7520,2.64575本次计算运行到第三次结果稳定,可得: 数列收敛,收敛到2.645752、 设是否收敛?若收敛,其值为多少?精确到17位有效数字。学号为单号,取 s=0;for i=1:1:200s=s+1/i7;fprintf(%g,%20.17fn,i,s);end1, 1.000000000000000002, 1.007812500000000003, 1.008269747370827504, 1.008330782527077505, 1.008343582527077506, 1.008347154772162107, 1.008348369037841008, 1.008
3、348845874999209, 1.0083490549501573010, 1.00834915495015730181, 1.00834927738191870182, 1.00834927738191890183, 1.00834927738191920184, 1.00834927738191940185, 1.00834927738191960186, 1.00834927738191980187, 1.00834927738192000188, 1.00834927738192030189, 1.00834927738192050190, 1.008349277381920701
4、91, 1.00834927738192070192, 1.00834927738192070193, 1.00834927738192070194, 1.00834927738192070195, 1.00834927738192070196, 1.00834927738192070197, 1.00834927738192070198, 1.00834927738192070199, 1.00834927738192070200, 1.00834927738192070运行至第190次后稳定,值为1.00834927738192070书上习题:(实验四)1,2,4,7(1),8,12(改为
5、:对例2,取观察图形有什么变化),13,14 。练习1 编程判断函数的迭代序列是否收敛 f=inline(x-1)/(x+1);x0=4; for i=1:20 x0=f(x0); fprintf(%g,%gn,i,x0);end1,0.62,-0.253,-1.666674,45,0.66,-0.257,-1.666678,49,0.610,-0.2511,-1.6666712,413,0.614,-0.2515,-1.6666716,417,0.618,-0.2519,-1.6666720,4由此可以发现迭代数列不一定收敛,迭代中出现循环。练习2 先分别求出分式线性函数、的不动点,再编程判
6、断它们的迭代序列是否收敛运用上节的收敛定理可以证明:如果迭代函数在某不动点处具有连续导数且导数值介于-1与1之间,那末取该不动点附近的点为初值所得到的迭代序列一定收敛到该不动点(1)解方程,得到x=1,是函数f1(x)的不动点。x=(x-1)/(x+3)x =-1f1=inline(x-1)/(x+3); x0=-0.5;for i=1:2000 x0=f1(x0); fprintf(%g,%gn,i,x0);end1982,-0.9990011983,-0.9990011984,-0.9990021985,-0.9990021986,-0.9990031987,-0.9990031988,-
7、0.9990041989,-0.9990041990,-0.9990051991,-0.9990051992,-0.9990061993,-0.9990061994,-0.9990071995,-0.9990071996,-0.9990081997,-0.9990081998,-0.9990091999,-0.9990092000,-0.99901 (2)解方程,得到x=5和3,是函数f2(x)的不动点。x=(-x+15)/(x+1)x=-5,3;format long;f2=inline(x-15)/(x+1); x0=6;for i=1:20 x0=f2(x0); fprintf(%g,%
8、gn,i,x0);end1980,-17.28141981,1.982721982,-4.364241983,5.755911984,-1.36831985,44.44311986,0.6479121987,-8.709261988,3.075431989,-2.925971990,9.30751991,-0.5522671992,-34.73561993,1.474281994,-5.466541995,4.582191996,-1.866261997,19.47031998,0.2183791999,-12.13222000,2.43727由此可见由于迭代序列虽有不动点x=-1,但在此处导
9、数不在-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;while stopceps&k 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);for i=1:10000x(1+2*i)=y(2*i);x(2+2*i)=x(1+2*i);y(1+2*i)=x(1+2*i);y(2+
10、2*i)=f(x(2+2*i);endplot(x,y,r);hold on;syms x;ezplot(x,0,1);ezplot(f(x),0,10);axis(0,1,0,1);hold off练习8 函数=(01)称为Logistic映射,试从“蜘蛛网”图观察它取初值为= 0.5产生的迭代序列的收敛性,将观察记录填人下表,若出现循环,请指出它的周期表4.3 Logistic迭代的收敛性3.33.53.563.5683.63.84序列收敛情况不收敛循环周期为2不收敛循环周期为4不收敛循环周期为8混沌混沌不收敛循环周期为3 f=inline(3.3*x*(1-x); x=; y=; x(1
11、)=0.5; y(1)=0;x(2)=x(1);y(2)=f(x(1); for i=1:10000x(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); hold on; syms x; 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);for i=1:10000x(1+2*i)=y(2*i);x(2+2*i)=x(1+2*i);y(1+2*i)=x(1+2*i
12、);y(2+2*i)=f(x(2+2*i);endplot(x,y,r);hold on;syms x;ezplot(x,0,1);ezplot(f(x),0,1);axis(0,1,0,1);hold off 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);for i=1:10000x(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);endplot(x,y,r);hold on;syms x;ezplot(x,0,1
13、);ezplot(f(x),0,1);axis(0,1,0,1);hold off 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);for i=1:10000x(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);endplot(x,y,r);hold on;syms x;ezplot(x,0,1);ezplot(f(x),0,1);axis(0,1,0,1);hold off f=inline(3.6*x*(1-x);
14、 x=;y=;x(1)=0.5;y(1)=0;x(2)=x(1);y(2)=f(x(1);for i=1:10000x(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);endplot(x,y,r);hold on;syms x;ezplot(x,0,1);ezplot(f(x),0,1);axis(0,1,0,1);hold off 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);for i=1:10000x(1+2*
15、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);endplot(x,y,r);hold on;syms x;ezplot(x,0,1);ezplot(f(x),0,1);axis(0,1,0,1);hold off练习12 对例2,对例2,取观察图形有什么变化试着提高迭代次数至26 000、28 000、100 000、500 000等观察图形有什么变化练习13 取参数为其他的值会得到什么图形?参考表4.4.表4.4 Martin迭代参数参考表-10000.1-100.41090301010-10100-200
16、-4-80-13717410100-1010100-10练习12 对例2,试着提高迭代次数至26 000、28 000、100 000、500 000等观察图形有什么变化 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.4 Martin迭代参数参考表-10000.1-100.41090301010-10100-200-4-80-137
17、17410100-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;for n=1:10000 m=ceil(3*rand); if m=1; X=x1;Y=y1; elseif m=2; X=x2;Y=y2; else m=3; X=x3;Y=y3; end; xN=xn;yN=yn; xn=f(xN,X);yn=f(yN,Y); plot(xn,yn,k*); hold on;end;hold off输出:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1