我已经解决了 1d 冲击管问题。(欧拉方程)。使用以下步骤:
1) 在域上定义黎曼问题
2) 执行局部线性化
3) 基于线性化,写出特征值和特征向量
4) 使用逆风,即找出数值通量并使用更新方程
当我在 Matlab 中实施上述策略时,它运行良好。但是“相同”的问题是在 python 中编码时,它显示左右状态的某些值存在问题。当将左右状态更改为一些新参数时,它工作正常并得到了预期的结果。
为什么会发生这种情况?
这是python的问题,还是python和matlab的“思考”策略不同?
我使用 numpy 来定义数组和矩阵。我使用 numpy.linalg.solve() 函数来查找特征变量的向量,从而找到通量差异的向量。我使用 pylab.plot(X,Y) 进行绘图。
(我交叉检查了几次程序。我想它没有问题。它运行良好......只是给出的图表对于左右状态的某些值不正确)

