TransWikia.com

matlabの文法について

スタック・オーバーフロー Asked by Takeda Kentarou on December 24, 2021

Matlabのサンプルソースコードを読まなければならない必要に駆られたのですが未経験なものでちょっとした文法も良く分からない状況です。

for t=1:1000
 I=100*(rand(N,1)-0.5);
end;

上記のコードの意味を教えていただけないでしょうか。
1000回ループしている意味は分かるのですがそのあのIへ一体何をしているのかがいまいち分かりません。
Matlabを普段から使っている方にしてみれば何のことはないコードだとは思いますが、宜しくお願いします。

One Answer

コメントで解決されたようですので、回答として編集・転記いたします。

マニュアルからのコピペ的説明ですが、「区間 (-50, 50) の一様分布した実数値から成る、N 行 1 列のベクトルを生成しています」。
一様分布の乱数 - MATLAB rand を読むと理解できるかと思います。

つまり質問文のコードは、(0~1.0)の実数を返す乱数に0.5を引くことで(-0.5~0.5)までの範囲にしぼった後でさらに100を掛けることで(-50.0~50)へ拡張して、それをN行1列のベクトルとしてIに代入しています。

Answered by payaneco on December 24, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP