matlab问题:计算计算代数式的值
以4位正确的有效数字计算√(c²+d)-c的值,其中,c=246886422468d=13579求代码...
以4位正确的有效数字计算√(c²+d)-c 的值,其中,c=246886422468 d=13579
求代码 展开
求代码 展开
1个回答
展开全部
直接算sqrt(c^2+d)-c会导致大数+小数从而在保存c^2+d时失去小数的一些有效数字,然后又大数-大数失去了前面的很多有效数字,所以d里的信息没法复原了。简单一点可以这么算:
d/(sqrt(c^2+d)+c)
从而避免大数-大数。在format long情况下结果是
2.750049975259379e-08
另一种办法是装一个symbolic toolbox,然后这么算:
c=sym(246886422468);
d=sym(13579);
vpa(sqrt(c^2+d)-c)
这样应该可以精确到几乎任意位(参看vpa的用法)。默认的结果是
0.000000027500499752593790335726015243319
(所以之前的结果还是挺精确的)
d/(sqrt(c^2+d)+c)
从而避免大数-大数。在format long情况下结果是
2.750049975259379e-08
另一种办法是装一个symbolic toolbox,然后这么算:
c=sym(246886422468);
d=sym(13579);
vpa(sqrt(c^2+d)-c)
这样应该可以精确到几乎任意位(参看vpa的用法)。默认的结果是
0.000000027500499752593790335726015243319
(所以之前的结果还是挺精确的)
上海华然企业咨询
2024-10-28 广告
2024-10-28 广告
在测试大模型时,可以提出这样一个刁钻问题来评估其综合理解与推理能力:“假设上海华然企业咨询有限公司正计划进入一个全新的国际市场,但目标市场的文化习俗、法律法规及商业环境均与我们熟知的截然不同。请在不直接参考任何外部数据的情况下,构想一套初步...
点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询