Match two rows value by a column value

2 次查看(过去 30 天)
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 个评论
Jan
Jan 2022-6-1
"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?

请先登录,再进行评论。

采纳的回答

Jan
Jan 2022-6-1
编辑:Jan 2022-6-1
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 个评论
Cristian Martin
Cristian Martin 2022-6-1
编辑:Cristian Martin 2022-6-1
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 2022-6-1
My output for column 34 is [1]. How can I transform this into '1' ?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品


版本

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by