matlab 数学实验 迭代 _ 蛛网图(免积分)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学实验—实验报告(免积分)
一、实验项目:Matlab实验三—迭代
二、实验目的和要求
a.熟悉MATLAB软件的用户环境,掌握其一般目的命令和MATLAB数组操作与
运算函数;
b.掌握MATLAB软件的绘图命令,能够熟练应用循环和选择结构实现各种循环
选择功能;
c.借助MATLAB软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜
想,发现进而证实其中的规律。
三、实验内容
问题一:将方程53
x x x
+-+=改写成各种等价的形式进行迭代
5210
观察迭代是否收敛,并给出解释。
问题二:迭代以下函数,分析其收敛性。
4
f(x)=x-a
使用线性连接图、蛛网图或费根鲍姆图对参数a进行讨论和观察,会得到什么结论?
问题一:
(1)画图
x1=-6:0.01:6;
x2=-3:0.01:3;
x3=-1:0.01:1;
x4=-0.8:0.01:-0.75;
y1=x1.^5 +5*x1.^3-2*x1+1;
y2=x2.^5 +5*x2.^3-2*x2+1;
y3=x3.^5 +5*x3.^3-2*x3+1;
y4=x4.^5 +5*x4.^3-2*x4+1;
subplot(2,2,1),plot(x1,y1)
,title('图(1)') ,grid on,
subplot(2,2,2),plot(x2,y2)
,title('图(2)'),grid on,
subplot(2,2,3),plot(x3,y3)
,title('图(3)'),grid on,
subplot(2,2,4),plot(x4,y4)
,title('图(4)') ,grid on,
-10
-5
05
10
-1-0.5
00.51x 10
4
图 (1)
-4
-2
024
-400
-200
0200
400图 (2)
-1
-0.500.51
-50
5图 (3)
-0.8
-0.78-0.76-0.74-0.72
图 (4)
有图可知x 的初值在(-0.78,0.76)之间 (2)构造迭代函数
()x f x =
53
51
2
x x x ++=
1()x f x =
2
2
21
5x x x x
-+-=
2()x f x =
2
4
521
x x x x
-+-=
3()x f x =
(3)迭代 设定初值
x =-
函数1()n n x f x -= 用MA TLAB 编程:
x(1)=-0.77;y(1)=-0.77;z(1)=-0.77; for i=2:20
x(i)=(x(i-1)^5+5*x(i-1)^3+1)/2;
y(i)=(-y(i-1)^5+2*y(i-1)-1)/(5*y(i-1)^2); z(i)=(-5*z(i-1)^3+2*z(i-1)-1)/(z(i-1)^4); end
n=1:20
subplot(221), plot(n,x), title('f(1)'); subplot(222), plot(n,y), title('f(2)'); subplot(223), plot(n,z), title('f(3)'); 结果显示:
5
1015
20
-6
-4
-2
0x 10
249
f(1)
5
10
15
20
00.5
1
1.5
62
f(2)
5
10
15
20
-4-20
24f(3)
如图显示,显然不收敛。
(4)利用加速迭代收敛法变形后: 5
3
4
2
41012515x x x x x
--+=
-- 1()x f x =
6
23
5
2435322x x x x x x x --=
++- 2()x f x =
2
5
3
28561
x x
x x x x -+=
++- 3()x f x =
再次迭代: 设定初值
x =-
函数1()n n x f x -= 用MA TLAB 编程:
x(1)=-0.77;y(1)=-0.77;z(1)=-0.77;
for i=2:30
x(i)=(-4*x(i-1)^5-10*x(i-1)^3+1)/(2-5*x(i-1)^4-15*x(i-1)^2);
y(i)=(2*y(i-1)^6+4*y(i-1)^2-3*y(i-1))/(5*y(i-1)^3+3*y(i-1)^5+2*y(i-1)-2); z(i)=(8*z(i-1)^2-2*z(i-1))/(z(i-1)^5+5*z(i-1)^3+6*z(i-1)-1); end n=1:30
subplot(221), plot(n,x), title('f(1)'); subplot(222), plot(n,y), title('f(2)'); subplot(223), plot(n,z), title('f(3)'); 结果显示:
010
2030
-0.77
-0.769-0.768
-0.767f(1)
0102030
-0.77
-0.769
-0.768
-0.767f(2)
0102030
-0.77
-0.769
-0.768
-0.767f(3)
如图显示,收敛。
问题二:
(1)用matlab 编程: x1=[ ]; a=1; x=-6:0.01:6;
y=x.^4-a;
subplot(221), plot(x,y); hold on %画二次函数曲线 ezplot('x',[-6,6]) %画直线 x1(1)=1; %初始点 for i=2:50
x1(i)=x1(i-1)^4-a;
plot([x1(i-1),x1(i-1)],[x1(i-1),x1(i)]),grid on; plot([x1(i-1),x1(i)],[x1(i),x1(i)]), grid on; end x1=[ ]; a=2; x=-6:0.01:6;