• ベストアンサー

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 どこを直せばいいのか分かりません。初心者なので…。 どなたか分かる方がいらっしゃったら、教えてください。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

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) これを追加してみてください。

mican00
質問者

お礼

試してみます。どうも有難うございました!

その他の回答 (4)

  • Takochu
  • ベストアンサー率53% (82/154)
回答No.5

140行の y= を   y=Sin(i*3.141592/180) に変更すれば、うまくいきます。 Sin(x) の x はラジアンで指定します。 x に 3.141592/180 を掛ければ、角度に変換できます。 また、i が 0~360 に変化するのですから、 x ではなく i を指定します。

mican00
質問者

お礼

ご回答どうもありがとうございました!助かりました。

  • elmclose
  • ベストアンサー率31% (353/1104)
回答No.3

line 140 の y=sinx って、sinxが変数とみなされて、 それで初期値0がセットされたままになってる可能性はないですか?

mican00
質問者

お礼

そうなんでしょうか?確かに、y=1の線上に点線が現れてるような…。どう直したらいいんでしょうか?? ご回答、どうも有難うございました。

  • paspas
  • ベストアンサー率52% (47/90)
回答No.2

active basicはしようしたことはないのですが、気になることを少し。 まず、角度の単位は度ではなくラジアンではないでしょうか。 pi=3.1415 '有効桁数にしてください x=i/180*pi としてはどうでしょうか?

mican00
質問者

お礼

なるほど~。分かりました。どうも有難うございます!

  • RAPTsong
  • ベストアンサー率42% (74/175)
回答No.1

# ここ6~7ほどBASICから離れていたので記憶が曖昧ですが。 basic って、 y = sinx って構文は許されていましたっけ? y = sin * x とか、ラジアン変換か何か必要だったような気がします。

mican00
質問者

お礼

そうですね、後で調べてみたら、ラジアン変換が必要でした。でも、ラジアン変換ってどうやったらいいのかが分からなくて…もうちょっと考えて見ます。有難うございました。

関連するQ&A

専門家に質問してみよう