-1

私はmatlabが初めてなので、この問題に問題があります

「ヘルプを使用して、組み込み関数 'rand' について学習します。rand 関数を使用して、1 が頭で 0 が尾である一連の '頭' または '尾部' を生成するスクリプトを作成します。必要なもう 1 つの関数は、 「rand」関数の出力を整数に変換するには、「round」を使用します。関数を実行すると、「THTTHHH…..」のように表示されるはずです。

ヘルプ機能を使ったり、ネットで検索したりしましたが、まだランダム機能がわかりません。

私は使用しました

フリップ = ランダム('ノルム',1:10,1)

フリップ =

1.0774    0.7859    1.8865    3.9932    6.5326    5.2303    7.3714    7.7744   10.1174    8.9109

ご覧のとおり、乱数を出し続けています。数値を 0 または 1 にしたいのですが、1:10 の 10 は 10 の値を表示することはわかっていますが、2 つの 1 は何を意味するのでしょうか?

助けていただければ幸いです、ありがとう!

4

2 に答える 2

3

For completeness, there's also the randi function (at least from 2011b onwards):

faceId = randi(2,1,10) % generates random integers between 1 and 2 (inclusively)
faceId =

     2     2     2     1     1     2     2     1     1     2

That avoids the need for the < 0.5 comparison and the +1

于 2013-09-09T06:57:06.977 に答える
1

次のようにできます。

faceId=rand(1,10)<0.5
  faceId =
      1     1     0     0     1     1     1     0     0     0

faceName='TH';

faceName(faceId+1)
  ans =
  THHHHTTHTH
于 2013-09-09T05:32:29.083 に答える