前提:我发现了一些似乎与我的问题有关的东西,但我不确定如何使用它,因此我问了一个新问题。
我有一个单元矩阵,称之为A,看起来像这样:
[ 'string' 'string' 'number'
'string' 'string' 'number'
........................... ]
我需要将我刚刚创建的单元格数组(称为B = ['string' 'string' 'number']
)与矩阵A进行比较,以查看B是否已存在于其中。如果我尝试使用ismember,matlab会返回错误,因为参数不是字符串。
我该怎么办?
感谢您的帮助
答案 0 :(得分:2)
你的问题有点不清楚,所以这个答案只有在这些假设是:
时才有效以下行将返回1和0的列向量,其中1表示B元素与X中的行匹配:
sum(cellfun(@isequal,X,repmat(B,size(X,1),1)),2)==size(X,2)
简要说明:
希望有所帮助
答案 1 :(得分:1)
不完全确定您拥有哪些变量,但这可能有效:
将所有内容转换为字符串,然后使用ismember,例如:
['string' '_' 'string' '_' num2str(number)]
确保在ismember的两个输入上执行此操作。
根据变量的大小,可能更容易将所有内容(或所有唯一的内容)附加到B,然后再运行unique
。