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.

 채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2013년 7월 23일

0 개 추천

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

댓글 수: 3

Manuel
Manuel 2013년 7월 23일
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))
Manuel
Manuel 2013년 7월 23일
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