如何从数组中删除零?

3,564次(过去30天)
猫王萨默斯
猫王萨默斯 2017年3月20日
我想从数组中移除零。数组每行都有一个零。例如:
A = [1 4 0 3;0 1 5 5;1 0 8 1;5 4 4 0;1 1 2 2
应该变成
A = [1 4 3;1 5 5;1 8 1;5 4 4;1 5 2]
我试过使用这个命令
(= = 0) = [];
但是,这将把2000x50数组变成1x98000数组,而不是我想要的2000x49数组。什么好主意吗?

接受的答案

Beder
Beder 2017年3月20日
编辑:MathWorks支万博1manbetx持团队 2018年11月28日
要从矩阵的每一行中删除一个零并重新构建包含非零项的新矩阵,请尝试以下代码:
A = [1 4 0 3;0 1 5 5;1 0 8 1;5 4 4 0;1 1 2 2
v = 0(的);
newmat =重塑(v, 3、5)'

答案(1)

剑齐米。
剑齐米。 2018年12月12日
如果我们不知道移除零元素后要提交多少元素。
A =[是一个大矩阵]
v = 0(的);
newmat =重塑(v, ?, ?)
什么好主意吗?
3评论
丹尼尔·博阿滕
丹尼尔·博阿滕 2021年2月26日
它帮助了我。谢谢Farshad。

登录评论。

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!