Matlab中的长度代码是什么?

时间:2016-05-08 22:30:02

标签: matlab

我想了解length的全部内容。假设我们有向量A = [1,2,3,4,5,6,7,8],当我们对length(A)进行编码时,它会为{of}元素吐出8

length命令如何工作? 我一直认为这是一个像

这样的循环
A = [could be any size];
for i = A   % takes each element of A
     i = i+1;  % add 1 for each new element thus counting the elements
end

请帮我理解。

2 个答案:

答案 0 :(得分:0)

要了解length如何工作,您需要了解Matlab如何在内部将其数据结构存储在内存中的详细信息。 Mathworks并没有真正披露太多细节,但这里是How MATLAB Allocates Memory的相关要点:

  

数组标题

     

将数组赋值给变量时,MATLAB也是如此   在a中存储有关数组的信息(例如类和维度)   单独的内存称为标题。

因此尺寸已与数组一起存储。 length需要做的就是找到它们的最大值。

另外值得注意的是(来自同一个文档):

  

以下主题提供有关MATLAB®软件的信息   在处理数组和变量时分配内存。目的   是为了帮助您在编写代码时更有效地使用内存。大多数   但是,你不应该关注这些问题   内部操作,因为MATLAB为您处理数据存储   自动。

...

  

注意有关MATLAB软件如何处理数据的任何信息   内部在未来版本中可能会发生变化。

答案 1 :(得分:-3)

您应该期待一些行为,比如在系统级访问数组的大小。 Matlab当然知道它有多大,因为它必须要求内存,所以不需要真正贯穿它并计算数字。

无论如何,您的示例代码无法正常工作。根据{{​​3}},在每个循环中$('.start').datepicker({ autoclose:true }).on('changeDate',function(e){ //on change of date on start datepicker, set end datepicker's date $('.end').datepicker('setStartDate',e.date) }); $('.end').datepicker({ autoclose:true }).on('changeDate',function(e){ //on change of date on end datepicker, set start datepicker's date //e.date will have selected date value. $('.start').datepicker('setEndDate',e.date) }) 等于数组i的切片。 A是一个不影响i的自变量。 A仅表示将i=i+1添加到等于1的某个部分的变量。

如果你真的想要“计算”元素那么

A

但是为了开始循环,你首先需要A的长度....