【问题标题】:How did Matlab implement efficient sub-indexing?Matlab是如何实现高效的子索引的?
【发布时间】:2014-05-29 13:29:24
【问题描述】:

这是一个例子:

A(I) = D

I 是二进制过滤器或索引列表时

【问题讨论】:

    标签: matlab vectorization simd


    【解决方案1】:

    来自matlab docs

    MATLAB® 数据的基础类型。有关 MATLAB 数组如何与 MATLAB 支持的变量一起使用的信息,请参阅MATLAB Data

    mxArray 是 C 语言的不透明类型。

    意味着不公开底层实现,只公开一个 API。 mxArray 包含以下信息

    • 它的类型
    • 它的尺寸
    • 与此数组关联的数据
    • 如果是数字,变量是实数还是复数
    • 如果稀疏,则其索引和非零最大元素
    • 如果是结构体或对象,字段数和字段名

    以及可以查看here的访问方法列表。在某些时候,它归结为一些指针算法,但是如上所述,这个实现没有公开。 matlabs内部内存布局的一个很好的探索可以找到here

    【讨论】:

      猜你喜欢
      • 2016-02-15
      • 1970-01-01
      • 2017-03-21
      • 2017-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-25
      • 2013-12-17
      相关资源
      最近更新 更多