找回密码
 欢迎注册
楼主: mathematica

[提问] 如何求下面的问题的最小值?

[复制链接]
 楼主| 发表于 2020-6-6 09:51:21 | 显示全部楼层
王守恩 发表于 2020-6-5 10:47
想一想,为什么这么简单!

\(a=4,b=8,c=16\)

微积分的办法有什么不好的?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 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[3]*(b-a)
  F = A 最小值 min= a+Sqrt[c^2+(b-a)^2]
2. Sqrt[3]*(b-a) < c < Sqrt[3]*(b+a)
F={xf,yf}
坐标:
xf = 1/2 (Sqrt[3] a - Sqrt[3] b + c)
yf = 1/6 (3 a + 3 b - Sqrt[3] c)
最小值:
min = (a + b + c*Sqrt[3])/2
如果xf<0 表明计算结果不可用,属于第 1 区间

如果yf<0 表明计算结果不可用,属于第 3 区间


3. c >= Sqrt[3]*(b+a)
F={xf,yf}
坐标:
xf = c/(1+b/a)
yf = 0
最小值:
min=Sqrt[b^2+(c-xf)^2]+Sqrt[a^2+xf^2]
这样,只要给定 a b c 中学生都能不借助计算机求解

=============================

例1 a=6 b=8 c=32(类似王守恩的将军马饮水)
2个判断方法:  
判断方法1.
cmin 2 Sqrt[3]  =3.4641
cmax 14 Sqrt[3] =24.
c=32>cmax 按第3区间计算
判断方法2.
xf 1/2 (32-2 Sqrt[3]) =14.2679
yf 1/6 (42-32 Sqrt[3]) =-2.2376
xf>0,yf<0 ,原计算结果不可用,需按第3区间公式重新计算 xf,yf,min

按第3区间重新计算结果:
坐标:
xf = c/(1+b/a)=96/7
yf = 0
最小值:
min=Sqrt[b^2+(c-xf)^2]+Sqrt[a^2+xf^2]=2 Sqrt[305]
以上结果经验证无误


毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 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
代码:
  1. (*验证*)
  2. Clear["Global`*"];
  3. (* Minimize求解 通用 ,ok  验证用 *)
  4. fs[a_,b_,c_]:=fs[a,b,c]=Module[{ans,out},
  5. Clear[x,y,FA,FE,FD];
  6. 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;
  7. out=RootApproximant@N[{x,y,FA,FD,FE}/.ans[[2]],300];
  8. {ans[[1]],out[[1]],out[[2]],out[[3]],out[[4]],out[[5]]}

  9. ]
  10. data={{4,8,16},{6,10,16},{6,8,32},{6,16,8}};
  11. Print["验证:"]
  12. lst=Table[ {a,b,c}=data[[n]];

  13. ans=fs[a,b,c];
  14. {min,xf,yf,FAm,FDm,FEm}=ans;


  15. Print["a=",a," b=",b," c=",c," min=",min, " =",N[min]," xf= ",xf," =",N[xf]," yf= ",yf," =",N[yf]];
  16. {n,a,b,c,min,xf,yf}
  17. ,{n,1,Length[data]}];
  18. Grid[lst,Alignment->Left]




复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 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
代码:
  1. (*验证*)
  2. Clear["Global`*"];
  3. (* Minimize求解 通用 ,ok  验证用 *)
  4. fs[a_,b_,c_]:=fs[a,b,c]=Module[{ans,out},
  5. Clear[x,y,FA,FE,FD];
  6. 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;
  7. out=RootApproximant@N[{x,y,FA,FD,FE}/.ans[[2]],300];
  8. {ans[[1]],out[[1]],out[[2]],out[[3]],out[[4]],out[[5]]}

  9. ]
  10. data={{4,8,16},{6,10,16},{6,8,32},{6,16,8}};
  11. Print["验证:"]
  12. lst=Table[ {a,b,c}=data[[n]];

  13. ans=fs[a,b,c];
  14. {min,xf,yf,FAm,FDm,FEm}=ans;


  15. Print["a=",a," b=",b," c=",c," min=",min, " =",N[min]," xf= ",xf," =",N[xf]," yf= ",yf," =",N[yf]];
  16. {n,a,b,c,min,xf,yf}
  17. ,{n,1,Length[data]}];
  18. Grid[lst,Alignment->Left]




复制代码


输出:
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}\)
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-3-28 20:10 , Processed in 0.041866 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表