我试图找出以下Octave代码的作用:
degree = 6;
out = ones(size(X1(:,1)));
for i = 1:degree
for j = 0:i
out(:, end+1) = (X1.^(i-j)).*(X2.^j);
end
end
在我找到Matlab的答案之前,我不确定Octave中的结尾+ 1是什么意思:What is the `end+1` line doing here?接受的答案链接到Matlab官方文档非常明确:https://www.mathworks.com/help/matlab/ref/end.html
我试图在Octave文档中找到这个相同关键字的文档,但我似乎无法找到它。我在文档选项卡(Octave 5.1.0)中搜索过,使用函数索引和搜索选项卡无效,尽管我看到它在几个文档页面中使用过。
在Index Expressions上,Octave文档似乎更多地按使用情况而不是关键字进行分类,也是明确的:
在索引表达式中,关键字
end
自动引用特定维度的最后一个条目。此魔术索引也可以在范围内使用,并且通常消除了在索引之前调用大小或长度以收集数组边界的需要。
在Octave尝试help end
。那会给你你想要的东西。
在Octave和Matlab中,有两个帮助发现功能,help
和doc
。 (doc
是弹出GUI文档浏览器的东西。)并且它们将为您提供相同主题的不同结果!所以当你在找东西的时候总是试试。
而通过Matlab doco和Stack Overflow解答这一点并没有错。 Octave与Matlab非常兼容,所以你在那里找到的基本语言功能(string
s,table
s和datetime
s除外)也适用于Octave。