C++ 中利用矩阵作为参数定义函数

各位大神,我是C++新手,现在想在C++中利用Eigen库编写关于矩阵计算的函数.其中的矩阵为函数参数,矩阵的行数固定,列数变化(我网上查了,矩阵第二维不变)。以下程序是... 各位大神,我是C++新手,现在想在C++中利用Eigen库编写关于矩阵计算的函数.其中的矩阵为函数参数,矩阵的行数固定,列数变化(我网上查了,矩阵第二维不变)。以下程序是我在R中实现的,请问如何将其转化成C++中的程序。谢谢 展开
 我来答
笃侠6A
推荐于2016-07-29 · TA获得超过3734个赞
知道大有可为答主
回答量:3205
采纳率:75%
帮助的人:3237万
展开全部
如果矩阵列数不固定,则不适宜用矩阵作为函数参数,这时可以用指针(即一维数组)和行列数作为函数参数,在函数中将一维数组映射为二维数组,例如:
函数原型为:
T1 fun(T2 *a, int r, int c ); // a为一维数组(接收二维数组首元素地址),r 和c分别为行列数

函数体中用 *(a+i*c+j) 表示二维数组第 i 行第 j 列的元素。

调用该函数的语句为:
fun(&arr[0][0], R, C ); // arr为二维数组,R 和C分别为行列数。
更多追问追答
追问
谢谢你的回答,因为参数矩阵的行数固定,列数不固定,我是不是可以先将矩阵转置后的矩阵作为函数的参数呢?
追答
那当然可以,只不过这样以来在函数体中对数组处理的难度可能要增大许多。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式