How to specify a number to the specified position in the array?

1 visualizzazione (ultimi 30 giorni)
matlab问题图.jpgHi guys, the question is that now I used 'zeros' command, to create an array which have 20 positions, then there are some data will be created to fill the array, and I want to point data to the specified position. For example, the No.1 data should stay in the first position, the end data should stay in the second position, the No.2 data should stay in the third position. Is there any function can help me arrange their positions? Thanks a lot !

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 14 Ott 2019
a = [2 3 5 7 11];
out = [a;flip(a,2)];
out = out(1:numel(a));

Più risposte (1)

the cyclist
the cyclist il 13 Ott 2019
Modificato: the cyclist il 13 Ott 2019
There's probably not an built-in function that does just that, but it's easy to do it with basic array manipulations. Here is one way.
newData = 1:20; % Your example "new" data
newNewData = [newData(1:10); newData(20:-1:11)]; % Make even newer data, temporarily in 2-d array
newNewData = newNewData(:)' % Make the newer data into a row array
  5 Commenti
the cyclist
the cyclist il 14 Ott 2019
Modificato: the cyclist il 14 Ott 2019
When you say "random", do you mean the length of the vector is random? Or that the values in the vector are random?
If your data is
[2 3 5 7 11]
what would you want the output to be?
YANGCHENG LIUL
YANGCHENG LIUL il 14 Ott 2019
random length of vector and random data, it is a length calculation function, the number of variable maybe 10, 15, or 20, and the value is random too. As you gaved example, I want the data can be arranged as [2 11 3 7 5].

Accedi per commentare.

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by