删除的特定行矩阵不仅从内存中删除它们

26日视图(30天)
我写一个excel使用Matlab。问题是,当我试图删除某些行jpg图片所示的结果。我不想要空行。
c = 1:1000
u = H (c, 1)
如果(u ~ = 0)
高频(c, 1) = H (c, 1);
其他的
高频=南;
结束
结束

接受的答案

图像分析
图像分析 2023年5月5日21:56
试试这个,而不是所有的代码:
rowsToTransfer = (H (: 1) ~ = 0);
高频= H (rowsToTransfer:);
如果你只是想要第一个几千行,你可以这样做:
rowsToTransfer = (H(1: 1000年,1)~ = 0);
高频= H (rowsToTransfer:);

答案(1)

dpb
dpb 2023年5月5日22:00
使用MATLAB <逻辑寻址> 和矢量化操作,
高频=高频(Hf ~ = 0);
的案例表明,高频是一个矢量。如果它是一个数组,但根据一列删除行几乎一样容易—
高频=高频(Hf (: 1) ~ = 0:);
以上是新手更容易看写
第九=(高频(:1)~ = 0);%的逻辑T / F向量列1不为零
:高频=高频(ix);%保持那些行,所有列
5个评论
dpb
dpb 2023年5月5日23:30
更低效率的多次写同一个工作簿或工作表如果可以避免,但如果它不能帮助,然后使用可选的 “范围” 命名参数设置的位置在工作表中写的额外的数据没有覆盖第一。这些都是见文档。(*)
除非你现在使用的是一个真正的古代版的MATLAB, xlsread xlswrite 已被弃用多年;使用 writematrix 和朋友。他们是在功能和速度大大提高。
(*)在这样的情况下的最佳方法是创建的数据作为一个二维数组,增加与南短柱的长度长;然后writematrix()数组。或者创建一个单元阵列与每个单元包含2 x1给定的列向量的双打。然后使用 writecell 代替。

登录置评。

s manbetx 845


释放

R2022b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的