为什么matlab和python对同一个数学问题给出不同的答案?

2024-09-28 19:00:42 发布

您现在位置:Python中文网/ 问答频道 /正文

在python中,我有一个等式:

coef = 3*dyalo /(dxalo*dxalo) - (2*ya1lo+ya1hi)/dxalo

其中,dyalo、dxalo、ya1lo、ya1hi都是变量

在matlab中,我有一个与之相同的方程式

coef = 3.d0*dyalo/(dxalo*dxalo) - (2.d0*ya1lo+ya1hi)/dxalo;

使用相同的变量名。 在调用每个变量之前,我已经打印了它们,但是在两个程序中被赋值之后,每个变量在两个程序中都有相同的值

我的代码给出了python的答案,大约大3倍

编辑:matlab代码给出了正确的答案,只是想知道为什么python不匹配

变量值为dyalo:-7.2e-4,dxalo:0.0062,ya1lo:-.1165,ya1hi:-.1165 matlab输出为.002,python输出为5.99e-3

复制自matlab代码:

disp(dyalo); disp(dxalo); disp(ya1lo); disp(ya1hi);
coef(3,i)= (3.d0*dyalo/(dxalo*dxalo) - (2.d0*ya1lo+ya1hi)/dxalo);
disp(coef(3,1))

从matlab命令窗口复制:

-7.2189e-04

    0.0062

   -0.1165

   -0.1165

    0.0020

Tags: 答案代码程序编辑赋值d0matlab方程式
1条回答
网友
1楼 · 发布于 2024-09-28 19:00:42

我不确定这是否是问题所在,但我在您的matlab代码中看到,您的方程中的两个项都有一个.d0。我个人并不熟悉这种语法,但这就是为什么Matlab会给出不同答案的原因吗?编辑:这不是问题所在。也许python正在运行数值近似方法

相关问题 更多 >