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

[求助] 三角形面积最大的驻点条件

[复制链接]
 楼主| 发表于 2020-4-3 18:02:15 | 显示全部楼层
dlpg070 发表于 2020-4-3 15:10
我的低水平代码,善于发现bug,与某人代码仅差2字符
多么好的代码,半途而废太可惜
我苦口婆心提醒多少 ...

再贴一段代码欣赏和比较水平有多低

  1. (* 改进 仍然修改 b\[Equal]c *)
  2. (* BAC临界值 --- 计算P点在BC上且面积最大值时的对应的角BAC*)
  3. Clear["Global`*"];
  4. PA = 12; PB = 6; PC = 7;
  5. cs[a_, b_, c_] := (a^2 + b^2 - c^2)/(2*a*b)
  6. ans = Solve[{cs[PA, PB, c] + cs[PA, PC, b] == 0 && b == c &&
  7.      b > 0}, {b, c}] // FullSimplify
  8. b = b /. ans[[1, 1]];
  9. c = c /. ans[[1, 2]];
  10. BAC = ArcCos[cs[b, c, PB + PC]]*180/Pi
  11. Print["BAC= ", N[BAC, 20], " 度"]
复制代码

输出:
{{b->Sqrt[186],c->Sqrt[186]}}
(180 ArcCos[203/372])/\[Pi]
BAC= 56.927561350057540452 度

点评

为了比较我的编码水平有多低,尽量取相同参数,但是我觉得不比你的编码水平低,强多了, 我准备专门写篇帖子,谈有关技巧  发表于 2020-4-4 13:18
我在学习编码,是你在骚扰我  发表于 2020-4-4 12:59
请不要再骚扰我!!!!!!!!!!!!!!!1  发表于 2020-4-4 12:06
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2020-4-4 08:57:26 | 显示全部楼层
dlpg070 发表于 2020-4-3 18:02
再贴一段代码欣赏和比较水平有多低

我求的是p点在三角形内部时,并且PA=12 PB=6 PC=7时对应的最大角,
这个用来反驳你的条件不兼容(即不可能又在内部,又PA=12 PB=6 PC=7,又满足BAC=60)
而你想要得到的在内部时,PA=12 PB=6 PC=7,又最大面积时对应的角,
你想要的是最大面积对应的角,我求出来的是最大角,
根本不是一个概念!!!!!!!!!!!!!!!!!!!!!

点评

你如何解释同一概念的57.0041 和 56.9276 ? 诡辩把. 记得一位名人说过:你不是开发者,不要参加讨论,既然不想心平气和的讨论,就散了吧,你有来贴,我必有回复 不再称老师  发表于 2020-4-4 13:08
玩弄概念,改变不了56.9276,原来是这样的人!诡辩奇才  发表于 2020-4-4 11:12
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2020-4-15 16:57:44 | 显示全部楼层
本帖最后由 dlpg070 于 2020-4-15 17:00 编辑

三角形有解的极限

参见图片:
有解极限60_a_6_7.png
给定角度BAC,b,c,随着a的增加P点组件靠近BC边,P点在BC边是P点开始不在三角形内部,
a再增加P对AB ,AC的垂足逐渐靠近B ,C ,
P对AB ,AC的垂足在B ,C 时,a达到极限
由图可知:

因面积最大时 ,P的垂足同时在B,C点
BAC= PAB+PAC
Sin[PAB]= b/a
Sin[PAC]= c/a
解方程可求得 aU=13.0128

求Au的代码:
  1. Clear["Global`*"];
  2. Print["有解极限:"]
  3. Clear[PA]
  4. (*PA=12,*)PB = 6; PC = 7; BAC = 60*Pi/180;
  5. ans = Solve[{BAC == PAB + PAC && Sin[PAB] == PB/PA &&  
  6.      Sin[PAC] == PC/PA && PA > 0 && PAB > 0 && PAC > 0}, {PA, PAB,
  7.     PAC}] // FullSimplify
  8. PA = PA /. ans[[1, 1]];
  9. PAB = PAB /. ans[[1, 2]];
  10. PAC = PAC /. ans[[1, 3]];

  11. BAC = ArcCos[cs[b, c, PB + PC]]*180/Pi
  12. Print["aU= ", N[PA, 20]]
  13. Print["PAB= ", N[PAB*180/Pi, 20]]
  14. Print["PAC= ", N[PAC*180/Pi, 20]]

复制代码


至此对于 在△ABC中,∠BAC=60°,PB=6,PC=7 求△ABC的最大面积
有如下判断:
0 < PA < 11.269 P在在△ABC内部
11.269 <= PA < =13.0128 P在在△ABC外部
13.0128 < PA P点不存在,无解

对于∠BAC=60°,PA=14,PB=6,PC=7
因为 14>13.0128 判断此题无解
如果不预先判断,有些代码给出错误的结果,有些优秀的代码则运行不停
显得预判很重要

有解极限

有解极限
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2020-4-15 20:15:16 | 显示全部楼层
哎,这个问题还是我最早发在数学中国上的,王守恩发到这里的。为了解个题至于这样吵架吗?

点评

这里讨论的是三角形面积最大问题,不是七根火柴问题  发表于 2020-4-16 08:08
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2020-4-15 22:04:19 | 显示全部楼层
markfang2050 发表于 2020-4-15 20:15
哎,这个问题还是我最早发在数学中国上的,王守恩发到这里的。为了解个题至于这样吵架吗?

23#不是吵架,认认真真讨论问题. 被骂后发泄一下,已经翻片儿了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2020-4-16 09:22:58 | 显示全部楼层
三角形面积最大问题我也发到数学中国里过的。和气理性讨论问题,方法不同正常,水平有高低也是正常。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2020-4-16 10:50:53 | 显示全部楼层
markfang2050 发表于 2020-4-16 09:22
三角形面积最大问题我也发到数学中国里过的。和气理性讨论问题,方法不同正常,水平有高低也是正常。

不知为什么我最近不能登录数学中国,
我的讨论有错吗,诚恳邀请参加讨论,指教
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2020-4-16 12:41:50 | 显示全部楼层
dlpg070 发表于 2020-4-3 18:02
再贴一段代码欣赏和比较水平有多低

这里有一些代码可以比对一下.
https://bbs.emath.ac.cn/thread-17176-1-1.html

个人的理解是, 代码的优劣差异不是特别的大, 主要是解题思路的优劣差异明显.

点评

不评优劣,求同存异吧。  发表于 2020-4-17 16:02
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2020-4-16 15:21:14 | 显示全部楼层
wayne 发表于 2020-4-16 12:41
这里有一些代码可以比对一下.
https://bbs.emath.ac.cn/thread-17176-1-1.html

谢谢,我拜读了该主题全部代码,全部验算一遍,对错优劣明显
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-4-19 16:05 , Processed in 0.054081 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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