HOME > natural science Laboratory > ロボティクス講座 > LabVIEW TIPS集

LabVIEWで微分をプログラムする

文責:田村 友里恵 (2008年10月 4日) カテゴリ:LabVIEW TIPS集(47)

微分のプログラム完成までの流れ

1.まずはじめに、微分が何だったのか、教科書の式を参考にする。しかし、習った気はするものの何をしているのか、いまいち分からない。
2.次に、その式の意味を日本語で表せるように考える。文章にしたり、図にしてみたりと、自分が分かりやすいとおもうように考えてみる。
3.最後に、理解できた。と思ったらLab VIEWでプログラミングする。実行結果として出力されたグラフを見ると、そのプログラムがあっているのかどうかが分かる。間違えている場合、自分の考え方や、プログラムの仕方で何が間違えているのか、実行結果を見て考えることができる。

教科書からの微分の式

微分:関数 y = f(x) において、yの変化量 f(x + Δx) -f(x) のxの変化量に対する割合。つま り、現在の位置xからΔxまで変化するときの、関数 f(x) の平均変化率。これは、下記の式によってもとめられる。

tamu_bibun01.gif

また、関数 f(x) から導関数 f'(x) をもとめることを f(x)を微分するという。

日本語で考えてみる

bibun02.gif

上の式はどういう意味なのか。まずはじめに、式の最初に書いてある\lim _{\Delta x \to 0}というのは後で考えることにする。そしてほかの部分を先に考えることにする。
まず、分母の(Δx + x) - x というのは、xがどれだけすすんだか。分子の f(Δx + x) - f(x) という のはyがどれだけすすんだのかを示している。今、xがこれだけ(= Δx) 進んだ時に、yがどれだけ変化するのか、その変化の割合をみている。つまり、これが先ほどみた平均変化率と考えられる。これが図1である。 である。

bibun01.gif
図1.平均変化率

ここで、先ほど省略した\lim _{\Delta x \to 0} を考える。この意味は、Δxを限りなく0に近づけるという ことだ。微分は、x の進み具合からyの変化率をもとめている。つまり、 y = f(x) の曲線から微小な一部分を 切り出した部分曲線に注目していることになる。Δxが小さければ小さいほど、それだけ正確な値をもとめるこ とができる。なので、Δxを限りなく0に近づけたときを考えるのだ。
例えば、y = x^2のときは図2のようになる。

bibun03.jpg
図2.y=x^2とその微分

上図のそれぞれの点の座標は次の通り、 点A(1,1)、点B(2,4)、点C(3,9)、点D(4,16)、点E(5,25)。\par y軸の変化をみたものをそれぞれA'=1, B'=3, C'=5, D'=7, E'=9とおく。 すると、A'B', B'C', C'D', D'E'間の変化量はそれぞれ2となる。

Lab VIEW で微分をプログラム

今回、sin x のグラフを微分するプログラムを作成した。sin x の微分なので、実行結果がcos x になるはず。 まずはじめに、sin x のグラフを作成した。プログラムと実行結果は図3のようになる。プログ ラムの説明は以下の通りである。 ちなみに、プログラムの中で0.1をかけたのは滑らかなグラフにするためである。

bibun02.jpg
図3.sin xを表示するプログラム

1.四角の中に書かれていることを○回繰り返す。回数をきめるのはNの横の数字(今回は100)。また、「i」というのは、最初の値として0が入っており、一回繰り返すごとに1ずつ加算されていく。
2.左上と左下に入った値をかけた結果が右から出てくる。+、-、/、もそれぞれ、足したもの、引いたもの、割ったものを結果として出す。ちなみに、計算手順は上{足す/引く/かける/割る}下。
3.左から入ってきた値の正弦値を計算する。単位はラジアン。
4.上段につないだものがグラフのx軸に、下段につないだものがグラフのy軸になる。
5.XYグラフとして表示する。

次に、sin x を微分するプログラムを作成した。プログラムと実行結果は図4のようになる。先ほどのsin x のプログラム作成のときと同様に今回も、滑らかなグラフにするために0.1をかけた。 プログラムは式の通りで、f(x + 0.1)という関数からf(x)という関数を引き、それをxの変化分(0.1)で割っている。

bibun04.jpg
図4.sin xを微分するプログラム

最後に、sinxとそれを微分したプログラムの実行結果をくらべたものが図5である。これを見ると正弦波が余弦波になっていることを確認することができる。

bibun05.jpg
図5.sin x と、sin x を微分した結果のグラフ



タグ: ,

▲このページのトップNPO法人 natural science トップ

▲このページのトップNPO法人 natural science トップ




Warning: mysqli_connect(): (28000/1045): Access denied for user 'xsvx1015071_ri'@'sv102.xserver.jp' (using password: YES) in /home/xsvx1015071/include/natural-science/include_counter-d.php on line 8
MySQL DBとの接続に失敗しました