如何删除MatLab矩阵中偶数行数据?
因工作需要,偶尔需要借用 MatLab 分析数据。现有一需求,有一个很大矩阵,想对之进行如下操作:隔行删数据,
不知有什么现成函数?或有什么高效的方法?
请了解朋友指点一下,谢谢! :victory:
可以直接提取的,不用删吧:m(1:2:end,:) 谢谢!
因为矩阵很大(行数比较多),所以想隔行保留。
下面的代码是最合适的吗?m = m(1:2:end,:) 3# gxqcn
MATLAB 的矩阵处理效率是很高的.直接提取,只是读的操作,效率很高.
如果要写,即删除,可以直接这样:m(2:2:end,:) =[]我记得我当初处理数字图像的时候,总是留有很多"副本",以便后期的引用. 接着再请教一个问题:怎样在删除前,将数据各自累加进其上面那行中去? =size(A);
j=1;
for i=1:2:n
B(j,:)=A(i,:)+A(i+1,:);
j=j+1;
end 以前没注意到 G-Spider 写的 MatLab 代码也不错的啊,人才!
不知可有什么更简洁的方案? 长期没写,有些手生。=size(A);
for i=1:n/2 +1
B(i,:)=A(i*2-1,:)+A(i*2,:);
end或 (但这破坏了原有数据,不太赞成)=size(A);
for i=1:n/2 +1
A(i,:)=A(i*2-1,:)+A(i*2,:);
end或许还有更好的做法,以上是我的挫代码。 一个“挫”字,让人回想起武汉话。
其实你的代码很漂亮的。 5# gxqcn
查查 cumsum函数