How do I get each iteration of a for loop into a single row matrix?

2 views (last 30 days)
Here I am getting each iteration correctly but I need pmf to be a row matrix with the answers from 0 to max(Data).
function [pmf] = CalcRelFreq(Data);
for range = 0:max(Data)
pmf = [1 ;sum(Data == range)/length(Data)]
end
  2 Comments
James Tursa
James Tursa on 24 Apr 2025
Edited: James Tursa on 24 Apr 2025
What is size(Data)? Please provide a small example input and desired output. pmf looks like a column vector, so it is unclear how you want these stacked into a row vector.
Heath
Heath on 24 Apr 2025
Edited: Heath on 24 Apr 2025
I actually don't need it to be a row vector a column vector is good but still unsure how to do it
the input is userData which is a 20x1 matrix =
11
17
13
4
12
8
12
10
7
14
12
6
10
14
11
10
10
9
10
13

Sign in to comment.

Answers (1)

Matt J
Matt J on 24 Apr 2025
Edited: Matt J on 25 Apr 2025
Data=[ 11
17
13
4
12
8
12
10
7
14
12
6
10
14
11
10
10
9
10
13];
pmf=histcounts(Data,0:max(Data)+1)'/length(Data),
pmf = 18×1
0 0 0 0 0.0500 0 0.0500 0.0500 0.0500 0.0500
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>

Tags

Community Treasure Hunt

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

Start Hunting!