注意到:C++矩阵的数据是按 行优先 进行存储的
matlab矩阵的数据是按 列优先 进行存储的
在C++中矩阵元素下标常这样来查询:
假设其第 item_id 个 2 维矩阵,该矩阵的 高为:data_height,宽为 data_width.
index = ( item_id*data_height + h ) * data_width + w ;
由matlab生成的矩阵,读入到C++中后,由于该矩阵是按列存储的我个人觉得其下标应如下查询:
假设需要查询该矩阵第h行,第w列的数值,
index = ( w ) * data_height + h ;
若是第 item_id 个 2 维矩阵,则
index = ( item_id * data_width + w ) * data_height + h ;
--- 以上内容为个人观点,仅供参考。
----------------------------------------------
本文探讨了C++与Matlab中矩阵数据存储方式的不同:C++采用行优先存储,而Matlab则采用列优先存储。文章提供了两种语言中矩阵元素下标的计算公式,并举例说明如何正确地在不同环境中读取矩阵数据。
693

被折叠的 条评论
为什么被折叠?



