第1回 Mathematicaの基本操作1 演算、関数,簡単なグラフ(4月7日)

はじめに

マルチメディアとは

  • Multi(複数)+Media(媒体mediumの複数形)
  • IT(Information Technology)用語として1980年代~1990年代で広く使われた。
  • 一般には、映像や音楽などの動的コンテンツを含むイメージで捉えられることが多い。
  • しかしながら、現在はあまり使われない。

情報 学習指導要領(H.22)文部科学省HPより引用

  • 「図形と画像の処理」と「マルチメディア表現」とを整理統合し,「メディアの編集と表現」とする。
  • 「マルチメディア表現」の名称を変更し, 「情報コンテンツ実習」とする。
  • 「マルチメディア分野」については産業構造の変化等に対応して「情報コンテンツの制作・発信分野」と分野の呼称を改めた。

学習指導要領(H.22) 第3節 専門教科情報科の科目編成より 文部科学省HPより転載

テキスト・参考書

  • テキストなし
  • 参考文献1「MATHEMATICA 複雑系のシミュレーション物理学と生物学の探求」RJゲイロード・PRウェリン著/荒井隆訳(シュプリンガーフェアラーク東京)
  • 参考文献2「Mathematica数値数式プログラミング」 上坂吉則著(牧野書店)
  • 参考文献3「Mathematicaの基礎と応用」小国力著(サイエンス社)

授業の進め方・成績評価

  • 毎回のwebページを見ながら各自進めていく。随時、説明しながら進めていくが、気にせず自分のペースで進めて良い。
  • 成績評価は、
    授業中に課す
    課題レポート+期末レポート

Mathematicaとは

Mathematicaは1988年に物理学者Stephen WolframによりMac版とワークステーション版が製品化され、翌年にIBMパソコン版が製品化された。Wolframはイギリス人であるが米国のマッカーサ財団から5年に渡り総額数万ドルの資金を受け、John Von Neumann (ジョン・フォン・ノイマン)を祖とするセルオートマトン理論を研究した。その過程で1986年から数式処理システムの開発を開始しMathematicaをリリースした。現在もWolframがMathematicaを販売しているWolfram Research社の最高責任者を務めている。(参考文献3より転載、一部改変)

Mathematicaの公式サイト
Stephen Wolfram (Presentation in the TED)


Mathematicaを使ってみよう

Shift + Return

入力例1

100!

Returnキーだけではただの改行になります。Shiftキーを押しながらReturnキーを押す。これが計算開始の合図です。カーソルを合わせて、何度でもプログラム(計算式)を修正できます。修正したら再びShift+Returnを

演算

入力例2

10*(5-15/4)+3

普通の式の通りに書けば良い。
←無限精度で計算される
*は掛け算、/は割り算
掛け算はスペースでも代用可

入力例3

10.0*(5.0-15.0/4.0)+3.0


←有限精度で計算される


値を求める N (無限精度→有限精度)

入力例4

N[10*(5-15/4)+3]

無限精度で計算した結果を小数点つき、つまり有限精度で表したいことがしばしばあります。その時は、入力例4のように入力します。

入力例5

N[10*(5-15/4)+3, 30]

Nは組み込み関数(Mathematicaで用意された関数)の一つです。桁数を指定するには、入力例5のように入力します。この場合は30桁。


限大 ∞  Infinity

入力例6

Infinity+Infinity

∞はInfinityと入力します。∞ + ∞ = ? 
次の二つも確かめてみよう。
1/∞ = ?
∞ - ∞ = ?

代数方程式を解く Solve

入力例7

Solve[x*x + 1 == 3*x, x]

または

Solve[x x + 1 == 3 x, x]

例:    を解きたい。

Solveを使います。”=“は、方程式で使う場合には2つ重ねます。



入力例8

NSolve[x*x + 1 == 3*x, x]

または

NSolve[x x + 1 == 3 x, x]

有限精度で解きたい場合は、Nをつけます。

{}で囲まれた結果は、リストと呼ばれます。




課題1 方程式  を について解け。(無限精度、有限精度、両方試してみること。)

保存

  • 授業用のフォルダを作る。フォルダ名は自由。例:MMM1
  • 毎回ファイルを保存する。ファイル名は自由。例:MMM1_20160407.nb
  • .nbの拡張子はノートブックというMathematica特有の拡張子です。

コメント文 (* *)

入力例9

(* 2016.4.7. 第1回Mathematicaの基本操作I *)

計算には関係ないコメントを書きたいと思うことがあります。その場合は、(*  *)で囲みます。Mathematicaがコメント文だと認識したらグレーの文字に変わります。



グラフを描いてみよう

グラフ Plot

入力例10

Plot[x^3-8*x^2 -12, {x, -10, 10}]

基本の形は、Plot[f, {x, xmin, xmax}, options]

  • optionsは省略可能

Optionsに入るもの

入力例11

Options[Plot]

これにより、Plot関数のデフォルトの設定がわかる。設定を変えたいところを指定すれば良い。
例えば例12のように入力してみよう。

入力例12

Plot[x^3-8*x^2 -12, {x, -10, 10}, Frame -> True, GridLines -> Automatic]






複数のグラフ Plot

入力例13

Plot[ {x^3 - 8*x^2 - 12, 3*x^2-8*x-50}, {x, -6, 12}]

 

 

基本の形は、Plot[{f,g}, {x, xmin, xmax}, options]

組み込み関数について

入力例14

?P*

組み込み関数は大文字から始まります。
関数が思い出せない!!確かPから始まるはず!というときはMathematicaに聞いてみましょう。

入力例15

?Plot

Plotの使い方を教えてくれます。


入力例16

??Plot


さらに詳しい使い方を見れます。


Wolfram ドキュメントセンター

困った時は、ヘルプ → Wolframドキュメント

三角関数 Sin Cos

入力例17

Plot[Sin[x], {x, -2*Pi, 2*Pi}]

SinやCosもMathematicaで用意されているので、大文字から始めます。

変数xは[ ]で囲み、プロットしたい領域を後ろにかきます。

入力例18

Plot[{Sin[x] + Cos[x], Sin[2*x] + Cos[2*x]}, {x, -2*Pi, 2*Pi}]

複数のグラフを書く場合も入力例13と同様にします。

関数の定義の方法については次回


定数を定義する

入力例19

a = 2;
b = 3;
Plot[Sin[a*x] + Cos[b*x], {x, -5, 5}]

係数などを定数として定義しておくと、式の変更が簡単になります。



課題2 入力例19のaとbを変えて、曲線がどう変わるか見てみよう。

パラメータ描画 ParametricPlot

関数はパラメータ表示(媒介変数表示)されているものもあります。

課題3(発展)ParametricPlotをWolfram ドキュメントで調べて、レムニスケート(上左図)を描いてみよう。
さらに他の曲線の媒介変数表示を調べて、描いてみよう。
サイクロイド曲線
カージオイド曲線
リサージュ図形
インボリュート曲線