==================================== 曲線 2 ==================================== Mathematicaを用いた練習を行います。 まず、Mathematica を使えるようにしてください。 プログラムの中の数字などを適当に変更してプログラムがうまく動くか試してみてください。 以下の説明の中で*****ではさまれた部分は Mathematica に入力する文字列です。 コピーするか、自分で入力して、 Shift+Enter(Return) キーで実行します。 上から順に,すべて実行するようにしてください。 上で定義した関数を後で利用すること があります。 ----------------------------------- 関数のグラフを描くにはPlotを用います。 曲線を描くには、ParametricPlot も用います。 これは、y=f(x)の形になるもの以外も描く必要があるためです。 また、色をつけるためにパッケージ Graphics`Colors` を 使います。 平面曲線を描くための準備として、まず次ぎを入力してください。 ***** << Graphics`Colors` J[{p1_, p2_}] := {-p2, p1} (* 平面曲線の曲率 *) kappa2[alpha_][t_] := D[alpha[tt], {tt, 2}].J[D[alpha[tt], tt]]/ Simplify[D[alpha[tt], tt].D[alpha[tt], tt]]^(3/2) /. tt -> t alpha[t_] := {x[t], y[t]} ***** デカルトの葉線 ***** DECLEAF1 = ParametricPlot[{3t/(1 + t^3), 3t^2/(1 + t^3)}, {t, -1/2, 1}, AspectRatio -> Automatic, PlotStyle -> {Thickness[.006], RGBColor[1.0, 0.0, 0.0]}] ***** ***** DECLEAF2 = ParametricPlot[{3t^2/(1 + t^3), 3t/(1 + t^3)}, {t, -1/2, 1}, AspectRatio -> Automatic, PlotStyle -> {Thickness[.006], RGBColor[0.0, 0.0, 1.0]}] ***** ***** Show[DECLEAF1, DECLEAF2] ***** 曲線を描くのに、陰関数表示を用いることもあります。 このためには、パッケージ Graphics`ImplicitPlot` を使います。 ***** << Graphics`ImplicitPlot` ***** ***** IMELLIP = ImplicitPlot[x^2 + 2 y^2 == 3, {x, -2, 2}, {y, 0, 1.5}, PlotStyle -> { Thickness[.006], RGBColor[1.0, 0.0, 0.0]}] ELLIP = ParametricPlot[{Cos[ t]Sqrt[3], Sin[t] Sqrt[3/2]}, {t, Pi, 2Pi}, AspectRatio -> Automatic, PlotStyle -> { Thickness[.006], RGBColor[0.0, 0.0, 1.0]}] ***** ***** AA1=Show[IMELLIP, ELLIP]-> ***** 曲線のパラメータ表示(有理式などの)がある時、陰関数表示にすることを考えましょう。 最初のデカルトの葉線の場合を考えます。 ***** ff = Factor[3t/(1 + t^3) - x] gg = Factor[3t^2/(1 + t^3) - y] f = Numerator[ff] g = Numerator[gg] ***** ***** pp=Factor[Resultant[f, g, t]] ***** ***** ImplicitPlot[pp == 0, {x, -2, 2}, {y, -2, 2}, PlotStyle -> { Thickness[.006], RGBColor[1.0, 0.0, 0.0]}] ***** 次に sin t, cos t の多項式で表される曲線を考えましょう。 また、これらの曲線を陰関数表示することを考えます。 円になる例を考えます。 ***** ParametricPlot[{Cos[ t]*Cos[t], Sin[t]*Cos[t]}, {t, 0, Pi}, AspectRatio -> Automatic, PlotStyle -> {Thickness[.006], RGBColor[1.0, 0.0, 0.0]}] ***** 次の例を考えます。 ***** ParametricPlot[{Cos[t]*Cos[2t], Sin[t]*Cos[2t]}, {t, 0, 2 Pi}, AspectRatio -> Automatic, PlotStyle -> {Thickness[.006], RGBColor[0.0, 0.0, 1.0]}] ***** ***** rose3[k_][t] := ParametricPlot[{Cos[t]*Cos[2t], Sin[t]*Cos[2t]}, {t, 0, k}, AspectRatio -> Automatic, PlotRange -> {{-1.2, 1.2}, {-1.2, 1.2}}, PlotStyle -> {Thickness[.006], RGBColor[0.0, 0.0, 1.0]}] ***** ***** Do[rose3[k][t], {k, -0.0001, 2 Pi, Pi/16}] ***** ***** ParametricPlot[{Cos[t]*Cos[t/2], Sin[t]*Cos[t/2]}, {t, 0, 4 Pi}, AspectRatio -> Automatic, PlotStyle -> {Thickness[.006], RGBColor[0.0, 0.0, 1.0]}] ***** ***** rose1a3[k_]:=ParametricPlot[{Cos[t]*Cos[t/2],Sin[t]*Cos[t/2]},{t,0, k}, AspectRatio[Rule]Automatic,PlotRange->{{-1.2,1.2},{-1.2,1.2}}, PlotStyle[Rule]{ Thickness[.006],RGBColor[0.0,0.0,1.0]}] Do[rose1a3[k], {k, -0.0001, 4 Pi, Pi/16}] ***** 前の例で、Cos[t/2] を Cos[t/3], Cos[2 t/3] などいろいろと変えてみましょう。 cos(nθ), sin(n + 1)θ を cos(θ), (sin(θ) )の多項式として表す公式は Chebyshev 多項式として知られています。これらの多項式は mathematicaに組み込まれています。 例えば、ChebyshevT[2, c]は cos(2θ) を c=cos(θ)の多項式として表す式は 2c^2-1です。実際、次を試して下さい。 ***** ChebyshevT[2, c] ***** ChebyshevT[n, c]は cos(nθ)をcos(θ)の多項式であらわすものです。 ChebyshevU[n, c]は sin[(n + 1)θ]/sin θ をcos(θ)の多項式であらわすものです これを用いて、陰関数表示することを考えましょう。 曲線 ***** ParametricPlot[{Cos[t]*Cos[2t], Sin[t]*Cos[2t]}, {t, 0, 2 Pi}, AspectRatio -> Automatic, PlotStyle -> {Thickness[.006], RGBColor[0.0, 0.0, 1.0]}] ***** を考えます。 ***** f=Numerator[Factor[(c*(2 c^2-1)-x)/.{c->(1-t^2)/(1+t^2)}]] g=Numerator[Factor[(s*( 2 c^2-1)-y)/.{c->(1-t^2)/(1+t^2), s-> 2 t/(1+t^2)}]] QQ=Factor[Resultant[f,g,t]] ***** ***** ImplicitPlot[QQ == 0, {x, -1.1, 1.1}, {y, -1.1, 1.1}, PlotPoints -> 200, PlotStyle -> { Thickness[.006], RGBColor[1.0, 0.0, 0.0]}] ***** その他の例でもおなじことを試して下さい。陰関数表示を求めて下さい。