我必须调整一个matlab脚本,并且对这段代码有疑问
if isOk()
h = h(1+limit:end-limit, 1+limit:end-limit, :);
limit= 0;
end
不幸的是我还没有理解如何阅读表达式
h = h(1+limit:end-limit, 1+limit:end-limit, :);
end
运算符在其中的含义是什么?
答案 0 :(得分:1)
end
运算符只是length(var)
的简写。您甚至可以执行var(1:end / 2)之类的操作来获取变量的前半部分。
对于多个维度,end
运算符充当size(var, x)
,其中x
是当前维度。
注意: Matlab 不使用基于零的索引,即访问array(length(array))
实际上是正确的。因此end
与变量大小的关系是正确的,因为它是变量的最后一个索引,其中变量具有从一开始的索引。
所以在Matlab中你甚至可以编写像
这样的东西a= rand(4,8); a(1:end/2, 1:end/2);
如果你全部离开,只需输入a(:)
(即:
之前和之后没有任何内容,那么你实际上是指1:end
(:) ==> (1:end)