教員用wwwサービス - mathematica 1...20 literacy 2 mathematica 乱数 •...

31
1 Mathematica Mathematica 1 1 Hiroshi Toyoizumi Hiroshi Toyoizumi Univ. of Aizu Univ. of Aizu toyo@u toyo@u - - aizu.ac.jp aizu.ac.jp REFERENCES REFERENCES [1] [1] Fujitu Fujitu et al, 1999 Literacy 2 et al, 1999 Literacy 2 Mathematica Mathematica handout handout [2] R. Gaylord et al, [2] R. Gaylord et al, Mathematica Mathematica プログラミング プログラミング プログラミング プログラミング プログラミング プログラミング プログラミング プログラミング

Upload: others

Post on 23-Jan-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

1

MathematicaMathematica 11Hiroshi ToyoizumiHiroshi Toyoizumi

Univ. of AizuUniv. of Aizutoyo@[email protected]

REFERENCESREFERENCES::::::::[1] [1] FujituFujitu et al, 1999 Literacy 2 et al, 1999 Literacy 2 MathematicaMathematica handouthandout

[2] R. Gaylord et al, [2] R. Gaylord et al, MathematicaMathematica プログラミングプログラミングプログラミングプログラミングプログラミングプログラミングプログラミングプログラミング

Page 2: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

2

Literacy 2 MathematicaMathematicaMathematicaでででででででで何ができるか?何ができるか?何ができるか?何ができるか?何ができるか?何ができるか?何ができるか?何ができるか?

• 数学で使われる様々な関数やグラフィックスを扱うことができる。

• 数値計算、数式処理を行うことができる。

• プログラミング言語を持っていて複雑な処理ができる

Page 3: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

3

Literacy 2 Mathematica

MathematicaMathematicaの利用方法の利用方法の利用方法の利用方法の利用方法の利用方法の利用方法の利用方法

利用環境

• 演習室1,2,3,4,5,6 で利用できます。

• /usr/local/Mathematica/bin/mathematicaを実行すると ノートブック環境を利用できます。"Notebook Interface"と呼ばれます。

• /usr/local/Mathematica/bin/math を実行すると 端末モードで利用できます。kterm で利用したい場合や Mule の強力な編集機能を利用したい場合にはこちらを 利用します。“Text-Based Interface”と呼ばれます。

Page 4: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

4

Literacy 2 Mathematica

ドキュメントドキュメント

• Mathematica のノートブック環境を利用した場合には メインウィンドウの Help メニューから Help... の項目を 選択すれば、強力なドキュメントを利用することができます。

• Built-in FunctionsMathematica で用意されている関数の説明。

• Add-ons機能を追加(アドオン)して利用する方法の説明。

• The Mathematica Book書店で売られている同名の本と同じ内容。

• http://www.wolfram.co.jp/ がMathematica のホームページです。

Page 5: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

5

Literacy 2 Mathematica

起動起動

• /usr/local/Mathematica/bin/mathematica を実行する。

• /usr/local/bin/mathematica も利用可能。

Page 6: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

6

Literacy 2 Mathematica

命令の送信命令の送信

• メインウィンドウの中に命令を書きShift+Return ボタンを押す。

• "Text-Based Interface"の場合はReturn ボタンを押す。

Page 7: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

7

Literacy 2 Mathematica

終了終了

• メインウィンドウの File メニューの Quit の項目を選択する。

• "Text-Based Interface"の場合は Quit 命令を送信する。

Page 8: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

8

Literacy 2 Mathematica

ノートブックの保存ノートブックの保存

• メインウィンドウの File メニューの Save の項目を選択する。

Page 9: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

9

Literacy 2 Mathematica

ノートブックの読み込みノートブックの読み込み

• メインウィンドウの File メニューの Open の項目を選択する。

Page 10: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

10

Literacy 2 Mathematica

ファイルへの入出力ファイルへの入出力

• 1.11.1 Reading and Writing Mathematica Files を参照。

Page 11: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

11

Literacy 2 Mathematica

数値の計算数値の計算((高度な電卓として)高度な電卓として)

• Mathematicaは、数式の処理を行い、任意の精度で結果を出せる。

• In[ ]:= の後に適当な数式を書き、shift+リターンで出力が得られる。

• 数式の処理の順序は、一般的な処理の順序

• N[ ]という関数を使うと有効数字6桁で数式を評価した結果が表示される。

Page 12: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

12

Literacy 2 Mathematica

数値計算の例数値計算の例

数値として評価する

直前の入力

Page 13: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

13

Literacy 2 Mathematica

数学定数と数学関数数学定数と数学関数

• 通常良く使われる定数(シンボル)は組み込まれている

–例 E (e) 、Pi (π)、I (i ) など

• 標準的な数学関数は組み込まれている

–例 Log, Sin, ArcTan など

• 通常、mathematicaで組み込まれている関数は、大文字で始まる。

Page 14: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

14

Literacy 2 Mathematica

数学関数の例数学関数の例

Page 15: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

15

Literacy 2 Mathematica

シンボル計算シンボル計算

• Expandは式を展開するときに使われれる。

• Dを使って微分をするこおたができる。

• Integrateを使って定積分、不定積分が計算できる。

• Sumを使うと和が求められる。

Page 16: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

16

Literacy 2 Mathematica

シンボル計算の例シンボル計算の例

Page 17: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

17

Literacy 2 Mathematica

方程式の解の探索方程式の解の探索

• 簡単な代数計算で解ける方程式にはSolveを使う。

• 方程式の数値解を得るためには、いくつかの方法がある。

–例 FindRoot を使うとニュートン法による数値解が得られる。

Page 18: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

18

Literacy 2 Mathematica

解の探索の例解の探索の例 11

Page 19: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

19

Literacy 2 Mathematica

解の探索の例解の探索の例 22

Page 20: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

20

Literacy 2 Mathematica

乱数乱数

• 統計や数値的なテストを行うのに乱数の列を作ると便利なことが多い。

• Randomによって、任意の範囲の一様乱数が生成できる。

• Randomで発生する乱数は、一つ一つ別の乱数系列になる。

Page 21: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

21

Literacy 2 Mathematica

乱数の例乱数の例

Page 22: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

22

Literacy 2 Mathematica

グラフィックスグラフィックス

• Mathematicaは豊富なグラフィックス機能を持つ

– 2次元、3次元の関数・データのプロット

– 2変数関数の等高線、密度プロット

–円グラフ・棒グラフ

Page 23: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

23

Literacy 2 Mathematica

グラフサンプル(グラフサンプル(22次元プロット)次元プロット)

Page 24: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

24

Literacy 2 Mathematica

グラフサンプル(3グラフサンプル(3DDプロット)プロット)

Page 25: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

25

Literacy 2 Mathematica

グラフサンプル(等高線と密度)グラフサンプル(等高線と密度)

Page 26: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

26

Literacy 2 Mathematica

関数の定義関数の定義

・関数の定義は、Mathematicaにおけるprogrammingの一番重要な技術!

–関数の定義の例• harmonic[n_]:=Sum[1/k,{k,1,n}]

–定義された関数の使い方• harmonic[2]

Page 27: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

27

Literacy 2 Mathematica

関数の例関数の例

Page 28: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

28

Literacy 2 Mathematica

演習演習

(1)講義で説明した入力を実際に行って、mathematicaの動作を確かめよ。

(2)次の演習問題をmathematicaを用いて解き、解答(実行結果のプリントアウト)を提出しなさい。

Page 29: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

29

Literacy 2 Mathematica

演習問題1演習問題1

• 楕円 のグラフを書け。1

104

22

=+ yx

Page 30: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

30

Literacy 2 Mathematica

演習問題2演習問題2

複雑な関数を定義し、視覚的にきれいなグラフを描け。2次元にこだわらなくても良い。

–視覚的に綺麗なグラフでオリジナル性が高い作品を高く評価します。

Page 31: 教員用WWWサービス - Mathematica 1...20 Literacy 2 Mathematica 乱数 • 統計や数値的なテストを行うのに乱数の列を 作ると便利なことが多い。•

31

Literacy 2 Mathematica

演習問題3演習問題3

• 一般に

が成立することが知られている。これをグラフを書くことにより、確かめよ。

• オプション問題(時間がある人へ)

上の等式を証明せよ。(但し、eの定義をきちんと述べてから証明すること。)

ex x

x=+

∞→)/11(lim