MATLAB中quad的误差问题

 我来答
辜礼濮婵
2020-02-05 · TA获得超过3.8万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:1160万
展开全部
你这个问题非常好,我测试了一下,发现quad(y,
0,
26.9)=-0.3410要计算1873次函数,而quad(y,
0,
26.89)=0.9222是1997次,quad(y,
0,
26.91)=0.9124是2017次。
不出意外的话quad(y,
0,
26.9)原本应该计算2007次左右才对。在这里出现了程序bug,要深入到quad的源代码中才能排除问题。
另,quad(y,
26.9,
26.89)=0.0038计算了函数13次,数值0.0038,基本正确;quad(y,
26.91,
26.9)=0.0061计算了函数13次,数值0.0061也基本正确。
因此有quad(y,
0,
26.9)=quad(y,
0,
26.89)-quad(y,
26.9,
26.89)=0.9184;或quad(y,
0,
26.9)=quad(y,
0,
26.91)+quad(y,
26.91,
26.9)=0.9185;或者取两个值得平均有quad(y,
0,
26.9)=0.91845。
VSH艾羽
2024-10-27 广告
ANSYS是一款功能强大的有限元分析软件,广泛应用于航空航天、汽车、电子、能源等多个领域。它能够进行结构、流体、热、电磁等多物理场的仿真分析,支持复杂的几何建模、高效的网格划分和多种求解器,帮助工程师优化产品设计,减少开发成本,提高生产效率... 点击进入详情页
本回答由VSH艾羽提供
改增岳霜璧
2020-04-08 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:32%
帮助的人:902万
展开全部
你试一下:
quad(y,
0,
26.9,1e-7)
最后那个加一个精度,可以搞定。
另外你可以用符号进行积分。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式