声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2197|回复: 5

[编程技巧] 如何删除元胞数组中相同的行

[复制链接]
发表于 2014-5-7 09:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
例如: a={[1 2] [2 3];[0] [0];[3 4,5 6] [1 2];[0] [0]},a中的第二行和第四行相同,如何做才能将a中相同行删除,得到b={a={[1 2] [2 3];[0] [0];[3 4,5 6] [1 2]},请高手帮忙解决,感激不尽,谢谢!!
回复
分享到:

使用道具 举报

 楼主| 发表于 2014-5-7 09:22 | 显示全部楼层
写错了,要得到 b={[1 2] [2 3];[0] [0];[3 4,5 6] [1 2]}
发表于 2014-5-7 14:47 | 显示全部楼层
我的老版本好像没现成自带函数
两个连接LZ先参考下, 好像不能套用!? 但或许可以借镜修改
http://www.mathworks.com/matlabc ... ments-in-cell-array
http://www.mathworks.com/matlabc ... ws-for-a-cell-array

另个人比较好奇的是, LZ为何產生这种资料格式?
 楼主| 发表于 2014-5-7 16:01 | 显示全部楼层
ChaChing 发表于 2014-5-7 14:47
我的老版本好像没现成自带函数
两个连接LZ先参考下, 好像不能套用!? 但或许可以借镜修改
http://www.math ...

谢谢,我用if条件判断,满足条件返回矩阵,不满足条件是就返回0
发表于 2014-5-7 20:39 | 显示全部楼层
楼主已解决。from中文论坛

A = cellfun(@mat2str,a,'un',0);
[~, r, c] = unique(A(:,1),'stable');
b = a(r,:)
发表于 2014-5-7 23:45 | 显示全部楼层
LS的代码的确是较高的, 我的老版本报错了
LZ为何需要產生这种资料格式? 方便告知学习吗?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-15 17:17 , Processed in 0.071707 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表