mathematica
发表于 2020-6-6 09:51:21
王守恩 发表于 2020-6-5 10:47
想一想,为什么这么简单!
\(a=4,b=8,c=16\)
微积分的办法有什么不好的?
dlpg070
发表于 2020-6-7 10:47:29
本帖最后由 dlpg070 于 2020-6-7 13:08 编辑
dlpg070 发表于 2020-6-2 08:42
完全初中生的解题方法(根据王守恩的作图法)
下面方法只用到
1 三角形ADE的费马点F的定义和性质
完整中学生解法(增加x<0 或 y<0的讨论),附加例子,为方便文本编辑,没用排版
设 b>=a>0
按a,b,c关系 , 分3个区间
1. 0< c <= Sqrt*(b-a)
F = A 最小值 min= a+Sqrt
2. Sqrt*(b-a) < c < Sqrt*(b+a)
F={xf,yf}
坐标:
xf = 1/2 (Sqrt a - Sqrt b + c)
yf = 1/6 (3 a + 3 b - Sqrt c)
最小值:
min = (a + b + c*Sqrt)/2
如果xf<0 表明计算结果不可用,属于第 1 区间
如果yf<0 表明计算结果不可用,属于第 3 区间
3. c >= Sqrt*(b+a)
F={xf,yf}
坐标:
xf = c/(1+b/a)
yf = 0
最小值:
min=Sqrt+Sqrt
这样,只要给定 a b c 中学生都能不借助计算机求解
=============================
例1 a=6 b=8 c=32(类似王守恩的将军马饮水)
2个判断方法:
判断方法1.
cmin 2 Sqrt=3.4641
cmax 14 Sqrt =24.
c=32>cmax 按第3区间计算
判断方法2.
xf 1/2 (32-2 Sqrt) =14.2679
yf 1/6 (42-32 Sqrt) =-2.2376
xf>0,yf<0 ,原计算结果不可用,需按第3区间公式重新计算 xf,yf,min
按第3区间重新计算结果:
坐标:
xf = c/(1+b/a)=96/7
yf = 0
最小值:
min=Sqrt+Sqrt=2 Sqrt
以上结果经验证无误
dlpg070
发表于 2020-6-7 14:02:15
dlpg070 发表于 2020-6-7 10:47
完整中学生解法(增加x0
按a,b,c关系 , 分3个区间
1. 0< c 0,yf
验证用代码
"完整中学生解法"虽然只用初等方法计算,但讨论有些复杂
这是为中学生和他们的老师看的---小题小作也是一种乐趣
其实小题大作很简单,甚至不需要讨论各种条件
下面的代码用Minimize,源于2#
共计算4个例题
1 ,2 属于第2区间 正常费马点
3 属于第3区间 费马点F与E重合, 在BC线上
4 属于第1区间 费马点F与A重合, 在角A
代码:(*验证*)
Clear["Global`*"];
(* Minimize求解 通用 ,ok验证用 *)
fs:=fs=Module[{ans,out},
Clear;
ans=Minimize[{FA+FE+FD,(*目标函数*)(*约数条件*)FA^2==(x-0)^2+(y-a)^2&&FD^2==(x-c)^2+(y-b)^2&&FE==y&&(*限制变量范围*)FA>=0&&FD>=0&&FE>=0},{x,y,FA,FD,FE}]//FullSimplify;
out=RootApproximant@N[{x,y,FA,FD,FE}/.ans[],300];
{ans[],out[],out[],out[],out[],out[]}
]
data={{4,8,16},{6,10,16},{6,8,32},{6,16,8}};
Print["验证:"]
lst=Table[ {a,b,c}=data[];
ans=fs;
{min,xf,yf,FAm,FDm,FEm}=ans;
Print["a=",a," b=",b," c=",c," min=",min, " =",N," xf= ",xf," =",N," yf= ",yf," =",N];
{n,a,b,c,min,xf,yf}
,{n,1,Length}];
Grid
dlpg070
发表于 2020-6-7 14:02:15
本帖最后由 dlpg070 于 2020-6-7 14:17 编辑
dlpg070 发表于 2020-6-7 10:47
完整中学生解法(增加x0
按a,b,c关系 , 分3个区间
1. 0< c 0,yf
验证用代码
"完整中学生解法"虽然只用初等方法计算,但讨论有些复杂
这是为中学生和他们的老师看的---小题小作也是一种乐趣
其实小题大作很简单,甚至不需要讨论各种条件
下面的代码用Minimize,源于2#
共计算4个例题
1 ,2 属于第2区间 正常费马点
3 属于第3区间 费马点F与E重合, 在BC线上
4 属于第1区间 费马点F与A重合, 在角A
代码:(*验证*)
Clear["Global`*"];
(* Minimize求解 通用 ,ok验证用 *)
fs:=fs=Module[{ans,out},
Clear;
ans=Minimize[{FA+FE+FD,(*目标函数*)(*约数条件*)FA^2==(x-0)^2+(y-a)^2&&FD^2==(x-c)^2+(y-b)^2&&FE==y&&(*限制变量范围*)FA>=0&&FD>=0&&FE>=0},{x,y,FA,FD,FE}]//FullSimplify;
out=RootApproximant@N[{x,y,FA,FD,FE}/.ans[],300];
{ans[],out[],out[],out[],out[],out[]}
]
data={{4,8,16},{6,10,16},{6,8,32},{6,16,8}};
Print["验证:"]
lst=Table[ {a,b,c}=data[];
ans=fs;
{min,xf,yf,FAm,FDm,FEm}=ans;
Print["a=",a," b=",b," c=",c," min=",min, " =",N," xf= ",xf," =",N," yf= ",yf," =",N];
{n,a,b,c,min,xf,yf}
,{n,1,Length}];
Grid
输出:
n a b c min xf yf
\(\begin{array}{lllllll}
1 & 4 & 8 & 16 & 8 \sqrt{3}+6 & 8-2 \sqrt{3} & \frac{1}{3} \left(18-8 \sqrt{3}\right) \\
2 & 6 & 10 & 16 & 8 \left(\sqrt{3}+1\right) & 8-2 \sqrt{3} & \frac{1}{3} \left(24-8 \sqrt{3}\right) \\
3 & 6 & 8 & 32 & 2 \sqrt{305} & \frac{96}{7} & 0 \\
4 & 6 & 16 & 8 & 2 \left(\sqrt{41}+3\right) & 0 & 6 \\
\end{array}\)