How can I change value of array?
Mostrar comentarios más antiguos
Hi!
I've an array that is A but I'd like to create another array, B, that containes in order the position of this values.
For example: if A is [1000,700,500,350,200,100,50,15], B must be [8,7,6,5,4,3,2,1].
I tried to do:
a = 8; % a is number of values in array
A = [1000,700,500,350,200,100,50,15];
for i = 1:a
B = A(i)
end
but B is not an array. How can I do?
4 comentarios
So B is just descending from length of A?
B=fliplr([1:length(A)])
You need to change B to B(i) in your code to get a vector. Right now you are overwriting B in every iteration. But then B would have the same values as A.
" I'd like to create another array, B, that containes in order the position of this values"
Then use sort:
[~,B] = sort(A)
EDIT: see also earlier question, with an impossibly complex approach to this problem:
sc
el 7 de Mayo de 2018
Jan
el 11 de Mayo de 2018
@sc: Please stop closing your question, when they got accepted answers already. After closing the questions are deleted, and this would remove the invested time of the ones, who help you. This is counter-productive in a public forum.
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Operators and Elementary Operations en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!