8652このページで紹介したsageノートブックは、以下のURLから参照することができます。†sageの式で変数として認識させるには変数をvar関数で宣言しなくてなりません。変数の宣言は、var('変数名')複数の変数を宣言する場合には、スペースを空けて指定します。yに宣言したsage変数を代入します。変数の値を指定して、関数の返す値を調べるには、f1(x=1.5)のように式を表す変数にカッコを付けて、x=1.5と値を指定するとその時の関数の値が表示されます。yと複数存在する場合の例をです。y=3の時の値を出力します。規則の代入には、subs_exprを使います。†sageで関数を定義する方法が2つあります。pythonの関数を定義するlambda式を使って関数を定義するです。手続き的な関数を定義する場合には、python関数を使うと便利です。関数の本体のように定義します。以下にx3を返す関数cubeをpythonの関数を使って定義しました。†つぎにlambda式を使って関数を定義する方法を示します。x3のように式で表現できる場合には、lambda関数が便利です。式のように定義します。先ほどと同じx3を返す関数の例を以下に示します。数式処理で助かる機能は、方程式の解法でしょう。方程式の解法は、solve関数を使って以下のように行います。解を得る変数)例として、\(f(x)=ax+b\)の一次方程式を解いてみます。得られたので、\(a=2,b=1\)を代入して解の値を取得します。b=1)-1/2これだと、解から式をもう一度入力しなくてはなりません。そこで、a,bも変数として関数を定義し、solveでa=2,b=1をセットするようにします。すれば簡単に解の値が確認できます。(-1/2)]解の値がほしいときには、find_root関数で数値解析で値を計算します。範囲で数値解析します。一次方程式ではあまりに簡単なので、多項式の解を求めてみます。$$のプロット図を以下に表示します。-1と1付近に極値があります。2)plotで可視化することでfind_rootでの計算範囲を大まかに把握することができます。図から-3から3の間に解があることが見て取れたので、この範囲で数値解を求めます。同様にsolveに関数に式のリストを与えることで、連立方程式の解を得ることができます。$$の解を例に以下に示します。]上記関数のプロット結果は、以下のとおりです。$$の解を例に以下に示します。]この関数をimplicit_plotを使って関係式の形をそのまま使ってプロットしてみます。円のなので、aspect_ratio=1としました。高校で習った、導関数をsageを使って導いてみましょう。平均変化率は、\(g(x)=hf(x+h)−f(x)\)を以下のように定義します。3/2*x^2となります。極値を取ったものが求める導関数\(f′(x)\)です。h=0)3/2*x^2結果は、f(x)をxで微分したものと同じになります。x^{x-1}\)です。sageの微分diff関数は、以下のように使います。微分する変数)上記公式のsageで結果は、以下のようになります。1)sageで変数xの関数fを以下のように定義し微分すると、\(f′\)は以下のようにD[0](f)(x)となります。x)これで変数xの関数fを定義したことになります。D[0](g)(x)*f(x))/g(x)^2-D[0](g)(x)/g(x)^2D[0](f)(g(x))*D[0](g)(x)は、以下のようようになり、微分の各公式を表しています。以下の関数を微分した結果を示します。微分の応用として、接線の方程式とその法線を計算してみましょう。