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 个评论

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

请先登录,再进行评论。

 采纳的回答

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

2 个评论

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

请先登录,再进行评论。

更多回答(2 个)

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

3 个评论

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!

请先登录,再进行评论。

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

4 个评论

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.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by