Need help creating a for loop

Hello.
I need to create a loop that can do the following:
I have to create a distance matrix for plotting my graph. The total distance is 95 m with 5 m spaces. So it needs to start at 5 and end at 95. Start from 5 again till 90 and start from 5 till 85. 5 till 80 and so on.
It should look like this:
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 5 10 15 20 25 30 35 40 45 50 55 60 65 70 5 10 15 20 25 30 35 40 45 50 55 60 65 5 10 15 20 25 30 35 40 45 50 55 60 5 10 15 20 25 30 35 40 45 50 555 10 15 20 25 30 35 40 45 50 5 10 15 20 25 30 35 40 45 5 10 15 20 25 30 35 40 5 10 15 20 25 30 355 10 15 20 25 30 5 10 15 20 25 5 10 15 20 5 10 15 5 10 5

2 Comments

Is this the one you are looking for?
A =
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 0
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 0 0
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 0 0 0
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 0 0 0 0
5 10 15 20 25 30 35 40 45 50 55 60 65 70 0 0 0 0 0
5 10 15 20 25 30 35 40 45 50 55 60 65 0 0 0 0 0 0
5 10 15 20 25 30 35 40 45 50 55 60 0 0 0 0 0 0 0
5 10 15 20 25 30 35 40 45 50 55 0 0 0 0 0 0 0 0
5 10 15 20 25 30 35 40 45 50 0 0 0 0 0 0 0 0 0
5 10 15 20 25 30 35 40 45 0 0 0 0 0 0 0 0 0 0
5 10 15 20 25 30 35 40 0 0 0 0 0 0 0 0 0 0 0
5 10 15 20 25 30 35 0 0 0 0 0 0 0 0 0 0 0 0
5 10 15 20 25 30 0 0 0 0 0 0 0 0 0 0 0 0 0
5 10 15 20 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5 10 15 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5 10 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Yes this what I am looking for

Sign in to comment.

 Accepted Answer

No need for a loop:
result = nonzeros(flipud(tril(repmat((95:-5:5)', 1, 95/5))))'
Of course, if this is homework and you do need to use a loop, then we won't give you the solution but can tell you where you're going wrong if you show what you've done.

1 Comment

Hello, thank you so much it worked. It's not homework, I am working on my research project and my supervisor mentioned that I can write a loop for it that's why I thought I needed a loop. Thank you :)

Sign in to comment.

More Answers (2)

Hi
You can just use simple for loops to do this.
data = []
for i=95:-5:5
data = [data 5:5:i]
end
end
Jan
Jan on 18 Jun 2019
Edited: Jan on 18 Jun 2019
v = nonzeros((5:5:95).' .* fliplr(triu(ones(19)))).'

Categories

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

Asked:

on 18 Jun 2019

Edited:

Jan
on 18 Jun 2019

Community Treasure Hunt

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

Start Hunting!