- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[SS03数值积分法仿真
数值积分的基本性能 数值积分算法的性能包含: 定性特征:稳定性 时间粒度:计算速度 空间粒度:计算精度 不同的数值积分方法的具有不同的稳定性。 同一个模型采用不同的积分算法和不同的积分步长h,稳定性不同。 计算速度和计算精度 各种数值积分方法的差分方程是对原微分方程的近似逼近,并且因为计算机的字长有限,存在明显的截断误差。 这些误差都和计算步距h密切相关,所以计算步距是影响计算精度、速度和稳定性的重要因素。 h取得较大,计算时间少,截断误差大; h取得较小,截断误差就会减小,但在给定时间范围内,计算次数必然增加,使误差积累增加。 截断误差、累计舍入误差与步长h 截断误差、累计舍入误差与步长h关系如图。 3.1 预报公式 3.2 校正公式 3.3 Adams公式 根据前面的分析,我们可以将预报和校正公式统一写成: 显式Adams系数 隐式Adams系数 3.4 多步法的特点 与单步法相比,相同精度下,使用过去多步信息,计算量小。 隐式法的精度高,稳定性好,但在计算y(n+k)时需要用到f[y(n+k),t(n+k)],只能采用迭代法计算。 缺点之一是不能自启动,需用单步法计算初始值才能启动计算。 4.2 一般算法的稳定性分析 根据上例可得数值积分方法稳定域的一般方法。 设系统测试方程为: 而数值积分公式为: 只有当 时,算法稳定。 各种数值积分算法的稳定域参见书P96图3.9 主要算法的稳定性 一阶、二阶Admas法为恒稳算法,其他算法条件稳定。 除恒稳法外,其他算法的步长h必须限制在最小时间的数量级 对龙格-库塔法,阶次k增大,稳定域略微增大。 对Admas法,阶次k增大,稳定域反而缩小。 第五节 Matlab实现 ODE (Ordinary Differentaial equation)解法 模型描述 算法描述 算法仿真 微分方程模型描述 Lorenz曲线 数值积分算法描述 matlab中的数值积分算法函数的格式如下: function [tout,yout] =solver(ModelName,tspan,x0,option) 数值积分算法描述 %一阶Euler算法,filename:svEuler function [tout,yout] =svEuler(odeFcn,tspan,y0) t0=tspan(1);t1=tspan(2); if length(tspan)3, h=(t1-t0)/1000; else h=tspan(3); tout = [t0:h:t1]; N =length(y0); M =length(tout)-1; tout = [t0:h:t1]; yout=[y0;zeros(M,N)]; for i=1:M k1 = h*feval(odeFcn,tout(i),y0); y0=y0+k1; yout(i+1,:)=y0; end end 数值积分算法描述 function [tout,yout] =svRungeKutta4(odeFcn,tspan,y0) t0=tspan(1);t1=tspan(2); if length(tspan)3, h=(t1-t0)/1000; else h=tspan(3); tout = [t0:h:t1]; N =length(y0); M =length(tout)-1; tout = [t0:h:t1]; yout=[y0;zeros(M,N)]; for i=1:M k1 = h*feval(odeFcn,tout(i), y0); k2 = h*feval(odeFcn,tout(i)+h/2, y0+0.5*k1); k3 = h*feval(odeFcn,tout(i)+h/2,y0+0.5*k2); k4 = h*feval(odeFcn,tout(i)+h, y0+k3); y0=y0+(k1+2*k2+2*k3+k4)/6; yout(i+1,:)=y0; end end 微分方程模型描述 在Matlab文件中调用方法为: [t,y]=svEuler(@eqLorenz,[0,100],x0); ode45 ODE45 Solve non-stiff differential equations, medium order method. [TOUT,YOUT] = ODE45(ODEFUN,TSPAN,Y0) with TSPAN = [T0 TFINAL] integrates the system of di
您可能关注的文档
最近下载
- 城市道路交通事故地点文字表述方法研究.pdf VIP
- 新能源转换与控制技术风力发电(本科)樊.ppt
- 七年级英语上册期末专题训练(任务型阅读,首字母填空,完形填空)(有答案).pdf VIP
- 学术规范与论文写作(雨课堂)研究生 全部答案.doc VIP
- 2025年耐火材料行业分析.docx VIP
- 技术咨询合同简洁版模板5篇.docx VIP
- 2025-2026学年山东省青岛市八年级上学期期中模拟英语试题(含解析).docx VIP
- 日置 BT3564电池测试仪使用说明书.pdf VIP
- 上海三菱LEHY(C)电梯安装调试培训资料.ppt VIP
- 人教版(2025)高二生物选择性必修1稳态与调节期中达标测试卷A卷(含答案解析).pdf VIP
原创力文档


文档评论(0)