check if random numbers( 5x5) generated are greater than (1x5)

1 回表示 (過去 30 日間)
JL
JL 2019 年 8 月 2 日
編集済み: Walter Roberson 2019 年 8 月 2 日
I've generated these from rand(5,5)
0.1556 0.2725 0.0095 0.3996 0.8905
0.0614 0.7758 0.8284 0.2179 0.1670
0.6611 0.3314 0.9085 0.8816 0.4252
0.0186 0.6031 0.7053 0.9421 0.3269
0.2911 0.1840 0.2433 0.9490 0.5676
and I would like to check if each one of them are greater than
x = [0.01 0.01 0.01 0.01 0.02]
and I should get something like this:
1 1 0 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
  2 件のコメント
John Doe
John Doe 2019 年 8 月 2 日
編集済み: John Doe 2019 年 8 月 2 日
The algorithm can be as of:
Intialize a matrix with zeros to save your final result. Initialize another matrix to save your "x"
Try using a for loop to scan the rows and colums and use an if loop to compare the corresponding values and set the final result in the zero matrix.
Walter Roberson
Walter Roberson 2019 年 8 月 2 日
It looks to me as if you want a 1 output if the matrix entries are greater than any one of the x values. If so you can compare to min(x) and not bother comparing to the other entries.

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

採用された回答

Stephan
Stephan 2019 年 8 月 2 日
編集済み: Stephan 2019 年 8 月 2 日
Here is an example using gt (greather than) and bsxfun :
A = repmat(1:5,5,1)
B = 5:-1:1
res = bsxfun(@gt,A,B)
where A is your rand matrix and B is your vector to compare with.
  1 件のコメント
JL
JL 2019 年 8 月 2 日
編集済み: Walter Roberson 2019 年 8 月 2 日
Thanks a lot Stephan! its working! :). I have another question - was wondering if you could help? https://uk.mathworks.com/matlabcentral/answers/474653-call-certain-rows-to-form-a-list

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by