平成13年9月30日
[流れ星]
第83回数学的な応募問題解答NO2
<解答募集期間:9月16日〜9月30日>
[最大雨量]
太郎さんは、8月20・21日に行われた「県教育課程講習会」に出席してきましたが、県教委の方が次のような身近な問題を出され、解説されました。紹介します。
問題:幅aの細長い鉄板を折り曲げて、といを作ります。対称に2カ所で同じ角度に折り曲げて、切り口を等脚台形にします。(下の図)
どこでどのように折り曲げたら、雨を最も多量に流すことができるでしょうか。
NO5<浜田>さんからの解答 9/17:16時57分受信 更新9/30
折り曲げる部分の長さをx,角をt(0<x≦a/2,0<t≦π/2)とする.
このくいの断面である等脚台形の面積Sが最大になるように,x,tを選べばよい.
S={(a−2x)+(a−2x+2xcost)}×xsint/2
=sint×{a−(2−cost)x}x
=sint(2−cost)×{a/(2−cost)−x}x………@
0≦cost<1であるから,0<a/{2(2−cost)}<a/2となるので,xの2次関数 {a/(2−cost)−x}x が最大になるのは,
x=a/{2(2−cost)}………A
のときである.
@から,さらにこのとき,
T=sint(2−cost)
が最大になれば,Sは最大となる.
T>0であるから,X=costとするとき,
f(X)=T^2=(sint)^2(2−cost)^2=(1−X^2)(2−X)^2
が最大になればよい.
f'(X)=−2X(2−X)^2+(1−X^2){−2(2−X)}
=−2(2−X){X(2−X)+(1−X^2)}
=2(2−X)(2X^2−2X−1)
0≦X=cost<1であるから,
2X^2−2X−1=2(X−1/2)^2−3/2<0
∴f'(X)<0
故にf(X)は減少関数である.
0≦X<1であるので,
X=cost=0
のとき,f(X)が最大になる.
このとき,
t=π/2
であり,Aに代入して,
x=a/4
である.
この答を実際にチェックする為に,UBASICとエクセルのプログラムを作って走らせてみた.しかしまったく違う答が出て来てしまったことに驚いた.それらのプログラムでの答は,a=1としたとき,
x=0.333333,t=60.0000(°),S=0.144338
であった.
確かにx=1/4,t=90(°)としたとき,S=1/8=0.125となり,上記の場合よりも小さい.またGRAPESを使い,作図してみると,確かに上の2つの場合の面積の違いがはっきり分かる.
(UBASICのプログラム)
10 'asave "83.ub"
20 Pi=4*atan(1):Rad=Pi/180:Max=0:X_kizami=1/10:T_kizami=90/10
30 X_min0=X_kizami:X_max0=1/2:T_min0=T_kizami:T_max0=90
40 for J=1 to 15
50 if J=1 then X_min=X_min0:X_max=X_max0:T_min=T_min0:T_max=T_max0:goto
110
60 X_min=Xx-X_kizami:if X_min<X_min0 then X_min=X_min0
70 X_max=Xx+X_kizami:if X_max>X_max0
then X_max=X_max0
80 T_min=Tt-T_kizami:if T_min<T_min0
then T_min=T_min0
90 T_max=Tt+T_kizami:if T_max>T_max0
then T_max=T_max0
100 X_kizami*=0.1:T_kizami*=0.1
110 X=X_min
120 while X<=X_max:T=T_min
130 while T<=T_max
140 S=((1-2*X)+(1-2*X+2*X*cos(T*Rad)))*(X*sin(T*Rad))/2
150 if Max<S then Max=S:Xx=X:Tt=T:print
X;T;S
160 T+=T_kizami
170 wend:X+=X_kizami
180 wend
190 next J:end
(エクセルのマクロ)
Option Explicit
Sub Macro1()
Dim pi As Double
Dim x As Double
Dim t As Double
Dim S As Double
Dim xx As Double
Dim tt As Double
Dim x_min As Double
Dim x_max As Double
Dim t_min As Double
Dim t_max As Double
Dim x_min0 As Double
Dim x_max0 As Double
Dim t_min0 As Double
Dim t_max0 As Double
Dim max As Double
Dim x_kizami As Double
Dim t_kizami As Double
Dim j As Integer
pi = 4 * Atn(1)
max = 0
x_kizami = 1 / 10
t_kizami = 90 / 10
x_min0 = x_kizami
x_max0 = 1 / 2
t_min0 = t_kizami
t_max0 = 90
Cells(1, 1).Value = "x"
Cells(1, 2).Value = "t"
Cells(1, 3).Value = "S"
For j = 1 To 14
If j = 1 Then
x_min =
x_min0
x_max =
x_max0
t_min =
t_min0
t_max =
t_max0
Else
x_min = xx
- x_kizami
If x_min
< x_min0 Then
x_min
= x_min0
End If
x_max = xx
+ x_kizami
If x_max
> x_max0 Then
x_max
= x_max0
End If
t_min = tt - t_kizami
If t_min
< t_min0 Then
t_min
= t_min0
End If
t_max = tt + t_kizami
If t_max
> t_max0 Then
t_max
= t_max0
End If
x_kizami =
x_kizami * 0.1
t_kizami =
t_kizami * 0.1
End If
For x = x_min To x_max Step x_kizami
For t = t_min
To t_max Step t_kizami
S = menseki(x,
t)
If max < S Then
max = S
xx = x
tt = t
Cells(2,
1).Value = x
Cells(2,
2).Value = t
Cells(2,
3).Value = S
End If
Next t
Next x
Next j
End Sub
Private Function menseki(ByVal
x As Double, ByVal t As Double) As Double
Dim pi As Double
Dim rad As Double
pi = 4 * Atn(1)
rad = pi / 180
menseki = ((1 - 2 * x) + (1 - 2 *
x + 2 * x * Cos(t * rad)))
* (x * Sin(t * rad)) / 2
End Function
なぜこのような違いが出て来たか,考察してみた.おそらくこういうことであろう.最初の解答では,xとtを別々に考え,Sが最大となるのは,
x=a/{2(2−cost)} であり,かつ
T=sint(2−cost)
が最大になるとき,とした.
ところがこのときxとtは独立ではなく従属しているのである.したがってそれぞれの最大になる場合は,微妙に絡み合っており,別個には考えられないのである.
この問題の答は,プログラムの解答通り,
a=1,x=0.333333,t=60.0000(°),S=0.144338 となるので,
「左右の板の端から,それぞれa/3の長さの箇所から,60°の角度で折り曲げれば,断面積が,√3a^2/12となり最大となる.このときに雨を最も多量に流すことができる.」であろう.
これを偏微分で解いてみる(高校数学の範囲を逸脱するが・・・).
S=sint{a−(2−cost)x}x において,
Sx=St=0
を満たすx,tの値において極値をとる.この問題の場合,このときにSは最大となる.
Sx=sint[−(2−cost)x+{a−(2−cost)x}]
=sint{a−2(2−cost)x}=0 から,
x=a/{2(2−cost)}(∵sint≠0,cost≠2)………A
また,
St=[cost{a−(2−cost)x}+sint(−sintx)]x
={acost−2xcost+x(cost)^2−x(sint)^2}x
=(acost−2xcost+xcos2t)x=0 から,
acost−2xcost+xcos2t=0(∵x≠0)
Aを代入すると,
acost−acost/(2−cost)+acos2t/{2(2−cost)}=0
a≠0から,
2cost(2−cost)−2cost+cos2t=0
∴4cost−2(cost)^2−2cost+2(cost)^2−1=0
∴cost=1/2
0<t≦π/2から,t=π/3
Aに代入すると,x=a/3 ・・・
PS.前回の問題の間違いは,私の勘違いでした.長さと長さの比を混同した為の計算間違いでした.まことに申し訳ないですが,今後このような間違いを犯さない戒めとして,その間違いはそのまま残しておいてもらえないでしょうか.ご迷惑な話で,わがままなお願いですが,お願いします.
PS2.前回の問題で,∠A〜∠Cを使っていいとは思いませんでした.てっきりp〜rのみを使って解くのだとばかり思っていたのです.
<水の流れ:誤解を招くような文章で、申し訳ありませんでした。>
NO6<kashiwagit>さんからの解答 9/19:8時40分受信 更新9/30
おはようございます。解答を送付致します。微分を使いましたが、中学生にはわかりませんし−−−。
二次式を平方式にしてやるのが、オーソドックスな解答なのでしょうが、面倒なのでお許し下さい。
両端から折る長さをx、残った長さを2y、折り曲げる角度をθとする。
2x+2y=a−−−@ 題意より a/2>x,y>0 π/2>θ>0−−−A
といの面積Sは、 S=(2y+xcosθ)xsinθ ここで@の関係からyを消去すると、
=sinθ(cosθ−2)x(superscript:
2) +asinθx
ところで、条件Aよりx(superscript: 2) の係数は0にならず、必ずであるから、最大値を持つ。
因って、Sをxの関数として微分すると、
x=a/2(2-cosθ)で最大値をとる。この値はa/4とa/2の間にあるので題意を満たしている。
この値をSに代入すると、a(superscript: 2)sinθ/4(2-cosθ)となる。
そこで、この値をθの関数とみなし、同様にθで微分し、計算すると、cosθ=1/2で最大値をとる。
即ち、θ=π/3、x=a/3である。これらはAの条件を満たすので求めるものである。
両端から1/3のところで60°折り曲げれば良い。
以上よろしくお願い申し上げます。
<水の流れ:コメント> ええー!中学生でしたか、以前話題になったけ。記憶になーい。いや、どんな解法でも制約をしていませんから、自由な発想で結構です。ええー、この微分が理解できているんですか。驚きです。もう少し、丁寧に書いてもらえると、ありがたいです。
NO7<kashiwagit>さんからの解答 9/20:7時54分受信 更新9/30
ご返信どうも有難うございました。おっしゃるように少々簡単に書きすぎまし
た。以下に赤字で補足させて頂きます。
両端から折る長さをx、残った長さを2y、折り曲げる角度をθとする。
2x+2y=a−−−@ 題意より a/2>x,y>0 π/2>θ>0−−−A
といの面積Sは、 S=(2y+xcosθ)xsinθ ここで@の関係からyを消去すると、
=sinθ(cosθ−2)x(superscript:
2) +asinθx
ところで、条件Aよりx(superscript: 2) の係数は0にならず、必ず負であるから、最大値を持つ。
因って、Sをxの関数として微分すると、
S’=2sinθ(cosθ−2)x+asinθ
,因って x=a/2(2-cosθ)で最大値をとる。この値はa/4とa/2の間にあるので題意を満たし
ている。 この値をSに代入すると、a(superscript: 2)sinθ/4(2-cosθ)となる。
そこで、この値をθの関数とみなし、関数をFとし、同様にθで微分し、計算すると、
F’=(2cosθ−1)/(2−cosθ)(superscript:
2) より、θの増加に伴い、値を正
から負に変えるので、cosθ=1/2で最大値をとる。
即ち、θ=π/3、x=a/3である。これらはAの条件を満たすので求めるものである。
因って、両端から1/3のところで60°折り曲げれば良い。
以上よろしくお願い申し上げます。
NO8<やぎ>さんからの解答 9/22:1時13分受信 更新9/30
NO9<やぎ>さんが出された問題でN=4のときの解答 9/24:1時45分受信 更新9/30
いずれも「やぎ」さんから寄せられたものです。ここをクリックください。
<水の流れ:コメント> 最大値はといの断面が正六角形の半分になる場合である。よく見かける蜂の巣と同じ形になるのです。