プレイ日記
最小公約数を見つけてくれるプログラム、 誰か作ってくれないかなぁ…チラチラ ↑めんどくさい人
2そうだね
プレイ済み
返信[1]
親投稿
ナツキ natukin1978
つ ユークリッドの互除法 DEF GCD(A,B) IF !B THEN RETURN A RETURN GCD(B,A MOD B) END
0そうだね
プレイ済み
返信[2]
親投稿
KU kerorinU
euclidの互除法は最大公約数を求めるアルゴリズムですね。 最小公約数を求めるためには DEF LCD(A,B) RETURN 1 END とする必要があります。 ごめんなさい。
1そうだね
プレイ済み
返信[3]
親投稿
ナツキ natukin1978
よく見たら、最小公約数!? DEF SCD(A,B) RETURN 1 END
0そうだね
プレイ済み
返信[4]
親投稿
よくぞ引っかかってくれた!ww じゃなかった・・・(汗) 最大公約数のつもりでした・・・。
0そうだね
プレイ済み
返信[5]
親投稿
ごめんなさい・・・。 えっと、調べて来たんですけど、 IF M<N THEN SWAP M,X って入れた方が使いやすそうですね。
0そうだね
プレイ済み
返信[6]
親投稿
訂正 M,X⇒M,N
0そうだね
プレイ済み
返信[7]
親投稿
えっと、実は学校で、数学の先生が、≠「これ等しくないって意味ね」って言ったので、「ノットイコール」ってつぶやいたところ、話が弾み、グラフを書くプログラムを作ることになりました。先生にプチコンを教えた所、「じゃあ俺の3DSにいれて・・・。」みたいなこと言ってましたw ↑は余談ここから本題 で、なんかうまく反比例のグラフを作れなくて、 先生に相談してみた所、「媒介変数」を使えばいいとの事。 でも、ググってもわかりませんでした>< なんか、COSHとSINHを使うとか、45°傾けるとか・・・。 COSとSINの使い方はわかりますけどθとかわかりません。 誰かおしえてぇください!
0そうだね
プレイ済み
返信[8]
親投稿
KU kerorinU
ふつう関数は「y=ax+b」「y=sin x」みたいに左辺y、右辺xで表す。これが陽関数表示。 円の方程式「x^2+y^2=1」みたいに左辺にxとy、右辺に定数で表すのは、陰関数表示。 で、媒介変数表示ってのは、「x=cos t,y=sin t」みたいにx、yともうひとつの変数(この場合t。別に解ればt以外でも良い)で表す表示。
1そうだね
プレイ済み
返信[9]
親投稿
KU kerorinU
x^2+y^2=1とx=cos t,y=sin tは本質的に同じ関数、てのは解るかな? 実際にグラフ描けば解る。y=√(1-x^2)も同じ。これはグラフが円になる関数の陰関数・陽関数、媒介変数表示。 で、グラフが双曲線(反比例グラフの形)の関数の陰関数表示は「x^2-y^2=1」ってやつ(定数は省略)。でも陰関数表示は面倒なので、実際は一番扱いやすい媒介変数表示にしてグラフを描く。
1そうだね
プレイ済み
返信[10]
親投稿
KU kerorinU
で、そのとき使う道具が双曲線関数(sinh,cosh)っての。形は円のときと同じで、x=cosh t,y=sinh t(うろ覚え)。 三角関数がx軸からの角度から単位円上の座標をだす関数ってのは解るよね。だから円グラフの媒介変数表示は三角関数が出てくる。同じように双曲線関数はx軸からの角度から双曲線上の座標をだす関数。上の式の意味は解って貰えたと思う。解らないならごめんなさい
1そうだね
プレイ済み
返信[11]
親投稿
KU kerorinU
でも、さっきの式だと反比例グラフを時計回りにπ/4(45度)傾けた形になっちゃう。そこで、グラフの各点を半時計回りπ/4傾けて反比例グラフと同じグラフにする必要がある。ここで使う道具が1次変換。詳しくは省くけど、点P(x,y)を原点中心にθrad半時計回りに回転させた点P'(x',y')の座標は x'=x*cosθ-y*sinθ y'=x*sinθ+y*cosθ で出せる(うろ覚え)。 ここまで説明したら解るかな? 説明の解りにくさに定評のある私なので、解らなかったらごめんなさい。そのときはプチコミュの優しい方々が教えてくれるはず。ナツキさんとかみきさんとかけいさんとか。 good luck!
1そうだね
プレイ済み
返信[12]
親投稿
KU kerorinU
あ、θってのはaとかbとかtとかと同じ、ただの変数の名前。ギリシア文字はよくでてくるけど、π以外はふつうの文字と同じと思って良いと思う。
1そうだね
プレイ済み
返信[13]
親投稿
KU kerorinU
for example
1そうだね
プレイ済み
返信[14]
親投稿
とっても分かりやすかったです! 双曲線関数を使うんですね♪ ちなみに中2の知識だけで作ったものが こちらになります・・・。
1そうだね
プレイ済み
返信[15]
親投稿
自力で作った方の実行結果です。
1そうだね
プレイ済み
返信[16]
親投稿
とりあえず、 写しながら色々いじってます。 何処で比例定数を決められるのかは 大体わかりました。 グラフの大きさを変えるには、 (画面からはみ出さない ピッタリサイズにしたい) FOR I=-100 TO 100 の所を変えればいいのかなと思ったんですが、 どのように変わるのかわかりませんでした。 教えてください!
1そうだね
プレイ済み
返信[17]
親投稿
KU kerorinU
画面ギリギリの2点の回転前の座標をだし、atanでx軸とのなす角をだせばいける、、、と思うが、やってないので解りません。ごめんなさい。
0そうだね
プレイ済み
返信[18]
親投稿
ごめんなさい! 回転前の座標を出し まではわかるんですけど、 何いっているのか分かりません!
0そうだね
プレイ済み
返信[19]
親投稿
KU kerorinU
atanは傾きaをぶちこむと、傾きaの直線とx軸とのなす角が出てくる関数です。角度から傾きを出すtanの逆関数。
1そうだね
プレイ済み
返信[20]
親投稿
X=COS(RAD(T)) Y=SIN(RAD(T)) と、同じように、 X=COSH(RAD(T)) Y=SINH(RAD(T)) のTも角度を表してるんですか?
0そうだね
プレイ済み
返信[21]
親投稿
KU kerorinU
>双曲線関数はx軸からの角度から双曲線上の座標をだす関数 deg関数とrad関数の引数は必ず角度です。前者はラジアン、後者は度です。
0そうだね
プレイ済み
返信[22]
親投稿
OK.Now I understand. Thank you:)
1そうだね
プレイ済み