FrontPage

2011/06/15からのアクセス回数 3136

ここで紹介したSageワークシートは、以下のURLからダウンロードできます。

http://www15191ue.sakura.ne.jp:8000/home/pub/1/

また、Sageのサーバを公開しているサイト(https://cloud.sagemath.com/ , http://www15191ue.sakura.ne.jp:8000/)にユーザIDを作成することで、ダウンロードしたワークシートを アップロードし、実行したり、変更していろいろ動きを試すことができます。

Sageを使ってみよう

インストールなしで使えるsage

Sageの最大の特徴は、 FirefoxやInternet Explorer等のブラウザーからSage Notebook Serverにアクセスして、 気軽に数式処理を楽しむことが出来ることです

ノートブックは、Sageでの一連の計算を記録したノートであり、計算に関する説明文を挿入したり、 値を変更して再計算することができます。

ノートブックの作成

Sageのノートブックを体験するには、Sageの開発サイトでアカウントを作成し、ノートブックを作成するのが最も簡単な方法です。

注)Sageの開発サイト :http://wwww.sagemath.org/ のTry Sage Online参照。 また、筆者もSageサーバを公開しています。詳しくは、 http://www15191ue.sakura.ne.jp:8000/ を参照してください。

ログインが完了すると以下のようなノートブック画面になります。

fstLogin.png

ワークシートの作成

ノートブック画面でNew Worksheetをクリックすると新しいワークシートが作成されます。

ワークシートで式を評価するには、セルと呼ばれるテキストエリアを利用します。 セルの基本操作は、以下のように行います。

  • セルの評価:セルに記述した式を評価するには、シフトキーとリターンキーを同時に押す(shift-returnと記す)方法またはevaluateをクリックする。
  • セルの追加:セルの上下にマウスを移動すると青い帯が表示されます。この青い帯をクリックするとセルが追加されます。
  • セルの削除:セル内のテキストをすべて削除し、もう一度バックスペースキーを押すとセルが削除されます。

セルを評価してみよう

それでは、セルに式を入力してその値を評価してみましょう。

以下の2行を入力して、shift-returnを押して下さい。一番最初は結果が表示されるまで少し時間が掛かります。

5/6と数値ではなく、分数で返ってくるところが数式システムならではの芸当です。

sageへの入力:

a = 1/2 + 1/3
print a

sageの出力:

5/6

複雑な数式を入力すると、テキストベースの結果では分かりづらいです。そんな時には、view関数を使って表示すると数式がきれいに表示されます。

sageへの入力:

view(a)

out1.png

多項式

中学の数学に出てきた多項式をSageで処理してみましょう。

以下の様な3次多項式を持つ関数\(f(x)\)をSageで定義します。 $$ f(x) = x^3 - x^2 -2x $$

最初に変数xをvar関数で定義します。次に上記の多項式を変数fにセットします。

sageへの入力:

x = var('x')
f = x^3 - x^2 - 2*x
view(f)

out2.png

多項式の因数分解には、factor関数を使います。

因数分解の結果から、関数fはx=-1, x=0, x=2でX軸と交わります。

sageへの入力:

factor(f)

sageの出力:

(x - 2)*(x + 1)*x

多項式のグラフ

3次多項式$f(x)$をプロットして、X軸と交差する位置を確認してみましょう。

plot関数には、表示したい関数とその範囲を指定します。ここではx=-2.5からx=2.5の範囲を指定します。

Sageの図化機能を使うことで簡単に$f(x)$の特徴を理解することができます。

sageへの入力:

plot(f, [x, -2.5, 2.5])

out3.png

関数の極

3次多項式$f(x)$の極は、関数の接線の傾きが0(傾きがX軸と平行)の場所です。 関数の極を求めるには$f(x)$を微分し、その値が0となるxを求めます。

関数の微分には、diff関数を使います。diff関数には、微分したい関数とその変数を引数とします。

sageへの入力:

df = diff(f, x); view(df)

out4.png

関数の解

関数solverは関数が0となる変数の値を求めます。solverの引数は、解を求めたい関数とその変数を指定します。

関数fとそれを微分した関数dfのグラフを比べると関数dfがX軸と交わる点で、 関数fの接線の傾きが0となっていることが見て取れます。

sageへの入力:

sol = solve(df, x); view(sol)
plot(df, [x, -2.5, 2.5])

out5.png

数値解

Sageは数式処理システムなので、関数solverの結果が数式で返ってきます。 数値解が欲しい場合にはfind_root関数を使います。

このようにSageを使って関数fをプロットしたり、解を求めることによって関数fの理解を深めることができます。

sageへの入力:

print find_root(df, -2, 0), find_root(df, 0, 2)

sageの出力:

-0.548583770355 1.21525043702

コメント

選択肢 投票
おもしろかった 20  
そうでもない 1  
わかりずらい 0  

皆様のご意見、ご希望をお待ちしております。


(Input image string)


添付ファイル: fileout5.png 433件 [詳細] fileout4.png 451件 [詳細] fileout3.png 429件 [詳細] fileout2.png 459件 [詳細] fileout1.png 478件 [詳細] filefstLogin.png 449件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-01-19 (木) 12:40:55 (66d)
SmartDoc