Search data in a dataset array

I have a dataset array which contains doubles and strings and I would like to search by variable names(columns) the intersection between two of this columns. I have try with the following code, where cond1 is a double and cond2 a string, result_test is the dataset array.
list1 = find(result_test.Temp, cond1)% find the value cond1 in column Temp
list2 = find(result_test.Chip, cond2)% find the value cond2 in column Chip
result_data = intersect (list1, list2)%%find intersection
But I got the next problem:
Undefined function 'find' for input arguments of type 'cell'.
I think the problem is a mistmacth between the data to find and the content on the dataset.
I would really graceful if somebody could help me, thank you in advance.

 采纳的回答

Use
list1 = find(strcmp(result_test.Temp, cond1))

3 个评论

This case works perfectly when the content of the cell in the dataset is a string, but in case that the content is an integer y tried to convert but I was not succesfull... any idea?
Thanks again!
For double use
list1 = find(cell2mat(result_test.Temp)==cond1))
Thank you very much! It works.

请先登录,再进行评论。

更多回答(1 个)

David Sanchez
David Sanchez 2013-7-23

0 个投票

by the error message you get, it seems you are trying to apply find to a cell array, which can not be done. Make sure your data comes in the right form before applying find.

类别

在 帮助中心 和 File Exchange 中查找有关 Operating on Diagonal Matrices 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by