c++ - 为下/上三角矩阵动态分配内存并使其成为 C/C++ 中的一维数组
问题描述
我正在做一个项目,需要我创建 15 个尺寸为 100000*100000 的双数组。它们都是下三角矩阵。因此,仅针对 1 个这样的数组就出现内存不足并给出错误也就不足为奇了terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
我应该如何删除这些矩阵中的零并像这样对它们进行编码
#define WIDTH 100000
#define HEIGHT 100000
int jimmy [HEIGHT * WIDTH];
int n,m;
int main ()
{
for (n=0; n<HEIGHT; n++)
for (m=0; m<WIDTH; m++)
{
jimmy[n*WIDTH+m]=(n+1)*(m+1);
}
}
这是我正在处理的代码片段。我使用了以下未显示的矩阵。它们都是下三角形。我不需要一次全部。
double T = 0.3; // final time.
double iN = 100; // samples(I want it 100000)
double h = T/N; // step-size
double a_i11[iN][iN],a_i12[iN][iN],a_i13[iN][iN];
double a_i21[iN][iN],a_i22[iN][iN],a_i23[iN][iN];
double a_i31[iN][iN],a_i32[iN][iN],a_i33[iN][iN];
double a_f[iN][iN];
double b_i12[iN][iN],b_i13[iN][iN];
double b_i22[iN][iN],b_i23[iN][iN];
double b_p[iN][iN];
这个答案显示了存储下三角矩阵的最佳有效方法。谁能告诉我结合这两种方法的最有效方法?我的最后一个目标是将此 C++ 代码转换为 CUDA 代码。
解决方案
推荐阅读
- mysql - Laravel 上的数据库过滤器问题
- r - 在 R 中,从数千个外部文件中尽可能高效和快速地计算数据帧
- node.js - 安装 Angular CLI 时出错 - 从未调用 cb()
- c - C 内存泄漏问题(realloc 函数)
- python - 如何从 url 中提取附加的凭据?
- reactjs - 如何删除现有的
组件来自 - firebase - 如何根据 Flutter 中 FutureBuilder 中另一个 firebase 查询的值从 firebase 查询中获取数据?
- pine-script - Pine Script 使用以前的 RSI 交叉点作为新交叉点的参考
- c - 使用 AVX2 查找元素索引 - 代码优化
- c# - 如何在 C# GUI 中搜索 Excel 工作表?