Array assembly by indexing in a loop

15 vues (au cours des 30 derniers jours)
Saim Ehtesham
Saim Ehtesham le 26 Nov 2022
Commenté : Saim Ehtesham le 26 Nov 2022
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

Réponse acceptée

Bruno Luong
Bruno Luong le 26 Nov 2022
Modifié(e) : Bruno Luong le 26 Nov 2022
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

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Produits


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by