首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Matlab -差分逼近中的误差

Matlab -差分逼近中的误差
EN

Stack Overflow用户
提问于 2011-09-08 22:57:01
回答 1查看 1.3K关注 0票数 0

我们要研究前向差分和中心差分在差分近似中的误差,列出h=[1.E-3 1.E-4 1.E-5 1.E-6 1.E-7 1.E-8 1.E-9 1.E-10 1.E-11 1.E-12 1.E-13]的误差,并绘制对数图。关于如何做到这一点,有什么建议吗?这就是我们的中心和前进的区别。

代码语言:javascript
运行
复制
centdiff=(subs(f, x+h))/(2*h) - (subs(f, x-h))/(2*h)
framdiff=(subs(f, x+h) - f)/h

和我们的函数:

代码语言:javascript
运行
复制
f=60*x-(x.^2+x+0.1).^6./(x+1).^6-10*x.*exp(-x);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-09 00:46:08

近似中的误差是使用它得到的结果与分析结果之间的差异。幸运的是,您有一个很好的函数f,它可以很容易地(好吧,有点)区分开来。在找到导数并创建相应的Matlab函数后,您只需将分析结果与近似结果进行比较。最简单的方法可能是在不同的h上使用for循环。

所以,这个想法是这样的(没有经过测试,只是给你一个想法):

代码语言:javascript
运行
复制
cent_error = zeros(size(h));
forw_error = zeros(size(h));
for idx = 1:size(h)
    cent_error(idx) = abs(analytical_diff - centdiff(f, h));
    forw_error(idx) = abs(analytical_diff - forwdiff(f, h));
end

loglog(...)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7350110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档