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