如何将犰狳矩阵转换为向量向量?

kchow462

我创建了如下的犰狳c ++矩阵:

arma::mat A; 
A.zeros(3,4);

我想将其转换为由定义的向量的向量

std::vector< std::vector<double> > B(3, std::vector<double>(4) ); 

如何将B设置为等于A?如果没有简单的矢量向量的方法,那么关于数组的数组呢,也就是说,如果我将B定义为

double B[3][4]; 
塔利克

在这种情况下,您应该使用arma::conv_toarma的一个完全精妙的功能。

请注意,此方法将要求源对象能够将其解释为向量。这就是为什么我们需要为每一行迭代地执行此操作。这是一种转换方法:

#include <armadillo>

typedef std::vector<double> stdvec;
typedef std::vector< std::vector<double> > stdvecvec;

stdvecvec mat_to_std_vec(arma::mat &A) {
    stdvecvec V(A.n_rows);
    for (size_t i = 0; i < A.n_rows; ++i) {
        V[i] = arma::conv_to< stdvec >::from(A.row(i));
    };
    return V;
}

这是一个示例用法:

#include <iomanip>
#include <iostream>

int main(int argc, char **argv) {
    arma::mat A = arma::randu<arma::mat>(5, 5);
    std::cout << A << std::endl;

    stdvecvec V = mat_to_std_vec(A);
    for (size_t i = 0; i < V.size(); ++i) {
        for (size_t j = 0; j < V[i].size(); ++j) {
            std::cout << "   "
                << std::fixed << std::setprecision(4) << V[i][j];
        }
        std::cout << std::endl;
    }
    return 0;
}

std::setprecision 用于生成更具可读性的输出:

0.8402   0.1976   0.4774   0.9162   0.0163
0.3944   0.3352   0.6289   0.6357   0.2429
0.7831   0.7682   0.3648   0.7173   0.1372
0.7984   0.2778   0.5134   0.1416   0.8042
0.9116   0.5540   0.9522   0.6070   0.1567

0.8402   0.1976   0.4774   0.9162   0.0163
0.3944   0.3352   0.6289   0.6357   0.2429
0.7831   0.7682   0.3648   0.7173   0.1372
0.7984   0.2778   0.5134   0.1416   0.8042
0.9116   0.5540   0.9522   0.6070   0.1567

祝你有个好的一天!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将向量转换为矩阵?

来自分类Dev

如何将矩阵转换为向量的向量?

来自分类Dev

如何将R中的矩阵转换为向量

来自分类Dev

C ++犰狳转换/转换为整数类型向量或矩阵

来自分类Dev

如何将向量内容向量转换为单列向量

来自分类Dev

如何将向量转换为函数

来自分类Dev

如何将本征库的矩阵或向量类型转换为字符串?

来自分类Dev

如何将Matlab向量转换为3D矩阵

来自分类Dev

如何将两列“计数”矩阵转换为R中的二进制向量?

来自分类Dev

如何将 Pytroch 张量从数学上的列向量转换为列矩阵?

来自分类Dev

为什么 as.numeric 将矩阵转换为向量,以及如何将结果保留为矩阵?

来自分类Dev

如何通过R中的名称将向量转换为矩阵?

来自分类Dev

将数据从列向量转换为矩阵

来自分类Dev

Julia-将矩阵转换为向量

来自分类Dev

将向量转换为对置换矩阵

来自分类Dev

将输出从矩阵转换为向量

来自分类Dev

将 2 个向量转换为矩阵

来自分类Dev

将向量转换为 MxN 矩阵

来自分类Dev

使用广播Julia将向量的向量转换为矩阵

来自分类Dev

如何将向量转换为R中的列表?

来自分类Dev

如何将方向向量转换为欧拉角?

来自分类Dev

如何将循环转换为向量分配符号

来自分类Dev

如何将char的向量转换为stringstream

来自分类Dev

如何将NA从因子向量转换为0

来自分类Dev

如何将Python列表转换为列向量?

来自分类Dev

如何将像素向量转换为图像的Numpy数组

来自分类Dev

如何将Python列表转换为列向量?

来自分类Dev

如何将wstring转换为字节向量

来自分类Dev

如何将字符串转换为向量