質問: Matlabのサンプルソースコードを読まなければならない必要に駆られたのですが未経験なものでちょっとした文法も良く分からない状況です。 ``` for t=1:1000 I=100*(rand(N,1)-0.5); end; ``` 上記のコードの意味を教えていただけないでしょうか。 1000回ループしている意味は分かるのですがそのあのIへ一体何をしているのかがいまいち分かりません。 Matlabを普段から使っている方にしてみれば何のことはないコードだとは思いますが、宜しくお願いします。
回答: コメントで解決されたようですので、回答として編集・転記いたします。 マニュアルからのコピペ的説明ですが、「区間 (-50, 50) の一様分布した実数値から成る、N 行 1 列のベクトルを生成しています」。 一様分布の乱数 - MATLAB rand を読むと理解できるかと思います。 つまり質問文のコードは、(0~1.0)の実数を返す乱数に0.5を引くことで(-0.5~0.5)までの範囲にしぼった後でさらに100を掛けることで(-50.0~50)へ拡張して、それをN行1列のベクトルとしてIに代入しています。