Hoicos Blog

Author: あぼかど

[簡単簡単!]Scratch3.0で高次の関数をグラフにしてみよう!

プログラミング

式をみただけではどのようなグラフかわかりにくい高次の関数をグラフにしてみる
3f15033732f39da5e4fb821e6fc0bee1 1024x1024 - [簡単簡単!]Scratch3.0で高次の関数をグラフにしてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, Scratch

前回の記事では2次関数をグラフにしてみました。今回はもっと高次の関数をグラフにしてみましょう!

私が3次関数を習ったのはいつだったか覚えてはいませんが、グラフをみたときにはとても感動した覚えがあります。「こんなにグネグネするのか!?」ってね^^

小学生や中学生には少し難しいかもしれませんがどんなグラフになるかだけでもみてみてください。

気になるあんな関数やこんな関数をグラフにしてみましょう。

前回の記事はこちら⇩

三次関数ってどんな感じ?

三次関数は3乗が式に入ってきます。こんな感じ⇩

三次関数
y=ax3+bx2+cx+d

ちなみにグラフはこんなやつ

1200px Polynomialdeg 3.svg - [簡単簡単!]Scratch3.0で高次の関数をグラフにしてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, Scratch
wikipediaより引用

a,b,c,dの値でどこを通るかを決定することができます。

二次関数や三次関数という名前からわかるように、○次関数の○に入る数字が一番大きい乗数と一致していますね。このように関数は無限に乗数を増やすことができます。

増やせば増やすほど細かくグラフを曲げることができるので、テイラー展開のようにどんなグラフ(例えばsinやcos)でも高次の関数で表すことができてしまいます。

三次関数をScratchで作ってみよう

準備

変数を以下のように6個用意します。

b47de380bbc20db7cc530accbf20822e - [簡単簡単!]Scratch3.0で高次の関数をグラフにしてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, Scratch

ペン機能も追加してください。

プログラム

7f70a5a184e5dde4b9ce98ea72c7b651 1002x1024 - [簡単簡単!]Scratch3.0で高次の関数をグラフにしてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, Scratch

演算のところが長いですね!これを作れたらおしまいです。がんばれ!

結果

aの値が大きすぎるとほとんど直線になってしまうので注意してください。

c029f4827c5f23f9f8e8cbc87bd197d4 - [簡単簡単!]Scratch3.0で高次の関数をグラフにしてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, Scratch
a=0.0001,b=0,c=0,d=0
2f4bbb1547a95416964e7a85760c6617 - [簡単簡単!]Scratch3.0で高次の関数をグラフにしてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, Scratch
a=-0.0001,b=0,c=0,d=0
acdfa8c73897edca2721fdc27003a5e8 - [簡単簡単!]Scratch3.0で高次の関数をグラフにしてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, Scratch
a=0.0005,b=0.05,c=-0.001,d=0
371daed526891b9f6e7d6fbdd5df82e8 - [簡単簡単!]Scratch3.0で高次の関数をグラフにしてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, Scratch
a=-0.0005,b=0.05,c=-0.001,d=100

少し数値を調整するのが難しいですが色々なグラフを作ることができます。

四次関数をScratchで作ってみよう

プログラムは省略しますが、結果はこんな感じになります。

841daafb4355a3adc02f8837ade8390f - [簡単簡単!]Scratch3.0で高次の関数をグラフにしてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, Scratch
da916b32444a2de98e4a76933b7b50d0 - [簡単簡単!]Scratch3.0で高次の関数をグラフにしてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, Scratch

4次関数って面白い形をしていますね!ふたつコブが出現するのです。

六次関数をScratchで作ってみよう

これも結果のグラフだけお見せします。a,b,c,d,e,f,gとたくさん係数が増え、どれがどの影響を及ぼすのかがぱっと見わかりにくいので適切な係数を見つけるのに少々手こずりました。

以下のグラフは、

a=0.0000000000001
b=0.00000001
c=0
d=-0.0002
e=0
f=0.000001
g=0です。

もはやめちゃくちゃ

ffcaf1c4dfc83b9286be217285de07f5 - [簡単簡単!]Scratch3.0で高次の関数をグラフにしてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, Scratch

少し値をいじってみるとこんな感じで外に飛び出てしまったりもします。

0643d91f3c51f502ec5f2dec4c6b3e41 - [簡単簡単!]Scratch3.0で高次の関数をグラフにしてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, Scratch

他にもこんなグラフも書けます。

16d19054fae2396d6da23dbcd722de90 - [簡単簡単!]Scratch3.0で高次の関数をグラフにしてみよう!-%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0-プログラミング, 勉強, Scratch

最後に

これをどんどんどんどん高次にしていくこともできます。そうなると係数の決め方が大変ですが、、、

数学がわからなくても同じプログラムを作って、係数をいじってどのような変化が起きるのかを観察するのも面白いですよ!ぜひやってみてね!

次回は円や楕円、sin、cosなどもやってみます〜!

この記事がいいと思ったら↓のシェアボタンから

Leave a Comment

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。