说我有一些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;
}
我可以写些什么来为我做这件事?
答案 0 :(得分:3)
来自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;
}