我有一张像这样的表'X':
name value score
joy 3 60
rony 8 50
macheis 20 20
joung 2 80
joy 8 3
joy 90 0
joung 4 78
machies 3 23
joy 7 99
我想选择2个随机行(名称,值,得分),其名称为“joy”。
我应用了这样的东西:
mnew = datasample(find(X.name=='joy'),2);
但它不起作用!并给我错误:Undefined operator '==' for input arguments of type 'cell'.
应该随机选择行(包含所有列值),其中名称为joy
有没有人解决这个问题呢?我怎么能在MATLAB中做到这一点?
答案 0 :(得分:0)
您有正确的想法,但为了检查字符串的单元格数组中是否存在字符串,您需要使用strcmp
,ismember
或其他方法来比较字符串到一个单元格阵列。
你可能还想在调用datasample
时指定你不想使用替换,这样你就不会两次获得同一行。
subx = X(datasample(find(strcmp(X.name, 'joy')), 2, 'Replace', false),:);