Vector where elements equals previous elements + 1

I wish to make a column vector where ecah element eqaul the previous element + 1. I also want to be able to decide by a loop how mane elements the vector should contain. Example: start =1;end=1 should give the vector [1}. start=1;end=3 should give the vector [1 2 3]. I hope someone has an idea about how to solve this.

1 Comment

This is such a basic thing that I would really suggest you having another read of the manual.

Sign in to comment.

 Accepted Answer

do as wrote Daniel
OR
end1 = 3;
for jj = end1:-1:1
vector(jj) = jj;
end

2 Comments

I am not convinced Karl will be able to figure out make that go from A to B ...

Sign in to comment.

More Answers (2)

Using end is a bad choice since it is special in MATLAB. I think what you are asking for is
a:b

3 Comments

It is no problem for me using a term other than end. I just with to make a vector equall to [1 (1+1) (1+1+1) (1+1+1+1)...(1xn)] where I can adjust n...
Why this is different from Daniel's answer?
n=5
a=1
b=n
out=a:b
That did the trick. Thanks!

Sign in to comment.

a=[1 1 1)
out=cumsum(a)

4 Comments

This was an example where start =1 and end=3 in mye exemple aboove. However, I need a loop, so that I don't have to write the number of 1's every time as in your line 1. I have lots of different vetor lengths that I vary all the time.
Azzi, while I agree this works, why would you go this way?
I've just misunderstood the question
Ahh now I see. I can see how the description would lead you to think CUMSUM is the right answer.

Sign in to comment.

Categories

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

Community Treasure Hunt

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

Start Hunting!