数学の基本的な演算と関数 Mathematica をもちいて基本的な計算をする時、次の計算規則あるいは、演算は重要である。

x^y xかけるy 乗べき
-x 減算
x/y 除算
x * z 乗算
x+y+z 加算
Sqrt[x] 平方根
n! 階乗
Pi 円周率
E 自然対数の底
Infinity 無限大
Abs[x] 絶対値
Round[x] xに最も近い整数(四捨五入)
Mod[n,m] nをmで割った余り
Random[ ] 0から1の間に発生される乱数
Max[x,y, ...], Min[x,y, ...] x,y,...の中の最大値あるいは最小値の選択

次の関数は数学では基本的な関数である。 これはこれからよくあらわれる。
Exp[x] 指数
Log[x] 自然対数
Log[a,x] aを底とするxの対数
Sin[x], Cos[x], Tan[x] 三角関数
ArcSin[x], ArcCos[x], ArcTan[x] 逆三角関数
つぎの規則は慣れてくると知っていたほうが便利である だんだん慣れるようにしよう。
% 最後に得られた結果
%% 最後のひとつ前に得られた結果
%%%...%(k回) k回前に得られた結果
%n Out[n]で得られた結果(注意して用いること)
{a,b,c} リスト
(term) ( )は項の分割に使用
f[x] [ ]は関数の引数をくくる
{a,b,c} { }はリストを作成
expr //N expr の近似値
expr; 演算 expr を行いその結果を表示しない
expr 演算 expr を行いその結果を表示
expr_1; expr_2; expr_3 複数の演算を行い最後の結果を表示
それでは実際に Mathematica の世界を探索することにしよう。
戻る
まずは放物線から
y=x2 , y= -x2 のグラフ
これは次のように入力する。

Plot[x^2, {x, -2,2}];

これを入力したら、最後に Shift キーとEnter キーを同時に押す。
Shift キーを押しながら、Enter キーを押すようにするとうまくいく。

赤字の英語の注意がでてきた時

赤字の英語の説明は理解できないかも知れないが、 それは英語自身の難しさではなくて、mathematicaの構造と プログラムの簡単な知識を必要とするから。
このときは
P が大文字になっていないか、
括弧やカンマが落ちていないか

チェックする。また
括弧の種類にも注意しよう。{ と [ の区別は大切である。 } と ] の区別にも注意しよう。これらの、いずれが落ちていてもグラフはかけない。 また、命令は半角で入力する。 全角ではうまくいかない。空白はとくに全角と半角の区別がつきにくい。

これがうまくいったら、次をかいてみよう。
要領は同じだが、最後にShift キーとEnter キーを同時に押す事を 忘れないように。

Plot[-x^2, {x, -2,2}];

mathematicaの文法について解説しておこう。
Plot[...]はグラフを描く命令である。 x^2 はx2をあらわす。 {x,-2,2}はグラフを描く範囲を与える。たとえば、{x,-2,2}のかわりに{x,-3,3} とすればxが-3から3までを描くことができる。
従って、次のようにするとxが-3から3までを描くことができる。

Plot[x^2, {x, -3,3}];

ここで、命令の最後に ; をつけているが、これはなくてもグラフを描く上では同じである。
それでは、この ; の意味は何であろうか。これは途中結果を表示するかしないか だと思っておいてよい。つぎのように入力して相違点を比較せよ。

Plot[x^2, {x, -3,3}]

y = f(x)のグラフを描く時には次のようにする

Plot[f(x), {x, -3,3}]

ここでf(x)には具体的な関数の形を書く。次の例を参照のこと。xの範囲は関数が定義されていれば 好きに与えることができる。

これは大切なことであるが、mathematicaは読者に複雑な論理を要求はしないが 守るべき規則はあるわけだ。そこが大変なところかもしれないが、根気よくやっていこう。
y =x3, y =x4 -4x2, y = -x3 +3x, y = 1/(1+x2)のグラフを描く

うえのどこをかえればよいか上の2つの命令を見比べてみよう。 ここで、xの範囲は読者が、自由に決めてよい。それによってグラフの見えかたも異なる。

これらは 3次関数 4次関数 3次関数の一種、および 有理関数という。 最後の関数はそれ以外とは異なるがそのより詳しい性質については 数学の本を参照のこと。

解答は以下に載せておいた。
ここで、いずれの場合でもShift キーとEnter キーを同時に 押してグラフを描くこと。

Plot[x^3, {x, -2,2}];

Plot[x^4 -4 x^2, {x, -4,5}];

Plot[-x^3 + 3 x, {x, -1,1}];

Plot[ 1/(1+x^2), {x, -2,2}];

これ以外にもいろいろなグラフを描くことができる。

Plot[x^3 - x^2, {x, -2,2}];

Plot[x^5 -4 x^4, {x, -4,5}];

Plot[-x^4 + 3 x, {x, -3,3}];

Plot[ 1/(1+x), {x, -2,2}];

Plot[x^8 - 4 x^4 + x^2, {x, -1.5, 1.5}];

Plot[ 2/(1+x^2) + x , {x, -2,2}];

入力を簡単にするために

命令はできるだけコピーとペーストを用いるとよい。
間違いと、労力を軽減できる。また、Ctrl キーとL キーを同時に押してみよ。 そうすれば、前の入力がコピーされる。あとは矢印キーを用いて 修正箇所まで、カーソルを移動し、Delete キーか Backspace キーで余分な文字を消し、 キーから新しい文字を書き込む。

このようにして、修正が終わったら、Shift キーとEnter キーを同時に 押してみよう。はるかに少ない労力でグラフが描けるはずだ。

たまに小文字をいれたつもりなのに大文字が出てきたり、キーから挿入すると 前の文字が消えてしまったりする人がいる。 これがおきたら、Insert キーが押されて 上書きになっていないか、あるいはCaps キーが押されて 大文字にロックされていないか確認する。
初心者は自分で意識しないうちにこれらのキーを押してしますことがあるし、 前につかった人が、押してそのままだったりする。 慣れれば、あたりまえのことも最初は戸惑うものだ。

グラフにオプションをつける

次のグラフを例にとり、 グラフにオプションをつけて見栄えをよくしてみよう。

Plot[x^4 - 4 x^2, {x, -4, 5}];

まず座標軸に名前をつける。 次のようにAxesLabel -> {x軸, y軸}命令を用いる。 ここでラベルはx軸、y軸以外にも自由に付けることができる。

Plot[x^4 - 4 x^2, {x, -4, 5}, AxesLabel -> {x軸, y軸} ];

Plot[x^4 - 4 x^2, {x, -4, 5}, AxesLabel -> {成長率, 利益} ];

次にグラフに枠組みをつける。 このためにはオプションFrame -> Trueをつける。次のようにする。

Plot[x^4 - 4 x^2, {x, -4, 5}, Frame -> True, AxesLabel -> {x軸, y軸} ];

グラフに方眼目盛りをつけて見やすくしてみよう。 このためにはオプションGridLines -> Automaticをつける。ここで 命令が長くなったので改行したが、mathematicaではこのようにカンマのところで改行してもよい。

Plot[x^4 - 4 x^2, {x, -4, 5}, GridLines -> Automatic,
Frame -> True, AxesLabel -> {x軸, y軸} ];

次にグラフに表題をつける。 そのためにはPlotLabel -> " 4次関数"の ようにPlotLabel命令を用いる。表題は自由につけることができる。 次に例を与える。

Plot[x^4 - 4 x^2, {x, -4, 5}, PlotLabel -> "     4次関数",
GridLines -> Automatic,Frame -> True, AxesLabel -> {x軸, y軸} ];

フォントと大きさを変更する。そのためには DefaultFont -> {"MS P明朝", 12}なるオプションをつける。ここで2番目の数値はフォントの大きさを ポイントであらわす。前の例は次のようになる。

Plot[x^4 - 4 x^2, {x, -4, 5}, DefaultFont -> {"MS P明朝", 12},
PlotLabel -> "          4次関数",GridLines -> Automatic,Frame -> True,
AxesLabel -> {x軸, y軸} ];

グラフの色を変えてわかりやすくしよう。次のように PlotStyle -> RGBColor[1, 0, 0]オプションをつける。ここで色は赤、緑、青をそれぞれ 0から1までの数値で表す。たとえばRGBColor[1, 0, 0]は赤であり、RGBColor[0, 0, 1]は青である。 中間色についても試してみるとよい。上の例は次のようになる。

Plot[x^4 - 4 x^2, {x, -4, 5}, PlotStyle -> RGBColor[1, 0, 0],
DefaultFont -> {"MS P明朝", 12}, PlotLabel -> "          4次関数",
GridLines -> Automatic,Frame -> True,
AxesLabel -> {x軸, y軸} ];

グラフを滑らかにする。
そのためには次のようなオプションをつける。 PlotPoints-> 50。ここで50を増やすとより滑らかなグラフになる。 上の例は次のようになる。

Plot[x^4 - 4 x^2, {x, -4, 5}, PlotPoints-> 50,
PlotStyle -> RGBColor[1, 0, 0],DefaultFont -> {"MS P明朝", 12},
PlotLabel -> "          4次関数",
GridLines -> Automatic,Frame -> True,
AxesLabel -> {x軸, y軸} ];

次のオプションを使うためにはあらかじめマクロパッケージを読み込んでおく必要がある。そのためには 次の命令を実行する。

<< Graphics`Legend`

次にオプションPlotLegend->{"y=x^4 -4x^2のグラフ"}をつけて掲示板をつける。 LegendPosition -> {-1.25 , -1.25}は掲示板を置く位置を座標で指定する。中心は グラフの中心である。 LegendSize -> 1.5はグラフの掲示板の大きさを指定する。上の例では次のようになる。

Plot[x^4 - 4 x^2, {x, -4, 5}, PlotLegend->{"y=x^4 -4x^2のグラフ"}, LegendPosition -> {-1.25, -1.25}, LegendSize -> 1.5 ,
PlotPoints-> 50, PlotStyle -> RGBColor[1, 0, 0],DefaultFont -> {"MS P明朝", 12},
PlotLabel -> "          4次関数",
GridLines -> Automatic,Frame -> True,
AxesLabel -> {x軸, y軸} ];

グラフを平行移動する

グラフをy軸の方向に平行移動することはグラフを上下に移動させることになる。 このためには次のようにする

Plot[f(x) + c , {x, -3,3}]

ここでcは移動する量をあらわす。 正であれば上に移動することになり、負であれば下に移動することになる。 次の例を参照のこと

Plot[x^3 -1, {x, -2,2}];
Plot[x^3, {x, -2,2}];
Plot[x^3+1, {x, -2,2}];
Plot[x^3+2, {x, -2,2}];
Plot[x^3+3, {x, -2,2}];
これらは同時にすべて書かず一行ごとに評価する。
すなわち、Shift キーとEnter キーを同時に 押す。また、入力はまた、Ctrl キーとL キーを用いて、ペーストを 用いる。これは間違いを減らすことができる。

x軸に平行に移動する

このときには、注意が必要である。右にcだけ移動する時には

Plot[f(x -c) , {x, -3,3}]

とかく。ここで-cであることに注意する。 もし、左に移動するならば

Plot[f(x +c) , {x, -3,3}]

と書くことになる。これの数学的な証明は簡単であるが、それは基礎数学の授業を参考のこと。 次に例をあげておく。 まず、放物線を右に移動する。移動する前の放物線は次のようになる。

Plot[x^2, {x, -5,5}]

これを右に1ずつ移動する。

Plot[(x-1)^2, {x, -5,5}]

Plot[(x-2)^2, {x, -5,5}]

Plot[(x-3)^2, {x, -5,5}]

次に左に1ずつ移動する。

Plot[(x+1)^2, {x, -5,5}]

Plot[(x+2)^2, {x, -5,5}]

Plot[(x+3)^2, {x, -5,5}]

同様な考え方で前のグラフを平行移動すると次のようになる。

Plot[(x-2)^3, {x, -5,5}];
Plot[(x+2)^4 -4 (x+2)^2, {x, -4,4}];
Plot[1/(1+ (x-1)^2), {x, -3,3}];

上の考え方を組み合わせて与えられたグラフを上あるいは右に平行移動してグラフを描いてみよう。 次のようになる。

Plot[(x-2)^3 +1 , {x, -5,5}];
Plot[(x+2)^4 -4 (x+2)^2 -2 , {x, -4,4}];
Plot[1/(1+ (x-1)^2) -3, {x, -3,3}];

x軸に関して対称移動する

一般的な書き方は

Plot[-f(x) , {x, -3,3}]

例をあげておく。

Plot[x^2, {x, -2,2}]

Plot[-x^2, {x, -2,2}]

グラフがx軸に関して対称移動されていることにとに注意する。 別の例をあげておく。

Plot[x^3 + 3 x, {x, -1,1}];

Plot[-x^3 - 3 x, {x, -1,1}];

y軸に関して対称移動する

一般的な書き方は

Plot[f(-x) , {x, -3,3}]

つまりxを-xでおきかえる。例をあげておく

Plot[x^2 +x, {x, -4,4}]

Plot[x^2 - x, {x, -4,4}]

Plot[x^3 + 3 x^2, {x, -1,1}];

Plot[-x^3 + 3 x^2, {x, -1,1}];

グラフがy軸に関して対称移動されていることに注意する。 戻る


三角関数のグラフ
sin x, cos x, tan xを描くには次のようにする。

Plot[Sin [x], {x, -2Pi,2Pi}];
あるいは
Plot[Cos [x], {x, -2Pi,2Pi}];
あるいは
Plot[Tan [x], {x, -2 Pi, 2 Pi}];

ここで命令はひとつずつ書いてから、Shift キーとEnter キーを同時に 押して、グラフを描くこと。間違える読者はいないとおもうが念のため。 また、tan xは Tan [x] のように書く。ここで先頭を大文字で書くこととTan と変数xは[x]のようにかぎ括弧で囲んでおく。 Tan [x]はTan[x]と書いてもよい。 また Pi は円周率をあらわします。 (数学の記号一覧参照

数学的な話をすこし
sin xやcos x を知らない人にはこれはなんだろうと 思うかもしれない。このグラフを正確に書くのはとても 大変なのです。この関数はたとえば、電線の中の電気の強さを 時間をxにした時にあらわれます。この関数は周期関数といい、周期2πごとにおなじ形のグラフが繰り返します。
たとえば次のグラフを見てください。繰り返しの様子がよくわかると思います。

Plot[Sin [x], {x, -8Pi,8Pi}];

mathematicaの立場からいえば、原理としては放物線も 三角関数もまったく同じであることがわかるとおもう。

いろいろな三角関数を描く
これを応用してcos 3 x, sin 4 xを描け。但し、範囲はうまく指定すること。 次のようになる。

Plot[Cos [3x], {x, -2Pi,2Pi}];
Plot[Sin [4x], {x, -2Pi,2Pi}];

複雑な関数を描く
y=x2 sin x, y =x sin x, y = sin x2 などのグラフを描いてみよう。

Plot[ x^2 Sin [x], {x, -3Pi,3Pi}];
範囲を変えてグラフを観察する。
Plot[ x^2 Sin [x], {x, -8Pi,8Pi}];

このグラフはy=x2とy= -x2にはさまれている。 次のグラフを参照。ここで3つのグラフを同時に描いている。いくつかのグラフを同時に描くには それらの関数を中括弧の中に並べて書く。
Plot[{x^2, -x^2, x^2 Sin [x]}, {x, -8Pi,8Pi}];

次のグラフはy=xsin x のグラフである。
Plot[ x Sin [x], {x, -2Pi,2Pi}];
このグラフは y=x とy=-xにはさまれている。次のグラフを参照。
Plot[{x, -x, x Sin [x]}, {x, -8Pi,8Pi}];

次のグラフはy = sin x2のグラフである。

Plot[ Sin [x^2], {x, -2 Pi, 2 Pi}];
三角関数の合成
周期の等しい三角関数を合成すると再び等しい周期の三角関数になる 次の例を参照。ここでは sin x, cos x を合成している。

Plot[ Sin [x] + Cos [x], {x, -2 Pi, 2 Pi}];
つぎにsin x, cos x, sin x + cos xを同時に描く。
Plot[ {Sin [x], Cos [x], Sin [x] + Cos [x]}, {x, -2 Pi, 2 Pi}];
グラフがわかりにくいので色を変えて描くことにする。 グラフを色をかえて描くには PlotStyle -> {{RGBColor[0,0,1]}, {RGBColor[1,0,0]}, {RGBColor[0,1,0]} } のようにグラフごとに色を指定する。色は赤、緑、青にそれぞれ0から1までの数値をあたえる。

Plot[{Sin[x],Cos[x], Sin[x]+Cos[x]},{x,-2Pi, 2Pi}, PlotStyle -> {
{RGBColor[0,0,1]}, {RGBColor[1,0,0]}, {RGBColor[0,1,0]} }]; 

フーリエ級数
周期の異なる三角関数を合成するとグラフは変化に富んだものになる。実際、十分多くの 三角関数を合成すればほとんどすべての連続関数を表せる。 このような例を以下であげよう。

Plot[ Sin [x] -3 Sin [3x] + 0.2 Cos [8x] , {x, - Pi, Pi}];
この関数は三角関数の周期性はほとんどみられない。 加える項を増やすとグラフはさらに形が変化する。

Plot[ Sin [x] -3 Sin [3x] - 0.3 Cos [12 x]+ 0.2 Cos [8x] , {x, -2 Pi, 2 Pi}];

戻る


指数関数
指数関数は金利計算とか、ねずみ算とか日常よくあらわれる。 指数関数も描きかたは放物線や、三角関数と同じだ。 ただ、指数関数の表現を知っていればよい。 次のようになる。

Plot[E^x, {x, -2,2}];
あるいは
Plot[2^x, {x, -2,2}];

ここでE = 2.718 ... は自然対数の底。描く範囲は自由に指定してよい。

同様にして、 y = e-x, y =e-xsin x, y = 1.2-x cos x, y = sin (sin x), y = 1.021.11x

のグラフを描いてみよう。

Plot[E^(-x), {x, -2,2}];
Plot[E^(-x) Sin [x], {x, -3,3}];
Plot[1.2^(-x) Cos [x], {x, -5,10}];
Plot[Sin[Sin[x]],{x,-5,5}]
Plot[1.2^(1.1^x) , {x, -5,5}];

範囲を変えてグラフを描いてみよう。 戻る


幾つかのグラフを同じ画面に描いて比較する

2つ以上のグラフを描きたい時

次のようにこれらの関数を、カンマで区切って括弧の中にならべて書く。

y=x2, y= -x2 のグラフを同時に描くには. 次のように入力する。

Plot[{x^2, -x^2}, {x, -2,2}];

3つ以上のグラフを描く時も同様にして描くことができる。

Plot[{x^2, -x^2, x^2 Sin[x] }, {x, -2,2}];

この関数を色分けして表示する。色は色番号に従って、指定する。

Plot[{x^2, -x^2, x^2 Sin[x]}, {x, -2,2} , PlotStyle -> { {RGBColor[0,0,1]}, {RGBColor[0,0,1]}, {RGBColor[1,0,0]} } ];

y =x4 -4x2および y =4 x3 - 8 x のグラフを適当な範囲で描く。

Plot[{4 x^3 -8x, x^4 -4x^2}, {x, -2,2}];

この関数を色分けして表示する。

Plot[{4 x^3 -8x, x^4 -4x^2}, {x, -3,3}, PlotStyle -> { {RGBColor[0,0,1]}, {RGBColor[1,0,0]} }];

数学の説明
上の例では 導函数ともとのグラフを同時に描いている。
このとき、導函数の符号の変化ともとの関数の増減の関係を観察せよ。
これは高校の微分の応用として、学んだことの例になっている。 すなわち、導函数が正ならもとの関数は増加、導函数が負なら、もとの関数は 減少である。 もう一度グラフをよく観察してみよう。

掲示板をつけてみよう

次のマクロを読み込んでおく。

<< Graphics`Legend`

上のグラフに掲示板をつける。また目盛りをつける。

Plot[{4 x^3 -8x, x^4 -4x^2}, {x, -3,3}, PlotStyle -> { {RGBColor[0,0,1]}, {RGBColor[1,0,0]} },
PlotLegend->{"y=4x^3 -8x", "y=x^4-4x^2"}, LegendPosition -> {-1.25, -1.25}, LegendSize -> {1.5,.5},
GridLines -> Automatic,Frame -> True,
DefaultFont -> {"MS P明朝", 12}, AxesLabel -> {x軸,y軸}
];

Plot[{x^2, -x^2, x^2 Sin[x]}, {x, -2,2} , PlotStyle -> { {RGBColor[0,0,1]}, {RGBColor[0,0,1]}, {RGBColor[1,0,0]} }, PlotLegend->{"y=x^2","y=-x^2", "y=x^2 sin x"}, LegendPosition -> {-1.25, -1.25}, LegendSize -> {1.5,.5},
GridLines -> Automatic,Frame -> True,
DefaultFont -> {"MS P明朝", 10}, AxesLabel -> {x軸,y軸}
];


戻る


グラフを描くくり返し命令

あるグラフのパラメータを変化させて、それらのグラフの変化を 調べたいことはよくある。このように くり返しのための命令がMathematicaにはある。
たとえばy =n x2でnを1,2,3,4,5として、描くには次のようにする。

Do[Plot[n x^2, {x, -2,2}] ,{n,1,5,1}] ;

ここで、以前と異なる点はDo[ ..., {n,1,5,1}]を用いる点である。 この意味はnを1から5まで1刻みで変えながらある操作をするということである。 nのきざみは1でなくてもよい。 nの値をもっと細かくするためには 例えばつぎのようにする。

Do[Plot[n x^2, {x, -2,2}],{n,1,5,0.5}];

このときは0.5の間隔でnの値は増加する。

nの範囲を1から10にするにはつぎのようにする。
Do[Plot[n x^2, {x, -2,2}],{n,1,10,0.5}];

さらに刻みを0.2 あるいは 2にしたグラフを描く。
Do[Plot[n x^2, {x, -2,2}],{n,1,5,0.2}];

Do[Plot[n x^2, {x, -2,2}],{n,1,5,2}];

値を減少させたいときは刻みとして負の値を指定する

これを用いて、y = n cos x (n = -0.2. -0.4, -0.6 ...) を描くと次のようになる。
Do[Plot[n Cos[x], {x, -3,3}],{n,5,1,-.2}];

このグラフを観察すると描く関数は異なるのにグラフは同じである。(この授業で用いるシステムでは同じである。) これはコンピュータがグラフを適当に拡大縮小しているからで 実際のグラフとしてみるためには次のようにする。

Do[
Plot[n Cos[x], {x, -3 ,3}, AspectRatio -> Automatic],
{n,1,5,1}];


ここで、まず注意をひとつする。mathematicaの命令は必ずしも 一行に書かなくてもよい。
それは上のように、見やすいように何行にも分けて書いてよい。 いずれの場合でも、Shift + Enterを押したとき、それらは一度に評価される。 すなわち、命令が実行される。

ここではAspectRatio -> Automatic なるオプションを用いている。このコマンドは 理論的なグラフをそのまま描くのに有効である。
mathematicaの内部では通常グラフは見栄えがよくなるように 座標のスケールが自動的に設定される。このため表示されるグラフは実際の姿と 異なることもある。実際の姿を表示させるのが、AspectRatio -> Automatic なるオプション である。

戻る


変化のあるグラフを作成する

グラフを破線で描く
次のようにする。

Plot[Sin [x], {x,-2Pi,2 Pi}, PlotStyle->Dashing[{0.01}] ];

ここで、 PlotStyle -> Dashing[{0.01}] は長さが0.01の破線をあたえる。
すなわち、実線と描かない部分の長さが、0.01になるようにする。 もちろん、この値をかえれば、破線の長さがかわる。 いくつか例をあげておく。

Plot[Sin [x], {x,-2Pi,2Pi}, PlotStyle->Dashing[{0.02}] ];
Plot[Sin [x], {x,-2Pi, 2Pi}, PlotStyle->Dashing[{0.1}]];
Plot[Sin [x], {x,-2Pi,2Pi}, PlotStyle->Dashing[{0.3}]];

実線と描かない部分の長さが異なる破線
この時はPlotStyle->Dashing[{0.01,0.02}] のように値を与える。次に例をあげる。

Plot[Sin [x], {x,-2Pi, 2Pi},PlotStyle->Dashing[{0.01,0.02}]];
Plot[Sin [x], {x,-2Pi,2 Pi},PlotStyle->Dashing[{0.01, 0.05}]];

3つ以上の数値の組をあたえると更に異なった破線を描くことができる。

たとえば、

PlotStyle+ -> Dashing[{0.01,0.02,0.03,0.02}]

あるいは

PlotStyle -> Dashing[{0.01,0.02,0.05}]

として、破線の様子を観察してみよ。

Plot[Sin [x], {x,-2Pi, 2Pi},PlotStyle-> Dashing[{0.01,0.02,0.03,0.02}]];
Plot[Sin [x], {x,-2Pi,2 Pi},PlotStyle->Dashing[{0.01, 0.05,0.1,0.03,0.05}]];

カンマで区切ってたくさん与えてみよ。 どのような点が観察されるか。

グラフ線の太さをかえる
このためにはつぎのようにする。

Plot[Cos[x],{x,-2Pi, 2Pi}, PlotStyle -> Thickness[1/120]];

ここで、1/120 をかえると線の太さがかわる。

Plot[Cos[x],{x,-2Pi, 2Pi}, PlotStyle -> Thickness[1/100]];

Plot[Cos[x],{x,-2Pi, 2Pi}, PlotStyle -> Thickness[1/150]];

2つのグラフをそれぞれ実線と破線で描く
ここでPlotStyle -> {Dashing[{}], Dashing[{1/20}]} では最初のグラフを実線で次のグラフを破線で描く。

Plot[{Sin[x],Cos[x]},{x,-2Pi, 2Pi}, PlotStyle -> {Dashing[{}], Dashing[{1/20}]}];

これを応用してy = x3 -3xとy = -x3 +3xを同時に実線と破線で描いてみる。

Plot[{ x^3 - 3x, -x^3+3x },{x,-5, 5}, PlotStyle -> {Dashing[{}], Dashing[{1/20}]}];

線の太さと線の種類を変える時

上のふたつの命令を組み合わせる。次のようになる。

Plot[Sin[x], {x,-2Pi, 2Pi}, PlotStyle -> {Thickness[1/120], Dashing[{0.05}] } ];

グラフの色を変える
次のようにする。

Plot[Sin [x], {x,-2Pi,2 Pi}, PlotStyle-> RGBColor[0,0,1] ];

ここで、RGBColor[r,g,b] はそれぞれr, g, b に0から1の値を与え、赤、緑、青による色の指定を する。次のようになる。

Plot[Sin [x], {x,-2Pi,2 Pi}, PlotStyle-> RGBColor[0,1,0] ];

Plot[Sin [x], {x,-2Pi,2 Pi}, PlotStyle-> RGBColor[0.5,0.5,0] ];

Plot[Sin [x], {x,-2Pi,2 Pi}, PlotStyle-> RGBColor[1,1,0] ];

線の太さと線の種類と色を変える時

次のコマンドは最初のグラフを青で、二番目のグラフを赤で描きしかもそのグラフの太さを変えている。 このくらい複雑になると間違えないために書き方も工夫しよう。

Plot[{Sin[x], Cos[x]},{x,-2Pi, 2Pi}, PlotStyle -> {
{Thickness[1/120],RGBColor[0,0,1], Dashing[{}]},
{Thickness[1/160],RGBColor[1,0,0], Dashing[{1/20}]} }]; 

ここで、RGBColor[r,g,b] はそれぞれr, g, b に0から1の値を与え、赤、緑、青による色の指定を する。これを変えて、色を変えてみよ。
このようにして色を変えて今までのグラフを着色してみよう。たとえばこんなふうになる。

Plot[{x^2 Sin[x], x^2,-x^2},{x,-5Pi, 5Pi},
PlotStyle -> {
{Thickness[1/120],RGBColor[0,0,1], Dashing[{}]},
{Thickness[1/200],RGBColor[1,0,0], Dashing[{1/40}]},
{Thickness[1/200],RGBColor[1,0,0], Dashing[{1/40}]}
}];
 

Plot[{x Sin[x], x,-x},{x,-5Pi, 5Pi},
PlotStyle -> {
{Thickness[1/120],RGBColor[0,0,1], Dashing[{}]},
{Thickness[1/200],RGBColor[1,0,0], Dashing[{1/40}]},
{Thickness[1/200],RGBColor[1,0,0], Dashing[{1/40}]}
}];
 

Plot[{x Sin[x] + Cos[x], x,-x},{x,-5Pi, 5Pi},
PlotStyle -> {
{Thickness[1/120],RGBColor[0,0,1], Dashing[{}]},
{Thickness[1/200],RGBColor[1,0,0], Dashing[{1/40}]},
{Thickness[1/200],RGBColor[1,0,0], Dashing[{1/40}]}
}];
 

戻る


不等式で与えられる領域

つぎの命令を実行してマクロパッケージを読み込んでおく。

<< Graphics`FilledPlot`

次の命令を実行する。

FilledPlot [Cos[x], {x, 0, 2 Pi}];

sin x とx軸の間にはさまれた領域にグレイスケールで着色する。 次の例では放物線とx軸の間の領域である。

FilledPlot [x^2, {x, -1, 1}];

2つの曲線の間の領域はそれらの関数を並べて書く。 たとえばx2と-x2の間の領域は 次のようにする。

FilledPlot [{x^2, -x^2}, {x, -1, 1}];

同様にしてx2とx+2の間の領域は次のように描く。

FilledPlot [{x^2, x +2}, {x, -3, 3}];

3つ以上の曲線を並べて書くと、第一の曲線と第2の曲線  第2の曲線と第3の曲線で囲まれる領域を描く。 次の例のようになる。

FilledPlot [{x^2+2, x^2, x^2 -2}, {x, -3, 3}];

色の代わりにグレイレベルを指定することもできる。 次の例では最初のグラフとx軸はグレイレベル0.8で2番目と3番目はグレイレベル0.3で領域を示している。 さらにCurves -> Frontとすると曲線は塗られた領域にかくされることはなくなる。

FilledPlot[{x^2/20, Cos[x], x Sin[x]/18 }, {x, 0, 2 Pi},
Fills -> { { {1, Axis}, GrayLevel[.8]}, {{2, 3}, GrayLevel[.3]}}, Curves -> Front]

折れ線グラフと折れ線グラフで囲まれた領域

折れ線グラフの書き方は簡単に次のようにする。

戻る


平面の多角形

平面の多角形を描く

より自由度にとんだ複雑な図形を描かせるためにはより基本的な命令を用いる必要がある。 そのための基本として、多角形を描いてみよう。 次の命令を1行ずつ入力して、評価する。

内部の塗られた正5角形を描く

pentagon = Table[{Sin[2 Pi n/5],Cos[2 Pi n/5]}, {n,0,5,1}]; 
Show[Graphics[Polygon[pentagon ]]] ;

Table[ ... ]は表を生成する命令である。 今の場合、正五角形の5組の頂点の座標を生成する。これは Sin と Cos の定義から従う。
つぎに、pentagon = は右辺の量をpentagonと名前をつけたものである。 詳しくは、右辺の量を左辺の変数に代入である。名前は自由に付けることができる。
つぎに、Graphics[Polygon[pentagon]]はあたえられた5組の座標を持つ点を順に結んで 内部の塗られた正5角形をつくる。
Show[Graphics[Polygon[ ]]] は 5角形を表示する。 この表示ではつぶれた5角形が表示される。これを本来の形に表示するにはつぎのように AspectRatio -> Automaticのオプションをつける。

Show[Graphics[Polygon[pentagon]], AspectRatio -> Automatic ];

内部の塗られていない正5角形

つぎに内部が塗られていない正5角形を描く。このためには単にPolygoneLine にすればよい。すなわち

Show[Graphics[Line[pentagon]], AspectRatio -> Automatic] ; 

六角形を描く

基本的な方法は同じである。

hex = Table[{Sin[2 Pi n/6], Cos[2 Pi n/6]}, {n,0,6,1}];
Show[ Graphics[Polygon[hex]] , AspectRatio ->Automatic];


これを、応用して、正8角形、正12角形などを作図してみよ。 上の例ではつぎのようにする。但し、一般は各自に任せる。

hex = Table[{Sin[2 Pi n/8], Cos[2 Pi n/8]}, {n,0,8,1}];
Show[ Graphics[Polygon[hex]] , AspectRatio ->Automatic];

hex = Table[{Sin[2 Pi n/8], Cos[2 Pi n/8]}, {n,0,8,1}];
Show[ Graphics[Line[hex]] , AspectRatio ->Automatic];

hex = Table[{Sin[2 Pi n/12], Cos[2 Pi n/12]}, {n,0,12,1}];
Show[ Graphics[Polygon[hex]] , AspectRatio ->Automatic];

hex = Table[{Sin[2 Pi n/12], Cos[2 Pi n/12]}, {n,0,12,1}];
Show[ Graphics[Line[hex]] , AspectRatio ->Automatic];

円と楕円

つぎは円を描くコマンドである。中心の座標が(1,2)で半径が1の円を描く。

Show[Graphics[Circle[{1,2},.1] ],AspectRatio -> Automatic] 

円を塗りつぶす時はDiskCircleの代わりに用いる。

Show[Graphics[Disk[{1,2},.1]],AspectRatio -> Automatic] 

いくつかの楕円を描いている。

Show[Graphics[
Table[Disk[{2n,0},{n/4,2-n/5}],{n,4}
] ],
AspectRatio -> Automatic]


Disk[{2n,0},{n/4,2-n/5}]は中心を(2n,0)とし、縦と横の比がn/4,2-n/5 となるような 楕円を描いている。Table[] 命令はn=0, ... , 4として、楕円のリストを生成する。

扇形

このためのoption はDisk[{0,0},2,{0,2.5}]である。 これは(0,0)を中心として半径2, その開きは0から2.5ラジアンまでの扇形を描く。

Show[Graphics[
Disk[{0,0},2,{0,2.5}] ],
AspectRatio -> Automatic]


図形に色をつける

今まで描いた図形に色をつけてみよう。そのためには グラッフィクスに色を指定するオプションをグラフィックスの前にあたえます。 簡単な場合からおこないます。RGBColor[1,0,0]を指示することで 色をつけることができます。

pentagon = Table[{Sin[2 Pi n/5],Cos[2 Pi n/5]}, {n,0,5,1}];
Show[Graphics[
{ RGBColor[1,0,0], Polygon[pentagon] } ], AspectRatio -> Automatic]
 

Show[Graphics[ { RGBColor[1,0,0],Line[pentagon] } ], AspectRatio -> Automatic] 

同様な考え方で円や楕円に色をつけます。

Show[Graphics[
{ RGBColor[0,1,0], Circle[{1,2},.1] } ],AspectRatio -> Automatic] ;
 

Show[Graphics[
{ RGBColor[1,0,0], Disk[{1,2},.1] } ],AspectRatio -> Automatic];
 

Show[Graphics[
{ RGBColor[1,1,0], Table[Disk[{2n,0},{n/4,2-n/5}],{n,4}] } ], AspectRatio -> Automatic];


扇形に色をつける。

Show[Graphics[
{ RGBColor[1,0,0], Disk[{0,0},2,{0, 2 Pi/3 } ] }
], AspectRatio -> Automatic];


扇形を同時に描く。

Show[Graphics[
{
{ RGBColor[1,0,0], Disk[{0,0},2,{0, 2 Pi/5 } ] },
{ RGBColor[0,1,0], Disk[{0,0},2,{2 Pi/5, 0.9 Pi } ] },
{ RGBColor[0,0,1], Disk[{0,0},2,{0.9 Pi, Pi } ] },
{ RGBColor[1,1,0], Disk[{0,0},2,{Pi, 4 Pi/3 } ] },
{ RGBColor[1,0,1], Disk[{0,0},2,{4 Pi/3, 2 Pi } ] }
}
], PlotRange -> All, AspectRatio -> Automatic] ;


色を指定するにはこれ以外にもHue[h]で指定する方法もあります。 この時、hには 0から1までの数値を与えます。この時、色は赤から始まり変化してまた赤に戻ります。

Show[ Graphics[
{ Hue[0], Disk[{1,2},.1] }] , AspectRatio -> Automatic];

Show[ Graphics[
{ Hue[0.2], Disk[{1,2},.1] }] , AspectRatio -> Automatic];

Show[ Graphics[
{ Hue[0.5], Disk[{1,2},.1] }] , AspectRatio -> Automatic];

Show[ Graphics[
{ Hue[0.7], Disk[{1,2},.1] }] , AspectRatio -> Automatic];

Show[ Graphics[
{ Hue[1], Disk[{1,2},.1] }] , AspectRatio -> Automatic];

次の図形は色をつけるかわりにグレイレベルをあたえている。GrayLevel[.4]では 0から1までの数値を与える。数値をかえると灰色が白くなってくる。

Show[Graphics[
{ GrayLevel[.4], Disk[{1, 2}, .1]} ], AspectRatio -> Automatic];

Show[Graphics[{GrayLevel[.8], Disk[{1, 2}, .1]}], AspectRatio -> Automatic];

戻る


円グラフ 棒グラフ ヒストグラム

まず次の命令を実行してマクロパッケージを読み込む。

<< Graphics`Graphics`

棒グラフ

棒グラフを描くにはBarChart命令を用いる。

BarChart[ {1, -3, 4, 5, 2, 3}, BarStyle -> {RGBColor[0,1,0]} ]

データは{1, -3, 4, 5, 2, 3}のように括弧の中に区切って書く。 棒グラフの色は次のようにBarStyle -> {RGBColor[0,1,0]}で指定する。

色は灰色を指定することもできます。

BarChart[ {1, -3, 4, 5, 2, 3}, BarStyle -> { GrayLevel[.6] } ];

いくつかのグラフを同時に描くには 次のようにデータごとに括弧に区切っておく。

BarChart[ {1, -3, 4, 5, 2, 3}, {2,3,5}, BarStyle -> {RGBColor[0,1,0], RGBColor[1,0,0]}]

このグラフにオプションとしてグラフのタイトル、グラフの横軸の項目 を与える。
タイトルPlotLbelで指定して、横軸の項目BarLabelsで指定する。

BarChart[ {1, .3, 4, 5, 2, 3}, {2,3,5,7,3,.1}, PlotLabel -> "月別売上変動率",
BarLabels -> {"4月", "5月", "6月", "7月", "8月", "9月"},
BarStyle -> {RGBColor[0,1,0], RGBColor[1,0,0]}]

タイトルや項目ののフォントを変えたり、フォントの大きさを変えます。

BarChart[ {1, .3, 4, 5, 2, 3}, {2,3,5,7,3,.1}, PlotLabel -> "月別売上変動率", DefaultFont -> {"MS P明朝", 9},
BarLabels -> {"4月", "5月", "6月", "7月", "8月", "9月"},
BarStyle -> {RGBColor[0,1,0], RGBColor[1,0,0]}]

グラフを横に描くには BarOrientation -> Horizontalを指定する。

BarChart[ {1, .3, 4, 5, 2, 3}, {2,3,5,7,3,.1},
PlotLabel -> "月別売上変動率", BarOrientation -> Horizontal,
BarLabels -> {"4月", "5月", "6月", "7月", "8月", "9月"},
BarStyle -> {RGBColor[0,1,0], RGBColor[1,0,0]}]

Axes -> True軸を描く かどうか、Frame -> True枠を描く かどうか、 GridLines -> Automatic格子を描く かどうかを指定する。 次のようになる。

BarChart[ {1, .3, 4, 5, -2, 3}, {2,3,5,7,-3,.1},
PlotLabel -> "月別売上変動率", BarOrientation -> Horizontal,
Axes -> True, Frame -> True, GridLines -> Automatic,
BarLabels -> {"4月", "5月", "6月", "7月", "8月", "9月"},
BarStyle -> {RGBColor[0,1,0], RGBColor[1,0,0]}]

グラフを値に応じて色分けする。

上の例でデータが一つのグラフを描く時、マイナスの値は赤で描き、 ある値までは黄色で描きそれ以上では別の色で描くと月による達成度がよくわかります。 これは次のようにします。まず通常にグラフを描き次にこのようなグラフを書きます。

BarChart[ {1, .3, 4, 5, -2, 3},
PlotLabel -> "月別売上変動率(新宿支店)", BarOrientation -> Vertical,
Axes -> True, Frame -> True, GridLines -> Automatic,
BarLabels -> {"4月", "5月", "6月", "7月", "8月", "9月"},
BarStyle -> {RGBColor[1,0,0]}];

つぎに色分けします。

BarChart[ {1, .3, 4, 5, -2, 3},
PlotLabel -> "月別売上変動率(新宿支店)", BarOrientation -> Vertical,
Axes -> True, Frame -> True, GridLines -> Automatic,
BarLabels -> {"4月", "5月", "6月", "7月", "8月", "9月"},
BarStyle -> (Which[ # > 3, RGBColor[0,1,0], # < 0, RGBColor[1,0,0], True, RGBColor[1,1,0]]& ) ];

ここで色分けはBarStyleのオプションをデータに応じて3より大きい時は緑、負の時は赤、それ以外では 黄色に色分けします。そのためには分岐命令を用います。 #は引数です。これは与えられたデータを順にとり、 それに応じて色分けします。ここで純関数&を用いていますが、これは数学での関数の概念に 近いものです。これを用いると与えられたデータを引数にとれます。

次に2つのデータを同時に色分けして見ます。この時、

BarChart[ {1, .3, 4, 5, -2, 3}, {5,-1,2,1,5,2},
PlotLabel -> "月別売上変動率(新宿支店)", BarOrientation -> Vertical,
Axes -> True, Frame -> True, GridLines -> Automatic,
BarLabels -> {"4月", "5月", "6月", "7月", "8月", "9月"},
BarStyle -> (Which[ # > 3, RGBColor[0,1,0], # < 0, RGBColor[1,0,0], True, RGBColor[1,1,0]]& ) ];

積み上げ棒グラフ

データを積み上げで描く にはStackedBarChartBarChartの代わりに使います。 次のようになります。

StackedBarChart [ {1, .3, 4, 5, -2, 3}, {2,3,5,7,-3,.1},
PlotLabel -> "月別売上変動率", BarOrientation -> Horizontal,
Axes -> True, Frame -> True, GridLines -> Automatic,
BarLabels -> {"4月", "5月", "6月", "7月", "8月", "9月"},
BarStyle -> {RGBColor[0,1,0], RGBColor[1,0,0]}];

グラフを縦にします。

StackedBarChart [ {1, .3, 4, 5, -2, 3}, {2,3,5,7,-3,.1},
PlotLabel -> "月別売上変動率", BarOrientation -> Vertical,
Axes -> True, Frame -> True, GridLines -> Automatic,
BarLabels -> {"4月", "5月", "6月", "7月", "8月", "9月"},
BarStyle -> {RGBColor[0,1,0], RGBColor[1,0,0]}];

積み上げるデータを3つ にします。そのためにはグループを3つにします。

StackedBarChart [ {1, .3, 4, 5, -2, 3}, {2, .5, 2, 6, 1, 3}, {2,3,5,7,-3,1},
PlotLabel -> "月別売上変動率", BarOrientation -> Vertical,
Axes -> True, Frame -> True, GridLines -> Automatic,
BarLabels -> {"4月", "5月", "6月", "7月", "8月", "9月"},
BarStyle -> {RGBColor[0,1,0], RGBColor[1,0,0], RGBColor[1,0,1]}
];

全体の長さを1にしてグラフを描きます。 これは支店ごとの売上の比率をあらわすときに便利です。

PercentileBarChart [ {1, .3, 4, 5, -2, 3}, {2, .5, 2, 6, 1, 3}, {2,3,5,7,-3,1},
PlotLabel -> "月別売上変動率", BarOrientation -> Vertical,
Axes -> True, Frame -> True, GridLines -> Automatic,
BarLabels -> {"4月", "5月", "6月", "7月", "8月", "9月"},
BarStyle -> {RGBColor[0,1,0], RGBColor[1,0,0], RGBColor[1,0,1]} ];

このグラフは横にすることもできます。

PercentileBarChart [ {1, .3, 4, 5, -2, 3}, {2, .5, 2, 6, 1, 3}, {2,3,5,7,-3,1},
PlotLabel -> "月別売上変動率", BarOrientation -> Horizontal,
Axes -> True, Frame -> True, GridLines -> Automatic,
BarLabels -> {"4月", "5月", "6月", "7月", "8月", "9月"},
BarStyle -> {RGBColor[0,1,0], RGBColor[1,0,0], RGBColor[1,0,1]} ];

円グラフ

まず次の命令を実行してマクロパッケージを読み込む。

<< Graphics`Graphics`

円グラフを描くにはPieChart命令を用いる。 データは括弧の中に区切って書きます。

PieChart[ {1,3,2,5,1.5} ];

色を指定するには次のようにします。 データの数より指定した色が少ない時は色は繰り返して用いられます。

PieChart[ {1,3.5,2,5,1.5}, PieStyle-> {RGBColor[0,1,0], RGBColor[1,0,0], RGBColor[1,0,1]} ];

PieChart[ {1,3.5,2,5,1.5}, PieStyle-> {GrayLevel[.5], GrayLevel[.7], GrayLevel[.9]} ];

グラフにタイトルと項目名をつけます。 字を大きくしています。

PieChart[ {1,3.5,2,5,1.5},
PieStyle-> {RGBColor[0,1,1], RGBColor[1,1,0], RGBColor[1,0,1]},
PieLabels -> {"1月", "2月", "3月","4月","5月"}, PlotLabel -> "月別売上高",
DefaultFont -> {"MS P明朝", 15} ];

扇形を切り抜くためには オプションPieExploded-> {3, .5}をつけます。 ここで3は反時計回りに数えて3番を0.5だけ中心から離します。

PieChart[ {1,3.5,2,5,1.5}, PieStyle-> {RGBColor[0,1,1], RGBColor[1,1,0], RGBColor[1,0,1]},
PieLabels -> {"1月", "2月", "3月","4月","5月"},
PlotLabel -> "月別売上高", DefaultFont -> {"MS P明朝", 15},
PieExploded->{ {3, .5} } ];

いくつかの扇形を切り離してみます。

PieChart[ {1,3.5,2,5,1.5}, PieStyle-> {RGBColor[0,1,1], RGBColor[1,1,0], RGBColor[1,0,1]},
PieLabels -> {"1月", "2月", "3月","4月","5月"},
PlotLabel -> "月別売上高", DefaultFont -> {"MS P明朝", 15},
PieExploded->{ {3, .5}, {5,.2}, {1,.3}} ];

ヒストグラム

ヒストグラムはある階級ごとの度数をグラフにしたものである。たとえば、身長を はかりそのデータを棒グラフにしたものである。データを階級に分けずにそのまま ヒストグラムを作る。

data = {157.2, 159, 159, 160, 160.3, 160.5, 161.5, 161.2, 162,
162.3, 162.8, 163, 163, 163.2, 163.3, 164, 164.2, 164.5}
Histogram[data, PlotLabel -> "身長の分布", DefaultFont -> {"MS P明朝", 15}];

次にデータを階級値ごとの度数にわけて度数分布表を作成してからヒストグラムを描く。 dataには度数を階級ごとに順に書く。classには階級の下端を小さいほうから 順に書く。ただし、最後に185は階級の上端を書いておく。これによって、すべての階級が 定まる。次の例では身長157cmから159cmは1人、159cmから161cmは3人、 161cmから163cmは5人という具合になる。
これをグラフにするには2つのオプションFrequencyData -> TrueHistogramCategories -> classをつける。

data = {1, 3, 5,8, 18, 24, 33, 29, 24, 18, 12, 12, 8, 2};
class ={157, 159, 161, 163, 165, 167, 169, 171, 173, 175, 177, 179, 181, 183, 185} ;
Histogram[data, FrequencyData -> True, PlotLabel -> "身長の分布", DefaultFont -> {"MS P明朝", 15},
HistogramCategories -> class ];

戻る


立体棒グラフ 立体ヒストグラム

立体棒グラフや立体ヒストグラムを描くためには次のようにしてマクロパッケージを読み込みます。

<< Graphics`Graphics3D`

立体棒グラフ

立体棒グラフを描くにはつぎのようにBarChart3D命令をもちいます。 データの組は括弧の中に区切って与えます。

BarChart3D[{ {1, 3, 4}, {2,5, 3}} ]

棒の間にスペースをとります。 そのためにはx方向のスペースとy方向のスペースをオプションで指定します。

BarChart3D[{ {1, 3, 4}, {2,5, 3}}, XSpacing-> .3, YSpacing-> .7 ]

このグラフにオプションとしてグラフのタイトル を与える。
タイトルPlotLbelで指定する。

BarChart3D[{{1, .3, 4, 5, 2, 3}, {2,3,5,7,3,.1}},
XSpacing-> .3, YSpacing-> .3,
PlotLabel -> "     月別売上変動率",
DefaultFont -> {"MS P明朝", 12}]

立体ヒストグラム

立体ヒストグラムを描くにはつぎのようにHistogram3D命令をもちいます。 データの組は括弧の中に区切って与えます。

Histogram3D[
{ {1,2},{1.5,2.5},{2,3},{3,1},{2.5,1} }
]

戻る


パラメータ表示される曲線の描きかた。

まず簡単な円のグラフからはじめる。

ParametricPlot [{Cos[t], Sin[t]}, {t, 0,2Pi}];

ここでParametricPlotはパラメータ表示された曲線を描くためのコマンドである。 ここで、{Cos[t], Sin[t]} は平面の点を表わす。 また、t はパラメータである。この時は円ではなく楕円が描かれることが多い。 実際、楕円は円の縦と横方向の比率を変えて得られる。

ここではさらにAspectRatio -> Automatic なるオプションを用いると 円が描かれる。

ParametricPlot [{Cos[t], Sin[t]}, {t, 0,2Pi}, AspectRatio -> Automatic ];

正確に楕円を描くには次のようにする。

ParametricPlot[{ 2 Cos[t], Sin[t]}, {t, 0,2Pi}, AspectRatio -> Automatic];

ここで横方向に円を2倍に引き伸ばしている。これを変えるといろいろな形の楕円が得られる。 たとえば、横方向に0.5倍にすると次のような楕円がえられる。

ParametricPlot[{ 0.5 Cos[t], Sin[t]}, {t, 0,2Pi}, AspectRatio -> Automatic];

分割する点を増やしてグラフを滑らかにします。

ParametricPlot[{ 0.5 Cos[t], Sin[t]}, {t, 0,2Pi}, PlotPoints -> 70, AspectRatio -> Automatic];

図形に色をつける

図形に色をつけるには次のようにします。

ParametricPlot[{ 2 Cos[t], Sin[t]}, {t, 0,2Pi}, AspectRatio -> Automatic, PlotStyle-> RGBColor[0,0,1] ];

色を変えていくつかグラフを描いてみます。

ParametricPlot[{ 3 Cos[t], Sin[t]}, {t, 0,2Pi}, AspectRatio -> Automatic, PlotStyle-> RGBColor[1,0,1] ];

ParametricPlot[{ Cos[t], 3 Sin[t]}, {t, 0,2Pi}, AspectRatio -> Automatic, PlotStyle-> RGBColor[0,1,1] ];

ParametricPlot[{ 2 Cos[t], 3 Sin[t]}, {t, 0,2Pi}, AspectRatio -> Automatic, PlotStyle-> RGBColor[0.5,0.5,1] ];

パラメータ表示された曲線族を描く


次のようにします。

Do[
ParametricPlot[{Sin[n t],Sin[(n+1) t]}, {t,0,2Pi},
AspectRatio -> Automatic],
{n,1,10,1}];


このコマンドを用いると幾つかのグラフを簡単に描くことができる。nは1から10まで2きざみで 増える。別の例を与える。

Do[
ParametricPlot[{Sin[n t], Cos[(n+1) t]},{t,0,2Pi},
AspectRatio -> Automatic],
{n,0,5,1}];


Do[
Plot[Sin[n t], {t,0,2Pi}, AspectRatio -> Automatic ],
{n,1,3,1/4}];


これらの曲線に色をつける。このためには色を変えるオプションをつける。

Do[
ParametricPlot[{Sin[n t], Cos[(n+1) t]},{t,0,2Pi},
AspectRatio -> Automatic, PlotStyle-> RGBColor[n/5,0,n/5]],
{n,1,5,1}];


戻る


その他のパラメータ表示された曲線
多くのパラメータ表示された平面曲線をあげる。

ParametricPlot[{(Sin [t])^2, Sin[t^2/Pi]}, {t, 0, 2Pi},
AspectRatio->Automatic];

ParametricPlot[{(Sin [t])^3, Sin[t^2/Pi]}, {t, 0, 2Pi},
AspectRatio->Automatic];

ParametricPlot[{(Sin [t])^2, (Sin[t^2/Pi] )^4 }, {t, 0, 2Pi},
AspectRatio->Automatic];

ParametricPlot[{Sin[Cos[t]],Sin[2t]}, {t, 0, 2Pi}, AspectRatio->Automatic];

ParametricPlot[{Sin[2t],Sin[t]}, {t, 0, 2Pi}, AspectRatio->Automatic];

ParametricPlot[{Sin[t],Sin[4t]}, {t, 0, 2Pi}];

ParametricPlot[{Sin[6t],Sin[t]}, {t, 0, 2Pi},PlotPoints ->100, AspectRatio->Automatic];

ParametricPlot[{Cos[t],Cos[4t]}, {t, 0, 2Pi}];

ParametricPlot[{Sin[t], Cos[3t]}, {t, 0, 2Pi}];

ParametricPlot[{Sin[t], Tan[2t]}, {t, 0, 2Pi},PlotPoints->100];

ParametricPlot[{Cos[t],Tan[t]}, {t, 0, 2Pi}];


戻る
3次元空間内の曲線あるいは曲面をパラメーター表示する

3次元の空間内の曲線のパラメーター表示も基本的な点は2次元の場合と同じである。 異なる点は命令にParametricPlot3Dを用いる点と成分として3つの関数をカンマで区切って与える点である。
3Dは三次元の空間内のグラフをあらわす。

空間曲線のパラメータ表示

ParametricPlot3D [{Sin[t], Cos[t], t/3}, {t, 0, 15}];

ここでパラメータはtのみであり、これは空間曲線である。
z成分をt2やその他の関数にして変化を観察せよ。 例えば次のグラフを観察せよ。

ParametricPlot3D [{Sin[t^2], Cos[t], t}, {t, 0, 3}];

ParametricPlot3D [{Sin[t Pi], Cos[3 t], t^2}, {t, 0, 2}];

次に分割の点の数を指定して、グラフを滑らかにする。

ParametricPlot3D [{Sin[t Pi], Cos[t Pi], t^2}, {t, 0, 2}, PlotPoints->50];

曲線に色をつける

方法は第4番目の成分として色を指定する。次のようにする。

ParametricPlot3D [{Sin[t Pi], Cos[t Pi], t^2 ,RGBColor[1,0,0] }, {t, 0, 2}, PlotPoints->50];

ParametricPlot3D [{Sin[t^2], Cos[t], t , RGBColor[0,1,0] }, {t, 0, 3}];

ParametricPlot3D [{Sin[t Pi], Cos[3 t], t^2, RGBColor[0,1,1] }, {t, 0, 2}];

視点をかえる

上の曲線を見る方向をかえて観察する。そのためには次のようにする。

ParametricPlot3D [{Sin[t Pi], Cos[3 t], t^2, RGBColor[0,1,1] }, {t, 0, 2}, ViewPoint -> {-2.060, -1.250, 1.850} ];

ここで視点を与える座標を簡単に入力するためにはまずカーソルを入力したい位置に移動する。 つぎにMathematicaのメニューの入力をクリックして3Dビューポイントの設定を選ぶ。 マウスで適当に回転させる。座標の数値が表示されるので 適当なところでペーストをクリックすれば上のViewPoint -> {-2.060, -1.250, 1.850}が 貼りこまれる。但しカンマは挿入されないので自分で入力する必要がある。 別の例をあげておく。

ParametricPlot3D[{Sin[t Pi], Cos[t Pi], t^2, RGBColor[1, 0, 0]}, {t, 0, 2},
PlotPoints -> 50, ViewPoint -> {-0.280, -2.400, 2.000}];

空間曲面のパラメータ表示

曲面はパラメータが2つある。曲面にはこれ意外にもいろいろあるので関数を変えてあらわれる曲面を 観察してみよう。PlotPoints->{50,70}は2つのパラメータについて分割の数をあたえる。 これが多いほどなめらかな曲面になる。

ParametricPlot3D [{u Sin[t], u Cos[t], t/3}, {t, 0, 15}, {u, -1, 1}, PlotPoints->{50,70}];

ParametricPlot3D [{Sin[x^2], Cos[x], y}, {x, 0, 2Pi}, {y, -2, 2},PlotPoints->{50,70}];


球面、楕円体 トーラス

つぎは球面をパラメータ表示をして描いている。

ParametricPlot3D[{Cos[u] Cos[v], Sin[u] Cos[v], Sin[v]}, {u, 0, 2Pi}, {v, -Pi/2, Pi/2}, PlotPoints -> 50];

次の2つは楕円体である。これは球面を座標軸の方向に引き伸ばしたものである。 引き伸ばす方向と伸縮率を変えることでいろいろな形状の楕円体が得られる。

ParametricPlot3D[{2Cos[u] Cos[v], Sin[u] Cos[v], Sin[v]}, {u, 0, 2Pi}, {v, -Pi/2, Pi/2}, PlotPoints -> 50];

ParametricPlot3D[{Cos[u] Cos[v], 2Sin[u] Cos[v], Sin[v]}, {u, 0, 2Pi}, {v, -Pi/2, Pi/2}, PlotPoints -> 50];

これを視点をかえて観察する。

ParametricPlot3D[{Cos[u] Cos[v], 2Sin[u] Cos[v], Sin[v]},
{u, 0, 2Pi}, {v, -Pi/2, Pi/2}, PlotPoints -> 50, ViewPoint -> {-2.546, -1.673, 2.729} ];

次の図は言うまでもないがトーラス面である。これは円をべつの円に沿って回転させたものである。

ParametricPlot3D[ {Cos[t] (3 + Cos[u]), Sin[t] (3 + Cos[u]), Sin[u]}, {t, 0, 2Pi}, {u, 0, 2Pi}, PlotPoints -> 50];

ParametricPlot3D[ {Cos[t] (3 + Cos[u]), Sin[t] (3 + Cos[u]), Sin[u]}, {t, 0, 2Pi}, {u, 0, 2Pi},ViewPoint -> {-1.518, 2.393, 3.509} , PlotPoints -> 50];

戻る