我正在阅读作业的MATLAB源代码,上面写着:
N = 100; % Number of training points
x = sort(10*rand(N,1)-5);
t = 5*x.^3 - x.^2 + x;
noise_var = 300;
t = t + randn(size(x)).*sqrt(noise_var);
% Chop out some x data
pos = find(x>0 & x<2);
x(pos) = [];
t(pos) = [];
testx = [-5:0.1:5]';
和
orders = [1:8];
for i = 1:length(orders)
我猜这部分:x(pos(=[];t(pos(=[];谈到创建一个pos大小的数组,而这部分
orders = [1:8];
for i = 1:length(orders)
谈到一个包含从1到8的数字的数组,我不知道为什么会有一个循环语句而不采取任何操作。另外,也许你能解释一下python等价物吗?因为我必须将其翻译成python
x(pos)
用于获取矢量化x
中pos
索引处的元素。在MATLAB中查看此文档中的数组索引。因此,在您的代码示例中,您将x(pos(,t(pos(的值设置为空数组。
[start:end]
返回1D数组,以start
和end
作为最后一个元素,默认步长为"1"。
例如。[1:4]
返回数组[1 2 3 4]