How to sequentially generate a vector from loop?

Hi everyone!
I have a vector A, which I cut in a loop and take the first elements like this
A = [ 1 2 3 4 5 6 7]'
for k=1:7
A_{k} = A(1:k)
end
I want to generate a vector B which can put a subset of A (let's say the first 2 elements (A_{2}')) together with the last element of every generated vector from my loop. Basically B should be like this
B = [A_{2}' A_{3}(3) A_{4}(4) A_{5}(5) A_{6}(6) A_{7}(7)]'
How can I make this vector B easier to write for bigger k's (for example write it like a loop) ?
Thank you so much!

댓글 수: 3

B is same as A. Simply assign it directly.
A = [ 1 2 3 4 5 6 7]'
A = 7×1
1 2 3 4 5 6 7
for k=1:7
A_{k} = A(1:k);
end
B = [A_{2}' A_{3}(3) A_{4}(4) A_{5}(5) A_{6}(6) A_{7}(7)]'
B = 7×1
1 2 3 4 5 6 7
With this loop it's same, but if there's another function in the loop, it's not the same. I just want to create a vector B, which contains first 2 elements of A and every time it adds the last element of a for loop
"but if there's another function in the loop"
For example?
"I just want to create a vector B, which contains first 2 elements of A and every time it adds the last element of a for loop"
Give another example, as it is not clear from the one you gave.

댓글을 달려면 로그인하십시오.

답변 (1개)

Sargondjani
Sargondjani 2023년 1월 22일
It's not clear what exaclty is your problem. But maybe something like this can help you:
s=2
for k=1:7
A_{k} = A(1:k);
if k==s
B = [A_{2}']
elseif k>s
B = [B' A_{k}(k)]'
end
end
Try to get the details right yourself.

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

질문:

2023년 1월 22일

댓글:

2023년 1월 22일

Community Treasure Hunt

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

Start Hunting!

Translated by