matlab - 当行具有不同大小时,在Matlab中选择数字单元格数组的唯一行
问题描述
我A
在 Matlab 中有一个大小为 的数字单元格数组Mx3
。
我想选择单元格的唯一行。
问题之一是单元组件可能具有不同的尺寸。
例如,
A{1,1}=[1 1];
A{1,2}=3;
A{1,3}=[4 4 4 4];
A{2,1}=0;
A{2,2}=[10 10];
A{2,3}=7;
A{3,1}=[1 1];
A{3,2}=3;
A{3,3}=[4 4 4 4];
输出应该是
B{1,1}=[1 1];
B{1,2}=3;
B{1,3}=[4 4 4 4];
B{2,1}=0;
B{2,2}=[10 10];
B{2,3}=7;
在我的实际情况下M=27000
。
解决方案
只需将单元格数组转换为Datahashes矩阵即可。
然后,像往常一样检查Unique Rows。
opt.Method='MD2'; % Select the cheapest one
opt.Format='uint8'; % Select a numeric one
b=arrayfun(@(x)sum(GEN.checksum(x,opt)),A,'uni',true)
[~,i]=unique(b(:,1),'rows')
Au=A{i,:,:}
您可以仅将其应用于第一列,然后再深入。
推荐阅读
- css - 如何修复到期/ CVC / ZIP的定位
- html - 在 HTML 属性中放置一个角度变量
- javascript - setTimeout 和 promise 的语法?
- android - React Native Camera 显示带有加载微调器的空白屏幕
- ruby-on-rails - 简单的搜索表单在 Rails 中不起作用
- javascript - JsInterop:_framework/blazor.server.js 无法识别 .datetimepicker() 函数
- python - 方法的成员装饰器是否有更简单的语法?
- css - Wordpress 菜单不断加载内容。Z 索引不起作用
- sql - Sequelize Postgres - 选择不在 groupby 中的字段
- airflow - 更改 apache 气流网络服务器控制台上下文根路径