我想了解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
请帮我理解。
答案 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的长度....