C++与matlab存储方式的不同

来源:互联网 发布:qt淘宝兼职刷单流程 编辑:程序博客网 时间:2024/05/16 19:40

注意到: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 ;


--- 以上内容为个人观点,仅供参考。

----------------------------------------------