如何从数组中删除满足给定条件的项(MatLab)

如何从数组中删除满足给定条件的项(MatLab),matlab,Matlab,我有一个单元格a,其条目是多项式,例如 A{1} = DocPolynom([1 2 3]). 我想删除长度(double(A{I}))~=2的A的I项。 我该怎么做 谢谢您应该试试: inds2remove=cellfun(@(x) length(double(x))~=2,A); A( inds2remove )=[]; {1}不是对数组的引用,而是对单元格数组的引用。用A.upperBound的建议替换第1行的最后一个x。谢谢你们两位。cellfun似乎很有用——我觉得我应该好好读一

我有一个
单元格a
,其条目是多项式,例如

A{1} = DocPolynom([1 2 3]). 
我想删除
长度(double(A{I}))~=2的
A的
I项。

我该怎么做

谢谢

您应该试试:

inds2remove=cellfun(@(x) length(double(x))~=2,A);
A( inds2remove )=[];

{1}不是对数组的引用,而是对单元格数组的引用。用A.upperBound的建议替换第1行的最后一个x。谢谢你们两位。cellfun似乎很有用——我觉得我应该好好读一读。cellfun和它的朋友ARRAYFUN绝对值得了解。(当然,如果愿意,也可以在单元格数组上使用ARRAYFUN)