matlab 计算的误差
A(2)=(A(1)*p(1)*cosh(p(1)*(x(2)-x(1)))+B(1)*p(1)*sinh(p(1)*(x(2)-x(1))))/p(2);
B(2)=A(1)*sinh(p(1)*(x(2)-x(1)))+B(1)*cosh(p(1)*(x(2)-x(1)));
test=A(2)+B(2)
这是我的算式 由于有指数函数 所以matlab算出来的test误差都跟实际的答案有点大
如cosh(50)=2592352764293536022528.
exp(50)/2=2592352764293536022528.
它直接把cosh中的exp(-50)忽略了
如何不被忽略?
matlab 计算的误差
答案:1 悬赏:50 手机版
解决时间 2021-08-18 18:40
- 提问者网友:你挡着我发光了
- 2021-08-18 15:36
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-08-18 17:13
不是忽略,是运算精度就这么多,达不到再高要求了.
exp(50)/2 是21次方数,exp(-50)2是负22次方数,加一起,小数点左边要22+位,右边23+位,做不到的.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯