IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]Matlab中数据的存储方式

    bendanban发表于 2016-03-30 11:28:19
    love 0

    简介

    MATLAB提供了丰富的算法以及一个易于操作的语言,给算法研发工作者提供了很多便利。然而MATLAB在执行某些任务的时候,执行效率偏低,测试较大任务量时可能会引起较长时间的等待。未解决这个问题,MATLAB提供了与C语言联用的功能,而C语言的执行效率相对较高,因此联合使用MATLAB和C可以兼顾开发测试程序的速度和程序的执行效率。要联合使用它们,有必要知道MATLAB中数据的存储方式,这就是本文索要介绍的内容。


    MATLAB的数据组织方式

    MATLAB中所有数组都以行优先存储数据,例如一个2x2的矩阵,在内存中的数据存储顺序是:(行1,列1),(行2,列1),(行1,列2),(行1,列2)。如果是三维数组,例如2x2x2的一个三维数组,其数据存储顺序为:(行1,列1,层1),(行2,列1,层1),(行1,列2,层1),(行1,列2,层1);(行1,列1,层2),(行2,列1,层2),(行1,列2,层2),(行1,列2,层2);(行1,列1,层3),(行2,列1,层3),(行1,列2,层3),(行1,列2,层3)。

    这种存储方式可以用下面的图说明:
    这里写图片描述

    上图中,不同的颜色代表不同层。每个方块代表一个数据单元。内存地址从左到右,从上到下依次增大。


    总结

    MATLAB中数据的组织形式与C只相差一个行列互换!只要注意这一点,就可以在MATLAB中熟练使用MATLAB的多维数据了。



沪ICP备19023445号-2号
友情链接