Effacer les filtres
Effacer les filtres

How to add negative number to the and of rand function

1 vue (au cours des 30 derniers jours)
George Francis
George Francis le 21 Avr 2016
Commenté : George Francis le 22 Avr 2016
Hello I have to generate 5 lines of random numbers and at the end of random numbers I have to add one extra negative number from (-1 to -9) I tried strcat and things like that but I couldn't combine negative and real numbers can You help me please? The code below will create everything what I need but I have to somehow combine them. Result has to be for example. Then I have to send them via serial port to the arduino. I know how to do it but sometimes it showed me error. It works only when i send it as a string. I had it like this i = input('Pu numbers: ', '%s'), fwrite(s,i); and it works but now I have to send those random numbers
if true
1 2 3 4 5 -1
5 8 3 5 9 -2
.
.
.
9 2 4 8 6 -9
end
if true
% for b = 1:9
x = round(rand(1,5)*9);
disp(x)
end
for a = -1:-1:-9
disp (a);
end
end

Réponses (2)

Roger Stafford
Roger Stafford le 21 Avr 2016
Modifié(e) : Roger Stafford le 21 Avr 2016
What about
x = [floor(10*rand(1,5)),floor(-9*rand)];
(Note: writing "round(rand(1,5)*9)" makes 0 and 9 half as probable as each of the other integers in between.)
  1 commentaire
George Francis
George Francis le 21 Avr 2016
I have to do it separatly and then add the negative numbers. Also the negative numbers can't be random. It has to be in order from -1 to -9.
1 2 3 4 5 -1
4 7 8 9 3 -2
. -3
. -4
1 4 7 8 9 -5
etc.

Connectez-vous pour commenter.


Renato Agurto
Renato Agurto le 21 Avr 2016
Assuming x is your 9x5 random matrix:
out = [x (-1:-1:-9)'];
is this what you want?
  3 commentaires
Renato Agurto
Renato Agurto le 21 Avr 2016
yes, but you have 2 separate for loops. Can you give us an example of x... should it be constantly overwritten or is a big matrix?
George Francis
George Francis le 22 Avr 2016
I don't know how it supposed to look. I thought that I will make in the firts for loop random numbers from 1 to 9 then in another for loop I'll try add negative numbers in order from -1 to -9 and then I will create another for loop with pause which sends this data into serial port one by another.
1 step
1 2 3 4 5
4 7 8 9 3
.
.
1 4 7 8 9
2 step
1 2 3 4 5 -1
4 7 8 9 3 -2
. -3
. -4
1 4 7 8 9 -5
3 step
for p = 1:9
fwrite(serial object, data x);
pause(5);
end

Connectez-vous pour commenter.

Catégories

En savoir plus sur MATLAB Support Package for Arduino Hardware dans Help Center et File Exchange

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

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

Start Hunting!

Translated by