【问题标题】:Find number of rows/columns in a GSL matrix?查找 GSL 矩阵中的行/列数?
【发布时间】:2015-06-02 16:44:19
【问题描述】:

假设我有一些gsl_matrix * A。我想编写一个检索例如的函数此矩阵中的行数,除了对象 A 本身之外,无法访问任何其他内容。

例子:

int num_rows(gsl_matrix * A){
    //some operation(s) on A that find the number of rows in the matrix
    //store that number in an int r
    return r;
}

我可以写什么来为我做这件事?

【问题讨论】:

    标签: c++ matrix linear-algebra gsl


    【解决方案1】:

    来自https://www.gnu.org/software/gsl/manual/html_node/Matrices.html

    gsl_matrix 定义为:

    typedef struct
    {
      size_t size1;
      size_t size2;
      size_t tda;
      double * data;
      gsl_block * block;
      int owner;
    } gsl_matrix;
    

    行数为 size1。有效行索引的范围从 0 到 size1-1。同样 size2 是列数。有效列索引的范围从 0 到 size2-1。物理行维数 tda 或尾随维数指定了矩阵在内存中布局的行的大小。

    因此,如果您想要A 中的行数,那么您可以使用:

    int num_rows(gsl_matrix * A){
        int r = A->size1;
        return r;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-02
      • 2012-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-23
      相关资源
      最近更新 更多