# How to add negative number to the and of rand function

1 回表示 (過去 30 日間)
George Francis 2016 年 4 月 21 日
コメント済み: George Francis 2016 年 4 月 22 日
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

サインインしてコメントする。

### 回答 (2 件)

Roger Stafford 2016 年 4 月 21 日

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 件のコメント-1 件の古いコメントを表示-1 件の古いコメントを非表示
George Francis 2016 年 4 月 21 日
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.

サインインしてコメントする。

Renato Agurto 2016 年 4 月 21 日
Assuming x is your 9x5 random matrix:
out = [x (-1:-1:-9)'];
is this what you want?
##### 3 件のコメント1 件の古いコメントを表示1 件の古いコメントを非表示
Renato Agurto 2016 年 4 月 21 日
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 2016 年 4 月 22 日
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

サインインしてコメントする。

### カテゴリ

Help Center および File ExchangeMATLAB Support Package for Arduino Hardware についてさらに検索

タグが未入力です。

### Community Treasure Hunt

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

Start Hunting!

Translated by