Arrays 在MATLAB中,哪种语法更适合删除数组的元素?
在MATLAB中,假设我有一个数组,并创建了一个逻辑向量,其中包含我要删除的元素的Arrays 在MATLAB中,哪种语法更适合删除数组的元素?,arrays,matlab,Arrays,Matlab,在MATLAB中,假设我有一个数组,并创建了一个逻辑向量,其中包含我要删除的元素的true项,例如称之为delu index。要实现这一点,以下方法之一是否更好/更快和/或更可取 arr(del_index) = []; 或 两者看起来都不错,所以让我们测试一下速度 time1=0; th=0.5 for ii=1:100000 arr=rand(10000,1); del_index=arr<th; tic arr(del_index) = []; ti
true
项,例如称之为delu index
。要实现这一点,以下方法之一是否更好/更快和/或更可取
arr(del_index) = [];
或
两者看起来都不错,所以让我们测试一下速度
time1=0;
th=0.5
for ii=1:100000
arr=rand(10000,1);
del_index=arr<th;
tic
arr(del_index) = [];
time1=time1+toc;
end
time2=0;
for ii=1:100000
arr=rand(10000,1);
del_index=arr<th;
tic
arr = arr(~del_index);
time2=time2+toc;
end
display(['arr(del_index) is ', num2str(time1/time2), ' times slower'])
time1=0;
th=0.5
对于ii=1:100000
arr=兰特(10000,1);
del_索引=相关:
time1=0;
th=0.5
for ii=1:100000
arr=rand(10000,1);
del_index=arr<th;
tic
arr(del_index) = [];
time1=time1+toc;
end
time2=0;
for ii=1:100000
arr=rand(10000,1);
del_index=arr<th;
tic
arr = arr(~del_index);
time2=time2+toc;
end
display(['arr(del_index) is ', num2str(time1/time2), ' times slower'])