Speadsheet with all the answers from my loop

1 view (last 30 days)
I created a for loop that was meant to show me how many times a number showed up in an array like so:
for i=1:n
length(find(yy(1:numel(yy),1)==i))
end
It worked but it did so in a way that gave me eac number's answer one at a time in my command window like so:
ans=
7
ans=
2
and so on.
How do I code it so that I create a speadsheet that tells me the answer from 1 all the way to the last number?
  2 Comments
Geoff Hayes
Geoff Hayes on 14 Oct 2019
Jordan - what are you trying to write to file? A list of the integers and the number of times they appear in the array?
Jordan Grapel
Jordan Grapel on 14 Oct 2019
That's pretty much what the loop does. The numbers are already in numeric order in a different spreadsheet. This loop tells me how many times each number appears. For example, if 1 appears once, 2 appears 4 times, and 3 appears 18 times the loop produces:
ans=
1
ans=
4
ans=
18
and so on in the command window all the way until the last number (which for this file is 518). My problem is that I am only getting this long run of answers in my command window. I need to make it so that all of these answers (number of times the number appears in the array) appears on a spreadsheet with them all appearing in column one, and with the answer for 1 appearing in row one and so on.

Sign in to comment.

Accepted Answer

the cyclist
the cyclist on 14 Oct 2019
Edited: the cyclist on 14 Oct 2019
output = zeros(n,1);
for i=1:n
output(i) = length(find(yy(1:numel(yy),1)==i));
end
output
That will still write the full list to the screen, but without the intervening "ans" text.
There are then a number of ways to write to file. Perhaps check out this documentation as a starting point.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!