c ++ 1D波函数输出不良(有限差分)

时间:2016-03-18 21:14:32

标签: c++ c++11

我对C和C ++编程有些新意,我已经在R中实现了这一点,我现在正试图用C ++编写它。

我使用std::vector<double>std::vector<std::vector<double>>并按值传递,因为它只需要一次传递一行来填充std::vector<std::vector<double>> u(t.size(),vector<double>(n)),其大小基于h,{ {1}}和总运行时间。

我遇到的问题是当波穿过轴时输出数据似乎出错了。我无法从逻辑上弄清楚这有什么问题,但我可能错过了一些东西,我认为我更有可能误用k或者有一些我不认识的数据类型冲突。

也许别人可以看到我不能做的事,这是我的代码:

std::vector

我的R脚本功能齐全,我使用的代码大多相同(除非索引已更改)。主要的区别在于,矢量和2D数组(如你所知)在C ++中稍微复杂一些。

在我完成此操作后,我将尝试使用OpenMP进行操作,但那可能是另一天的另一个问题。

1 个答案:

答案 0 :(得分:0)

所以,事实证明这个bug是..............我在最初的电话中向后发送了h和k给求解器,当我打印出大小的时候,我发现了这个时间向量,它是1200而不是2400.结束保持原始索引,因为这不是问题。如上所述,我添加了一些评论:

 " LINE " 42 ":"