counting the values and variables

I have a dataset 50x62
for example
S=['F' 'D' 'C' 'D' 'C';'C' 'C' 'F' 'D' 'F']
these variables are my output from one operation,now i want to count the number of variables
here i have 2 rows and number of variable is 3
so i need as
F D C
1 2 2
2 1 2
PLEASE HELP

댓글 수: 1

kash
kash 2012년 3월 25일
wayne length gives value as 3,but i need as above

댓글을 달려면 로그인하십시오.

 채택된 답변

Daniel Shub
Daniel Shub 2012년 3월 25일

0 개 추천

What about a nice loop:
S=['F' 'D' 'C' 'D' 'C';'C' 'C' 'F' 'D' 'F'];
x = sort(unique(S));
fprintf('%c\t', x')
fprintf('\n')
for ii = 1:size(S, 1)
for jj = 1:length(x)
temp(jj) = length(find(S(ii, :) == x(jj)));
end
fprintf('%d\t', temp);
fprintf('\n')
end

댓글 수: 11

kash
kash 2012년 3월 25일
DAniel i get error Function is not defined for 'cell' inputs.
and plz tell in which variable these output are stored,i need it because for next operartion
Daniel Shub
Daniel Shub 2012년 3월 25일
If your S is a cell array and not a char array, then of course your are going to get an error. If S cannot be easily converted to a char array, then you are going to need a very different answer.
As for which variable the output is saved as, the output is not saved it is simply displayed. You didn't ask for saved output. Think about the loops and what temp is doing. How would you modify "temp" to save all the data... Try and figure it out yourself, and when you get stuck ask a new question.
kash
kash 2012년 3월 25일
Daniel S is an cel array ,can u please tell hoe to perform and save the output in variable,because i dont know hoew to process plz
Daniel Shub
Daniel Shub 2012년 3월 25일
No. If you are not willing to work at it, then I am not willing to help you.
kash
kash 2012년 3월 25일
Daniel i used char and then reshaped it but get some extra values
C D
0 62 1.168713e+001 8.909025e+000 1.202819e+001 9.658573e+000 9.563827e+000
Daniel Shub
Daniel Shub 2012년 3월 25일
You probably want to clear temp before the loop ...
kash
kash 2012년 3월 25일
ok daniel for displaying values in output
i did
[temp]=temp(jj),after temp(jj) = length(find(S(ii, :) == x(jj)));
i did not get the result,temp displays each value of row,so i tried to cancatanate it
kash
kash 2012년 3월 25일
for ii = 1:size(S, 1)
for jj = 1:length(x)
temp = length(find(S(ii, :) == x(jj)));temp(jj)=temp;
end
i tried this also but not getting exact answer
Daniel Shub
Daniel Shub 2012년 3월 25일
What does the ii loop do? What does the jj loop do? Are you saving the ii loop anywhere? What about temp(ii, jj)?
kash
kash 2012년 3월 25일
temp(ii) is 1,temp(jj)is 2
ii loop calculates the row of origal value(S),and jj calculates the column unique variables
kash
kash 2012년 3월 25일
i tried not getting for final time an u code for me for saving output in a variable

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Wayne King
Wayne King 2012년 3월 25일

0 개 추천

S = ['F' 'D' 'C' 'D' 'C';'C' 'C' 'F' 'D' 'F'];
NumVars = length(unique(S));

댓글 수: 1

kash
kash 2012년 3월 25일
thanks wayne another
if i have
A=[1 2 3 2 1 ;2 3 1 1 1];
here i want to count the number of 1's,2s,3's for each row so i get
and store i different variables
A B C
2 2 1
3 1 1

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

질문:

2012년 3월 25일

Community Treasure Hunt

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

Start Hunting!

Translated by