Multiplying By 10000 vs 10^4
5 ビュー (過去 30 日間)
古いコメントを表示
Why
A=rand(3,3);
B=A(:)*10000;
is different from
A=rand(3,3);
B=A(:)*10^4;
2 件のコメント
Stephan
2018 年 4 月 27 日
Hi,
it isnt:
>> A = rand(3,3)
A =
0.8147 0.9134 0.2785
0.9058 0.6324 0.5469
0.1270 0.0975 0.9575
>> B= A(:)*10000
B =
1.0e+03 *
8.1472
9.0579
1.2699
9.1338
6.3236
0.9754
2.7850
5.4688
9.5751
>> C = A(:)*10^4
C =
1.0e+03 *
8.1472
9.0579
1.2699
9.1338
6.3236
0.9754
2.7850
5.4688
9.5751
>> Yes_it_is_the_same = B == C
Yes_it_is_the_same =
9×1 logical array
1
1
1
1
1
1
1
1
1
Stephan
2018 年 4 月 27 日
編集済み: Stephan
2018 年 4 月 27 日
the way you wrote it, will generate a new matrix A with new random numbers, which will most likely not be the same as in the first run:
>> clear all
>> A = rand(3,3)
A =
0.9649 0.9572 0.1419
0.1576 0.4854 0.4218
0.9706 0.8003 0.9157
>> B= A(:)*10000
B =
1.0e+03 *
9.6489
1.5761
9.7059
9.5717
4.8538
8.0028
1.4189
4.2176
9.1574
>> A = rand(3,3)
A =
0.7922 0.0357 0.6787
0.9595 0.8491 0.7577
0.6557 0.9340 0.7431
>> C = A(:)*10^4
C =
1.0e+03 *
7.9221
9.5949
6.5574
0.3571
8.4913
9.3399
6.7874
7.5774
7.4313
>> Yes_it_is_the_same = B == C
Yes_it_is_the_same =
9×1 logical array
0
0
0
0
0
0
0
0
0
So you understand the difference between both versions?
bets regards
回答 (1 件)
Stephan
2018 年 4 月 27 日
See comments, when working with random numbers you have to understand, that everytime you use the command new random numbers will appear - thats the reason why you get different values for the supposed same thing.
Best regards
Stephan
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!