Array assembly by indexing in a loop

조회 수: 14 (최근 30일)
Saim Ehtesham
Saim Ehtesham 2022년 11월 26일
댓글: Saim Ehtesham 2022년 11월 26일
I have the following code:
n = 4;
x1 = linspace(0,2,n);
y1_x1 = sqrt(1-( (x1.^2)/4 ) );
Y1_X1 = []
for i = 1:n
Y1_X1(end) = y1_x1(i:end);
end
The idea is to form Y1_X1 such that first time, it takes n values of y1_x1 (in this case all 4), next time it takes (n-1):end values of y1_x1 (in this case last 3) and assembles these 3 infront of the first 4, and does this all the way till it gets the last value in y1_x1 and assembles it at the end of the long Y1_X1. So output of loop looks like this:
Y1_X1 =
1.0000 0.9428 0.7454 0 0.9428 0.7454 0 0.7454 0 0
Thanks

채택된 답변

Bruno Luong
Bruno Luong 2022년 11월 26일
편집: Bruno Luong 2022년 11월 26일
n = 4;
x1 = linspace(0,2,n);
y1_x1 = sqrt(1-( (x1.^2)/4 ) );
Y1_X1 = [];
for i = 1:n
Y1_X1 = [Y1_X1, y1_x1(i:end)]; % concatenate
end
Y1_X1
Y1_X1 = 1×10
1.0000 0.9428 0.7454 0 0.9428 0.7454 0 0.7454 0 0

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by