- ベストアンサー
basicでの三角関数のグラフの書き方??
active basicを使って、sinxのグラフを書こうとしたのですが、出来ません。以下のようにやってみたのですが、x軸と平行な点線が描かれるだけ…。 100 cls3 110 line(50,550)-(1050,550) 120 line(550,50)-(550,1050) 130 for i=0 to 360 140 x=i/360:y=sinx 150 xw=500*x+550:yw=500*y+550 160 pset (xw,yw) 170 line -(xw,yw) 180 next i 990 end どこを直せばいいのか分かりません。初心者なので…。 どなたか分かる方がいらっしゃったら、教えてください。 宜しくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
Excelなんかでもそうですが、三角関数に使う角度は ラジアンを使います。 質問者さんのプログラムを見ますと、 >130 for i=0 to 360 >140 x=i/360:y=sinx iを360で割っていますが、これでは半端なグラフしか書けません。 それから、BASICの関数は引数をカッコでくくらなくてはいけません。 >140 x=i/360:y=sin(x*3.14159*2) こうしてみてください。 それから160行は余計な気がします。代わりに、 125 pset(550,550) これを追加してみてください。
その他の回答 (4)
- Takochu
- ベストアンサー率53% (82/154)
140行の y= を y=Sin(i*3.141592/180) に変更すれば、うまくいきます。 Sin(x) の x はラジアンで指定します。 x に 3.141592/180 を掛ければ、角度に変換できます。 また、i が 0~360 に変化するのですから、 x ではなく i を指定します。
お礼
ご回答どうもありがとうございました!助かりました。
- elmclose
- ベストアンサー率31% (353/1104)
line 140 の y=sinx って、sinxが変数とみなされて、 それで初期値0がセットされたままになってる可能性はないですか?
お礼
そうなんでしょうか?確かに、y=1の線上に点線が現れてるような…。どう直したらいいんでしょうか?? ご回答、どうも有難うございました。
- paspas
- ベストアンサー率52% (47/90)
active basicはしようしたことはないのですが、気になることを少し。 まず、角度の単位は度ではなくラジアンではないでしょうか。 pi=3.1415 '有効桁数にしてください x=i/180*pi としてはどうでしょうか?
お礼
なるほど~。分かりました。どうも有難うございます!
- RAPTsong
- ベストアンサー率42% (74/175)
# ここ6~7ほどBASICから離れていたので記憶が曖昧ですが。 basic って、 y = sinx って構文は許されていましたっけ? y = sin * x とか、ラジアン変換か何か必要だったような気がします。
お礼
そうですね、後で調べてみたら、ラジアン変換が必要でした。でも、ラジアン変換ってどうやったらいいのかが分からなくて…もうちょっと考えて見ます。有難うございました。
お礼
試してみます。どうも有難うございました!