Azzera filtri
Azzera filtri

How can I count frequency in array?

4 visualizzazioni (ultimi 30 giorni)
fizz gerbera
fizz gerbera il 24 Set 2016
Commentato: George il 24 Set 2016
I try to make a code which count the frequency of number in an array but the number output is incorrect. my coding:
clc; clear; element = zeros (1,50); ctr=1; i=1; freq=0;
num = input('Please state how many numbers you want to input: ');
while (ctr <= num) %input number in array
element (ctr) = input( 'Enter number: ');
ctr = ctr+1;
end
for ctr=1:1:num %to arrange number in descending
for i=1:1:num
if element (i) < element (i+1)
temp = element(i);
element (i) = element (i+1);
element (i+1) = temp;
end
end
end
disp('N Count');
for y=1:1:num %counting frequency of number
k = element(y);
if k ~= element (y+1)
for x = y:1:num
if k == element (x+1)
freq = freq+1;
end
end
fprintf('%d','%d',k, freq);
end
freq=0;
end
pause;
The output is as follow:
Please state how many numbers you want to input: 2 Enter number: 1 Enter number: 2 N Count 37100203710010

Risposta accettata

George
George il 24 Set 2016
fprintf prints to a file. You want to use sprintf. Also, your formatSpec is wrong. You want to define it as one string. Something like:
str = sprintf('%d %d', k, freq);
disp(str)
Should work.
  3 Commenti
fizz gerbera
fizz gerbera il 24 Set 2016
Modificato: fizz gerbera il 24 Set 2016
thanks george. it can print the answer fine now. i tried to your suggestion.my coding is as follows, but i cant seem to make it work.
while k<=num
sum(nnz(A == k));
fprint('%d', k);
k=k+1;
end
George
George il 24 Set 2016
You should not be using fprintf.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by