Matlab使用什么算法来动态调整向量和矩阵的大小?

迈克尔·A

运行此代码:

n = 5;
x = zeros(n, 1);
for ix=1:10
   x(ix) = rand();
   disp(getfield(whos('x'), 'bytes'))
end

输出此:

40
40
40
40
40
48
56
64
72
80

这似乎表明,当Matlab调整向量的大小时,它会将其调整为具有恰好所需的空间,不再有更多空间。因此,一次只包含一个元素。

将其与Sun的ArrayList的Java实现中方法进行对比,该方法分配了足够的空间,因此不需要在每次超出初始界限的每次赋值时都进行大小调整。显然,由于Matlab不是开源的,所以没有办法告诉100%他们做什么,但是有没有更好的办法来了解调整大小的方式呢?上面的代码不是估算此代码的好方法吗?

chapjc

来自MathWorks的软件开发经理Steve Eddins:

与使用MATLAB相比,MATLAB使用了更智能的启发式方法,而不是在需要更多空间时简单地将分配的内存空间加倍,因此,对于大型阵列,最坏情况下的内存“过度分配”要小于两倍。我不打算在这里进一步讨论细节,因为(a)我不了解它们,并且(b)我希望我们将继续在将来的版本中调整自动阵列增长的启发式方法和其他方面。

因此,可以肯定地说它不会一次为一个元素分配空间,而是在一定程度上进行分配。同样,正如亚历山大·比索(Alexandre Bizeau)指出的那样,内存将是连续的。

另外,请参阅此页面以获取阵列增长的性能分析。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Matlab使用什么算法来动态调整向量和矩阵的大小?

来自分类Dev

如何通过添加零来调整/扩展矩阵的大小?

来自分类Dev

使用C ++和RGBA像素向量进行双线性调整大小

来自分类Dev

指针向量调整大小

来自分类Dev

在MATLAB中使用标签向量合并矩阵

来自分类Dev

调整原子向量的大小?

来自分类Dev

通过重新采样来调整向量的大小

来自分类Dev

MATLAB Coder动态调整大小的结构数组

来自分类Dev

Matlab中的向量化矩阵和向量运算

来自分类Dev

在MATLAB中向量化矩阵的加权和

来自分类Dev

使用指针属性调整矩阵大小

来自分类Dev

使用放置构造恒定大小的矩阵向量

来自分类Dev

在Matlab中使用向量建立矩阵索引

来自分类Dev

如何调整MATLAB矩阵的大小

来自分类Dev

Android:使用比双线性更好的重采样算法来调整位图的大小(例如Lanczos3)

来自分类Dev

使用gd调整字体大小和填充大小以创建动态条形图

来自分类Dev

为什么调整向量的大小比reserve和push_back更快?

来自分类Dev

为什么调整向量*(在向量*数组中)的指针的大小比向量(在向量数组中)的指针大小更快?

来自分类Dev

参考向量和调整大小的能力

来自分类Dev

SVG和动态调整大小-vuejs

来自分类Dev

MATLAB:使用条件调整向量的大小

来自分类Dev

使用放置来构造恒定大小的矩阵向量

来自分类Dev

Matlab矩阵和向量排序索引

来自分类Dev

使用窗口调整大小来调整覆盖控件的大小

来自分类Dev

R:条件和调整大小向量下向量的值之和

来自分类Dev

如何调整MATLAB矩阵的大小

来自分类Dev

动态调整矩阵大小会导致分段错误

来自分类Dev

MATLAB使用什么算法来查找特征向量?

来自分类Dev

在C ++中动态调整大小并填充向量的向量

Related 相关文章

  1. 1

    Matlab使用什么算法来动态调整向量和矩阵的大小?

  2. 2

    如何通过添加零来调整/扩展矩阵的大小?

  3. 3

    使用C ++和RGBA像素向量进行双线性调整大小

  4. 4

    指针向量调整大小

  5. 5

    在MATLAB中使用标签向量合并矩阵

  6. 6

    调整原子向量的大小?

  7. 7

    通过重新采样来调整向量的大小

  8. 8

    MATLAB Coder动态调整大小的结构数组

  9. 9

    Matlab中的向量化矩阵和向量运算

  10. 10

    在MATLAB中向量化矩阵的加权和

  11. 11

    使用指针属性调整矩阵大小

  12. 12

    使用放置构造恒定大小的矩阵向量

  13. 13

    在Matlab中使用向量建立矩阵索引

  14. 14

    如何调整MATLAB矩阵的大小

  15. 15

    Android:使用比双线性更好的重采样算法来调整位图的大小(例如Lanczos3)

  16. 16

    使用gd调整字体大小和填充大小以创建动态条形图

  17. 17

    为什么调整向量的大小比reserve和push_back更快?

  18. 18

    为什么调整向量*(在向量*数组中)的指针的大小比向量(在向量数组中)的指针大小更快?

  19. 19

    参考向量和调整大小的能力

  20. 20

    SVG和动态调整大小-vuejs

  21. 21

    MATLAB:使用条件调整向量的大小

  22. 22

    使用放置来构造恒定大小的矩阵向量

  23. 23

    Matlab矩阵和向量排序索引

  24. 24

    使用窗口调整大小来调整覆盖控件的大小

  25. 25

    R:条件和调整大小向量下向量的值之和

  26. 26

    如何调整MATLAB矩阵的大小

  27. 27

    动态调整矩阵大小会导致分段错误

  28. 28

    MATLAB使用什么算法来查找特征向量?

  29. 29

    在C ++中动态调整大小并填充向量的向量

热门标签

归档