在 vector 存在之前用 'end' 创建索引数组
Create indexing array with 'end' before vector exists
我只是想知道是否有一种方法可以在知道向量的大小之前使用 end
进行索引?它应该适用于不同大小的数组。像这样:
subvector = (2:end) % illegal use of end
A=[1 2 3];
B=[4 5 6 7];
A(subvector) % should be 2 3
B(subvector) % should be 5 6 7
您可以设置一个匿名函数以类似的方式运行
f_end = @(v) v(2:end);
A = [1 2 3];
B = [4 5 6 7];
f_end( A ); % = [2 3];
f_end( B ); % = [5 6 7];
我认为这是您可以做到的唯一方法,因为您无法在不知道 end
索引的情况下设置索引数组。
没有索引或使用 end
,可以删除第一个元素:
f_end = A;
f_end[1] = [];
作为函数:
function x = f_end(y, n)
x = y;
x[1:n]=[]; % deletes the first n elements
我只是想知道是否有一种方法可以在知道向量的大小之前使用 end
进行索引?它应该适用于不同大小的数组。像这样:
subvector = (2:end) % illegal use of end
A=[1 2 3];
B=[4 5 6 7];
A(subvector) % should be 2 3
B(subvector) % should be 5 6 7
您可以设置一个匿名函数以类似的方式运行
f_end = @(v) v(2:end);
A = [1 2 3];
B = [4 5 6 7];
f_end( A ); % = [2 3];
f_end( B ); % = [5 6 7];
我认为这是您可以做到的唯一方法,因为您无法在不知道 end
索引的情况下设置索引数组。
没有索引或使用 end
,可以删除第一个元素:
f_end = A;
f_end[1] = [];
作为函数:
function x = f_end(y, n)
x = y;
x[1:n]=[]; % deletes the first n elements