0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MATLAB-Sample 【基礎】データを作る

Last updated at Posted at 2014-03-20

いろいろなデータを作ってみる。

等間隔のデータを作る

次のような奇数のデータを作ってみる。

A = \left( \begin{array}{cc} 1 & 3 & 5 & 7 & 9 \end{array} \right)

初期値が1、間隔が2、最終値が9となるので、次のように記述する。

> A = 1:2:9;
> A

A =

  1 3 5 7 9

ちなみに、真ん中の数字を省略すると、間隔1のデータが生成できる。

> A = 1:9;
> A

A = 

  1 2 3 4 5 6 7 8 9

数学関数の値を作る

前項の「等間隔のデータを作る」で作ったデータから、数学関数のデータを作り出せる。ここでは次の式、

y = \sin(x) \hspace{20pt} (0 \leq x \leq 2\pi)

の $y$ を配列で求めてみる。まずは $x$ の値を作る。整数だとなめらかなsinカーブにならないので、実数で定義してみよう。間隔は0.01ぐらいで。
尚、円周率 $\pi$ は、MATLABでは定数piで参照できる。

> X = 0.0:0.01:2 * pi;
> X

X =

  ... %大量のデータが出力されるので省略

では Xから$y$ の値を生成してみる。

> Y = sin(X);
> Y

Y =

  ... %やはり大量のデータが出力されるので省略

とても簡単。が、これでは気軽に確認できない。もうちょっとこう視覚的に見たいので、少しだけ勇み足でplot関数を使ってグラフを表示してみる。(plot関数の細かい説明は別トピックスに記載する予定。)

> plot(X, Y);

こんなグラフが出ればOK。

sinカーブ.png

sin関数は、引数に1次元配列だけでなく、スカラ値(単に一つの数値)、行列も入力できる。

> X = [ 0 pi/2 ; pi pi * 3/2 ];
> Y = sin(X);
> Y

Y =

         0    1.0000
    0.0000   -1.0000

各要素毎にsin関数を適用した値の行列が返される。

他にも同じような使い方ができる関数があると思う。

ランダムなデータを作る

肝になるのはrand関数。デフォルトで0~1の間の実数を返す。
基本的な使い方は、引数のとり方を2つ覚えれば十分かと。

まずは引数を1つだけ指定した場合。引数をnとした場合、n行n列で、0~1の間の乱数を要素とする行列を返す。

> %
> X = rand(1);
> X

X =

    0.2714 

> X = rand(2);
> X

X =

    0.2174    0.2305
    0.6897    0.1721

次に引数を2つ指定した場合。第1引数をm、第2引数をnとすると、m行n列で、0~1の間の乱数を要素とする行列を返す。

> X = rand(2, 3);
> X

X =

    0.9545    0.2276    0.1522
    0.7410    0.7689    0.6552
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?