C ++和ode系统:如何处理? [关闭]

问题描述 投票:0回答:1

我想编写一个类,用C ++中的Euler方法解决ODE的系统(我是初学者)。如果方程式是标量的,那没有问题,因为我可以将解存储在vector中,也可以使用double* sol = new double[N_points]

明确地分配一个数组

如果我必须处理矩阵,事情开始变得怪异,所以我的问题是:**我是否应该将某些库用作Eigen?还是我应该与指针斗争?

我正在寻找一些好的方法/参考,以确保哪种是处理这种情况的正确/最佳方法。

c++ arrays eigen numeric
1个回答
2
投票

如果要使用矩阵,则可以使用数组数组来完成,或者使用具有一维数组(或向量)的简化抽象层来存储矩阵数据,例如:

std::vector<double> matrix(row * columns);

要访问项目,您可以使用简单的算术,例如:

int index = rowIndex * totalColumns + columnIndex;
double item = matrix[index];

您可以查看我的DoubleMatrix库(不使用它,只需检出),以获取此实现的示例。

© www.soinside.com 2019 - 2024. All rights reserved.