gpt4 book ai didi

c++ - 将 double* 一维矩阵转换为 double** 二维方阵

转载 作者:行者123 更新时间:2023-11-28 06:19:55 26 4
gpt4 key购买 nike

我有一个矩阵的一维表示:类型

double *A1d;

您可以假设此数据结构是malloc'd 并填充了 double 值,并且长度为 MATRIX_SIZE * MATRIX_SIZE

我想将此数据结构转换为 double** 类型的二维方阵,行/列长度为 MATRIX_SIZE

我正在寻找类似的东西:

double** A2D = vector_to_matrix(int sz, double* matrix_1d); 

最佳答案

double** vector_to_matrix(int sz, double* matrix_1d) {
// The output 2d matrix to be returned.
double** matrix_2d = (double**)malloc(sz * sizeof(double*));

// Allocate memory.
for (int i = 0; i < sz; i++)
matrix_2d[i] = (double*)malloc(sz * sizeof(double));

// Copy from 1d matrix.
for (int i = 0; i < sz; i++)
for (int j = 0; j < sz; j++) matrix_2d[i][j] = matrix_id[i * sz + j];

return matrix_2d;
}

关于c++ - 将 double* 一维矩阵转换为 double** 二维方阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29498573/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com