gpt4 book ai didi

matlab - 在matlab中从矩阵中删除第一行的最佳方法

转载 作者:行者123 更新时间:2023-12-01 14:45:32 31 4
gpt4 key购买 nike

我计划多次删除矩阵的第一行,并且想知道执行此操作的最佳/最有效方法是什么。

我知道我可以做这样的事情

  M(1,:)=[]

M = M(2:end)

但我不确定哪种方法最好,或者是否有其他更好的方法。

最佳答案

嘿,刚刚用 tictoc 测试了这两种方法这是我使用的代码:

A=rand(100,100000);
tic
a=A(2:end,:);
t1=toc
tic
A(1,:)=[];
t2=toc

这是结果:

t1 =

0.0603

t2 =

0.0744

如果您使用更长的列,它会变得更加明显:

A=rand(10000,100);
t1 =

0.0083

t2 =

0.0124

因此保存您想要保留的列似乎更快。

编辑

有人评论说tictoc在毫秒范围内不“可信”所以建议使用循环多次运行代码。但结果没有改变

A=rand(100,100000);
size_A=size(A);
tic
for k=1:1:100
A1=A;
A1=A1(2:end,:);
end
t1=toc
tic
for k=1:1:100
A1=A;
A1(1,:)=[];
end
t2=toc

这导致:

t1 =

7.5237

t2 =

15.2234

关于matlab - 在matlab中从矩阵中删除第一行的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24862456/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com