ベクhルD和

ベクトルの和
問題 0. 2つのベクトルの和を以下のような枠と変化の対応で描くプログラムを作成せよ。
In[1]:=
Manipulate@Graphics@8Thick, Blue, Arrow@880, 0<, a<D, Text@a, a + 0.5D,
Green, Arrow@880, 0<, b<D, Text@b, b + 0.5D, Red, Arrow@880, 0<, a + b<D,
Text@a + b, a + b + 0.5D, Dashed, Brown, Line@8a, a + b, b<D<,
PlotRange Ø 10, GridLines Ø 8Range@- 10, 10D, Range@- 10, 10D<, Axes Ø TrueD,
88a, 85, 1<<, Locator<, 88b, 81, 5<<, Locator<, SaveDefinitions Ø TrueD
10
86, 6<
5
81, 5<
85, 1<
Out[1]=
-10
-5
5
10
-5
-10
注: Locator を使って、点の移動を行えるようにしてある。
2次関数の平行移動
問題1. 2次関数
y = (x - p)^2 + q
のグラフとして以下の操作ができるプログラムを作成せよ。
In[1]:=
Manipulate@f1 = x ^ 2; f2 = Hx - pL ^ 2 + q;
Plot@8f1, f2<, 8x, - 3, 3<, PlotRange Ø 3, PlotStyle Ø 8Blue, 8Thick, Red<<,
AspectRatio Ø Automatic, Epilog Ø Inset@Style@Hx - pL ^ 2 + q, 32D, 80, - 2.5<DD,
88p, 0<, - 2, 2, 0.5, Appearance Ø "Labeled"<,
88q, 0<, - 2, 2, 0.5, Appearance Ø "Labeled"<,
SaveDefinitions Ø TrueD
p
1.
1.
q
0.5
0.5
3
2
Out[1]=
1
-3
-2
-1
1
2
3
-1
-2
Hx - 1.L2 + 0.5
-3
注: グラフ中に関数の式を表示するために Inset を用いた。スライダーには、値を表示できるよ
うに Appearance -> "Labeled" を使った。 p, q の値は、0.5 刻みで変化させた。
2次関数の最大・最小
問題2. 0 c x, 0 c y, x + y =4 であるとき、x^2 + y^2 の最小値を空間図形として、以下のように
表現できるプログラムを作成せよ。
In[1]:=
Manipulate@Show@Plot3D@x ^ 2 + y ^ 2, 8x, 0, 4<, 8y, 0, 4<,
MeshFunctions Ø 8Ò1 + Ò2 - 4 &<, MeshStyle Ø Purple, Mesh Ø 1, BoxRatios Ø 1D,
Graphics3D@8Red, Sphere@8a, 4 - a, a ^ 2 + H4 - aL ^ 2<, 0.1D<DD,
88a, 0, "x"<, 0, 4, Appearance Ø "Labeled"<, SaveDefinitions Ø TrueD
x
2.
2.
Out[1]=
注: 紫の曲線は、x + y = 4 である範囲を Mesh で表している。 x を変更することにより、赤い点
が移動するようにしている。
順列・組合わせの図形への応用
問題3. 以下の図のような道路において、始点から終点に行く道順を描くプログラムを作成せ
よ。
In[1]:=
Manipulate@walk =
Map@Accumulate, Permutations@Join@Table@81, 0<, 84<D, Table@80, 1<, 83<DDDD;
Graphics@8Table@Line@88x, 0<, 8x, 3<<D, 8x, 0, 4<D,
Table@Line@880, y<, 84, y<<D, 8y, 0, 3<D, Blue, Text@"Start", 80, - 0.1<D,
Text@"Goal", 84, 3 + 0.1<D, Thick, Red, Line@Prepend@walk@@pDD, 80, 0<DD<D,
8p, 1, 35, 1, Appearance Ø "Labeled"<, SaveDefinitions Ø TrueD
p
16
16
Goal
Out[1]=
Start
注: スライダーを動かすことにより、すべての経路を眺めることができるようにしている。Permutations と Accumulate を合わせて計算している。
2つの円の交点を通る曲線
問題4. 2つの円 x^2 + y^2 = 4, (x-2)^2 + (y-2)^2 = 4 の交点を通る直線または曲線を以下の図の
ようなグラフを描いて求めるプログラムを作成せよ。
In[1]:=
Manipulate@f = x ^ 2 + y ^ 2 - 4; g = Hx - 2L ^ 2 + Hy - 2L ^ 2 - 4; h = f - k g;
ContourPlot@8f ã 0, g ã 0, h ã 0<, 8x, - 2, 5<, 8y, - 2, 5<, Frame Ø None,
Axes Ø True, ContourStyle Ø 88Thick, Blue<, 8Thick, Green<, 8Thick, Red<<D,
88k, 1<, - 5, 5, Appearance Ø "Labeled"<, SaveDefinitions Ø TrueD
k
-1.8
5
4
3
2
Out[1]=
1
-2
-1
1
2
3
-1
-2
注: h = f - k g をうまく使うことがポイント!
4
5
線型計画法
問題5. x, y が次の不等式を満たすとき、x + y の最大値を、以下の図のようなグラフを描いて求
めるプログラムを作成せよ。
0 c x , 0 c y , 2 x + y c 8 , 2 x + 3 y c 12
In[1]:=
ManipulateB
ShowBRegionPlot@8x ¥ 0 && y ¥ 0 && 2 x + y § 8 && 2 x + 3 y § 12<, 8x, 0, 6<, 8y, 0, 4<,
AspectRatio Ø Automatic, PlotRange Ø 8- 2, 8<, Frame Ø None, Axes Ø TrueD,
-2
PlotB:- 2 x + 8,
x + 4, - x + k>, 8x, - 1, 6<,
3
PlotStyle Ø 8Automatic, Automatic, 8Thick, Red<<F,
Graphics@[email protected], Green, Point@80, k<D<DF,
8k, 0, 6, Appearance Ø "Labeled"<, SaveDefinitions Ø TrueF
k
3.32
3.32
Out[1]=
注: x + y = k を赤い直線で表している。領域は、RegionPlot で描画した。
三角関数のグラフ
問題6. y = sin q 以下の図のような枠と変化の対応でグラフを描くプログラムを作成せよ。
In[1]:=
ManipulateB
ShowBGraphics@8Circle@8- 2, 0<, 1D, Line@88- 2, - 1.2<, 8- 2, 1.2<<D, Green,
Line@88- 2, 0<, 8Cos@qD - 2, Sin@qD<, 8q, Sin@qD<<D,
[email protected], Red, Point@88Cos@qD - 2, Sin@qD<, 8q, Sin@qD<<D<D,
Pi
Plot@Sin@xD, 8x, 0, 2 Pi<D, Axes Ø True, Ticks Ø :RangeB0, 2 Pi,
F, Automatic>F,
4
Pi
:q, 0, 2 Pi,
, Appearance Ø "Labeled">, SaveDefinitions Ø TrueF
12
q
p
p
Out[1]=
1.0
0.5
-0.5
p
p
3p
4
2
4
p
5p
3p
7p
4
2
4
-1.0
注: Ticks の付け方で、Range を使っている。
2p
三角関数の合成
問題7. a sin q + b cos q を合成するグラフを以下のような枠と変化の対応でグラフを描くプログ
ラムを作成せよ。
In[1]:=
ManipulateBf = a Sin@qD; g = b Cos@qD; c = f + g;
PlotB8f, g, c<, 8q, 0, 2 Pi<,
PlotStyle Ø 88Thick, Blue<, 8Thick, Green<, 8Thick, Red<<,
Pi
Ticks Ø :RangeB0, 2 Pi,
F, Automatic>, PlotRange Ø AllF,
4
Pi
:a, 1, 5,
, Appearance Ø "Labeled">,
12
Pi
:b, 1, 5,
, Appearance Ø "Labeled">, SaveDefinitions Ø TrueF
12
a
1
1
b
1
1
1.5
Out[1]=
1.0
0.5
p
p
3p
4
2
4
p
5p
3p
7p
4
2
4
2p
-0.5
-1.0
-1.5
注: 青と緑のグラフを合成したグラフが、赤いグラフである。
2次関数の2つの接線の交点
問題8. 関数 y = x^2 + 2 上の2点から引いた接線の交点の y 座標は、2つの接点の座標の中点と
なっていることを、以下のような枠と変化の対応でグラフを描くプログラムを作成せよ。
In[1]:=
ManipulateB
ShowBf = x ^ 2 + 2; g = 2 x; 8fa, fb< = f ê. x Ø 8a, b<; 8ga, gb< = g ê. x Ø 8a, b<;
Plot@8f, ga Hx - aL + fa, gb Hx - bL + fb<, 8x, - 3, 3<, PlotRange Ø 8- 1, 6<,
PlotStyle Ø 88Thick, Blue<, 8Thick, Red<, 8Thick, Orange<<,
AspectRatio Ø AutomaticD, GraphicsB:[email protected], Red, Point@8a, 0<D,
Orange, Point@8b, 0<D, Thick, Purple, LineB::
a+b
2
, - 1>, :
a+b
2
, 6>>F>FF,
88a, - 1<, - 2, 1, Appearance Ø "Labeled"<,
88b, 1<, - 1, 2, Appearance Ø "Labeled"<, SaveDefinitions Ø TrueF
a
-0.705
-0.705
b
0.55
0.55
6
5
4
Out[1]=
3
2
1
-3
-2
-1
1
2
3
-1
注: 2つの接点の x 座標は、赤と橙の点で表している。交点の x 座標は、紫の直線で表してい
る。
2
8.nb
注: 2つの接点の x 座標は、赤と橙の点で表している。交点の x 座標は、紫の直線で表してい
る。
積分・面積の2等分
問題9. 関数 y = - x^2 + 4x と x 軸で囲まれた部分の面積を直線 y = m x で2等分していると
き、定数 m の値を求めるグラフィックスを、以下のような枠と変化の対応で描くプログラムを作成
せよ。
In[1]:=
Manipulate@f = - x ^ 2 + 4 x; g = m x;
sa = NIntegrate@f - g, 8x, 0, 4 - m<D; sb = NIntegrate@f, 8x, 0, 4<D - sa;
Show@Plot@8f, g<, 8x, 0, 4<, PlotRange Ø 80, 5<, AspectRatio Ø Automatic, Epilog Ø
8Inset@Style@sa, Blue, 24D, 81, 4<D, Inset@Style@sb, Red, 24D, 83, 4<D<D,
RegionPlot@8y < f && y > g, y < f && y < g && y > 0<, 8x, 0, 4<, 8y, 0, 5<DD,
88m, 1<, 0, 4, Appearance Ø "Labeled"<, SaveDefinitions Ø TrueD
m
0.825
0.825
Out[1]=
注: それぞれの面積の領域は、RegionPlot を使って描画した。
3頂点の座標と三角形の面積
問題 X. 3つの頂点の座標が与えられた際、その三角形の面積を
以下のような枠と変化の対応で描くプログラムを作成せよ。
In[1]:=
ManipulateB8a, b, c< = Map@Rationalize@Ò, 0.1D &, 8a, b, c<D;
GraphicsB:Thick, Blue, Line@8a, b, c, a<D, Green, Text@a, a + Sign@aD * 0.8D,
Text@b, b + Sign@bD * 0.8D, Text@c, c + Sign@cD * 0.8D, Red,
a+b+c
TextBStyle@Det@8Hb - aL, Hc - aL<D ê 2, 24D,
F>, PlotRange Ø 10,
3
GridLines Ø 8Range@- 10, 10D, Range@- 10, 10D<, Axes Ø TrueF,
88a, 85, 1<<, Locator<, 88b, 81, 5<<, Locator<,
88c, 8- 2, - 5<<, Locator<, SaveDefinitions Ø TrueF
10
81, 5<
5
91
3
Out[1]=
-10
-5
:
17 1
, >
3 3
5
-5
8-2, -5<
-10
注: ベクトルの成分表示を使って面積を求めています。
10