- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学实验7-非线性方程与混沌课件
1960年,美国麻省理工学院教授洛伦兹研究“长期天气预报”问题时,在计算机上用一组简化模型模拟天气的演变。他原本的意图是利用计算机的高速运算来提高技期天气预报的准确性。但是,事与愿违,多次计算表明,初始条件的极微小差异,均会导致计算结果的很大不同。 由于气候变化是十分复杂的,所以在预测天气时,输入的初始条件不可能包含所有的影响因素(通常的简化方法是忽略次要因素,保留主要因素),而那些被忽略的次要因素却可能对预报结果产生重大影响,导致错误的结论。由此,洛伦兹认定,尽管拥有高速计算机和精确的测量数据(温度、风速、气压等),也难以获得准确的长期天气预报。 3蝴蝶效应 1979年12月,洛伦兹在华盛顿的美国科学促进会的一次讲演中提出:一只蝴蝶在巴西扇动翅膀,有可能会在美国的德克萨斯引起一场龙卷风。他的演讲和结论给人们留下了极其深刻的印象。从此以后,所谓“蝴蝶效应”之说就不胫而走,名声远扬了。 从科学的角度来看,“蝴蝶效应”反映了混沌运动的一个重要特征:系统的长期行为对初始条件的敏感依赖性。 经典动力学的传统观点认为:系统的长期行为对初始条件是不敏感的,即初始条件的微小变化对未来状态所造成的差别也是很微小的。可混沌理论向传统观点提出了挑战。混沌理论认为在混沌系统中,初始条件的十分微小的变化经过不断放大,对其未来状态会造成极其巨大的差别。 一则西方寓言: 丢失一个钉子,坏了一只蹄铁; 坏了一只蹄铁,折了一匹战马; 折了一匹战马,伤了一位骑士; 输了一场战斗,亡了一个帝国。 伤了一位骑士,输了一场战斗; 马蹄铁上一个钉子是否会丢失,本是初始条件的十分微小的变化,但其“长期”效应却是一个帝国存与亡的根本差别。 这就是军事和政治领域中的所谓“蝴蝶效应”。 本次实验作业 2.x(n+1)=cot(x(n)),取初值x(0)分别为1、1.00001、1.0001 ,观察研究数列的变化趋势. 3.实验11练习4任选一题 4.实验11练习5任选一题 1. 方程组 当固定参数b=2,c=4时,试讨论随参数a由小到大变化(如a∈(0,0.65))时方程解的变化情况,并且画出空间曲线图形,观察空间曲线是否形成混沌状。 * * * * * * * * * * * * * * * * * 1. 方程求根的Matlab指令 2. “二分法” 3. “牛顿切线法” 4. 一般迭代法 5. 分叉与混沌 非线性方程求解 方程近似根的求法 实验问题: 分析:该问题可以转化为下列方程求根. 开普勒方程 近似解. f=inline(x-0.5*sin(x)-1); c=fzero(f,[0,2]) 方法1----利用MATLAB指令 输出:c = 1.4987 显然该方程为一元非线性方程,没有现成的求解公式. c=fzero(f,[a,b]) 求f在区间[a,b]的零点 c=fzero(f,x0) 求f在x0附近的零点 方法2-- “二分法” f=inline(x-0.5*sin(x)-1); fplot(f,[0,2]); grid 首先画图,观察出解的范围 然后利用二分法求解 二分法简介 分析: 条件: 得到第n个区间 终止条件: clear; f=inline(x-0.5*sin(x)-1); a=0;b=1; r=1.0e-5; N=log((b-a)/r)/log(2); k=0; while n =fix(N)+1 k=k+1;c=(a+b)/2; if abs(f(c))==0 break; elseif f(c)*f(b)0 a=c; else b=c; end fprintf(k=%d, x=%.5f\n,k,c); end 程序: 方法3----迭代法 (1)牛顿切线迭代法 分析: 条件: 关于牛顿切线法有下面收敛性定理 定理 clear; f=inline( x-0.5*sin(x)-1); df=inline(1-0.5*cos(x)); d2f=inline(0.5*sin(x)); a=1;b=2;dlt=1.0e-5; if f(a)*d2f(a)0 x0=a; else x0=b; end m=min(abs(df(a)),abs(df(b))); k=0; while abs(f(x0))m*dlt k=k+1; x1=x0-f(x0)/df(x0); x0=x1; fprintf(k=%d x=%.5f\n,k,x0); end 程序: (2) 一般迭代法 ——迭代格式 ——迭代序列 ——迭代初值
文档评论(0)