Match two rows value by a column value

Hi guys,
In a table I want to count all matching rows based of a value of a columns
If two rows have value '1' in column 34 and in column 9 have value 'Corn' set a count in an edit text
If two rows have value '2' in column 34 and in column 9 have value 'Corn' set another count in an edit text
and so on..
new_data=get(handles.uitable4,'Data');
index1= strcmp(new_data(:,34),'1', new_data(:,9),'Corn');
index2= strcmp(new_data(:,34),'2', new_data(:,9),'Corn');
count_total_corn = count(index1, index2);
set(handles.edit4,'string', count_total_corn)
index3= strcmp(new_data(:,34),'3', new_data(:,9),'Rice');
index4= strcmp(new_data(:,34),'4', new_data(:,9),'Rice');
count_total_rice = count(index3, index4);
set(handles.edit5,'string', count_total_rice)
Could you give me an ideea? The above doesn't work...thanks

1 comentario

Jan
Jan el 1 de Jun. de 2022
"Doesn't work" is a lean description. Prefer to share the details of the problem, if you want others to solve it. Do you get an error message?

Iniciar sesión para comentar.

 Respuesta aceptada

Jan
Jan el 1 de Jun. de 2022
Editada: Jan el 1 de Jun. de 2022
index1= strcmp(new_data(:,34),'1', new_data(:,9),'Corn');
This is gun-shot-programming. Please read the documentation of strcmp to find out, how this command is used. I guess you want:
index1= strcmp(new_data(:,34), '1') & strcpm(new_data(:,9), 'Corn');
But what type is new_data(:,34) ? Maybe you need {new_data(:,34)} ?
"count" sounds like it counts, but it does this for patterns in a string. Again: read count .
count_total_corn = sum(index1) + sum(index2);
% or
count_total_corn = nnz([index1, index2]);

4 comentarios

Cristian Martin
Cristian Martin el 1 de Jun. de 2022
new_data 5x34 20480 cell
Jan
Jan el 1 de Jun. de 2022
What do you want to tell me with this message?
Cristian Martin
Cristian Martin el 1 de Jun. de 2022
Editada: Cristian Martin el 1 de Jun. de 2022
Sorry, I just answered to your question: But what type is new_data(:,34)?
Both 9 an 34 are cell
this are results for disp 9 and 34: 'Corn' and [1]
i'm wrong?
Cristian Martin
Cristian Martin el 1 de Jun. de 2022
My output for column 34 is [1]. How can I transform this into '1' ?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Historical Contests en Centro de ayuda y File Exchange.

Productos

Versión

R2015a

Preguntada:

el 1 de Jun. de 2022

Comentada:

el 1 de Jun. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by