How to use output numbers as a vector.
9 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
The code I'm working on does what it's supposed to, however, I technically want it to output the values as a vector b instead of a message with the numbers.
The goal of this function is to input a vector and have the program sort them from smallest to largest, but without using the sort function.
The code I'm using is
clear variable
clc
a=input('Please input a vector of integers');
c=length(a);
for d = unique(a(:))
b=(sprintf('%d',d));
end
clc
sprintf('b= ')
disp(b)
right now the answer I'm getting is:
ans =
'b= '
2469
this is based upon the vector [9 4 6 2]
What I want to see output is:
b =
2 4 6 9
this output was copied from my teachers p code and is technically what my output should look like.
Yes this is homework.
3 commentaires
Réponse acceptée
Rik
le 6 Avr 2021
There are may sorting algorithms you could implement. One of the easiest to implement (and one of the slowest) is called bubble sort. If you Google 'bubble sort Matlab' you will find several implementations. Otherwise I would suggest reading some Wikipedia pages and trying to implement it yourself.
Plus de réponses (1)
Mathieu NOE
le 6 Avr 2021
hello
see bleow :
clear variable
clc
a=input('Please input a vector of integers : ');
c=length(a);
for d = unique(a(:))
b=(sprintf('%d ',d)); % add a blank after "%d"
end
clc
sprintf('b = %s', b)
1 commentaire
Rik
le 6 Avr 2021
This code only works as intended because d is a column vector, all elements of a are integers, and there are no duplicate values.
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!