如何在表达式参数

时间:2015-05-27 11:37:22

标签: matlab

我必须调整一个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运算符在其中的含义是什么?

1 个答案:

答案 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)