dlpg070 发表于 2020-3-30 17:17:40

dlpg070 发表于 2020-3-28 15:31
例3 θ=45 b=6,c=7 amax= 15.7003
改变θ值 θ减小,amax增加
png45_15.7003_6_7.png

mathematica 34#计算结果的图形
P点在三角形外

dlpg070 发表于 2020-4-2 18:08:23

本帖最后由 dlpg070 于 2020-4-2 18:10 编辑

dlpg070 发表于 2020-3-30 17:17
mathematica 34#计算结果的图形
P点在三角形外

例4 mathematica 在40# 给出计算BAC的代码,思路与我的一样,设P在BC边上 ,但有bug,结果角度差0.077度a值11.9809 <12
所以
BAC= 57.0041 a=12b= 6 c= 7 P仍然在三角形外部
我改进后
BAC= 56.9276 a=12 b= 6 c= 7   P在BC边上 ,显然 三角形面积比前例大
结论:BAC'<56.9276,可以确保 a=12 b= 6 c= 7   P在三角形内部

计算结果对比:
BAC= 57.0041 b= 6 c= 7 amax= 11.9809 smax= 77.8082    mathematica
BAC= 56.9276 b= 6 c= 7 amax= 12.   smax= 77.9323       dlpg070

m40改进_12_6_7.png

mathematica 发表于 2020-4-3 08:47:48

dlpg070 发表于 2020-4-2 18:08
例4 mathematica 在40# 给出计算BAC的代码,思路与我的一样,设P在BC边上 ,但有bug,结果角度差0.077度a ...

请问你为什么不说自己算错了,要说我算错了呢?????????
我是两种办法算,最后是一样的。

dlpg070 发表于 2020-4-3 11:03:02

本帖最后由 dlpg070 于 2020-4-3 11:17 编辑

mathematica 发表于 2020-4-3 08:47
请问你为什么不说自己算错了,要说我算错了呢?????????
我是两种办法算,最后是一样的。

我作为业余爱好者自己定了一条规矩,不在"难题征解"发帖,只发点评
这里是开心茶馆,如果你愿意,我可以和你讨论
指出你的bug,只需修改2个字符

我在这里讨论P点的原因之一是响应你原题 12#的要求:
"有个小漏洞,p点有可能在三角形ABC外面,如何排除这个情况?"
我现在给出一个P在三角形外的实例,怎么成了烂题?
你是我学习mathematica 的老师,不要欺负学生吆

mathematica 发表于 2020-4-3 11:08:08

dlpg070 发表于 2020-4-3 11:03
我作为业余爱好者自己定了一条规矩,不在"难题征解"发帖,只发点评
这里是开心茶馆,如果你愿意,我可以和你 ...

Clear["Global`*"];
(*PB=6,PC=7,以P为原点建立直角坐标系,A(x,y),B(-6,0) C(7,0)*)
(*计算两条直线的斜率*)
k1=(y-0)/(x-7)
k2=(y-0)/(x-(-6))
(*根据两条直线的斜率,反算两条斜线的夹角,得到目标函数*)
ang=ArcTan[(k1-k2)/(1+k1*k2)]*180/Pi//FullSimplify
Maximize[
    {ang,
    (*PA=12,A点是圆轨迹,约数条件*)
    x^2+y^2==12^2
    },{x,y}
]//FullSimplify
(*数值化*)
N[%,100]


思路都写在注释里面,很简单,没有bug,我计算的时候,就假设BPC在一条直线上,计算出来的结果
肯定不可能是P在三角形ABC外面!
肯定是你软件的bug。
计算结果
\[\left\{\frac{180 \tan ^{-1}\left(\frac{26}{\sqrt{285}}\right)}{\pi },\left\{x\to \frac{24}{17},y\to \frac{12 \sqrt{285}}{17}\right\}\right\}\]
数值化的结果是:
{57.00411452642046574839408312076702936540411913563253500794847861956109903977399704166414394272228313,
{x->1.411764705882352941176470588235294117647058823529411764705882352941176470588235294117647058823529412,
y->11.91666565844762271749427487730972469801068975832342631951750851383477375315139404228065198192260624}}
第一个就是角度

角度的精确值是$\tan ^{-1}\left(\frac{26}{\sqrt{285}}\right)$

https://bbs.emath.ac.cn/forum.php?mod=redirect&goto=findpost&ptid=17176&pid=83806&fromuid=865
https://bbs.emath.ac.cn/forum.php?mod=redirect&goto=findpost&ptid=17176&pid=83807&fromuid=865
https://bbs.emath.ac.cn/forum.php?mod=redirect&goto=findpost&ptid=17176&pid=83819&fromuid=865

dlpg070 发表于 2020-4-3 11:32:03

mathematica 发表于 2020-4-3 11:08
思路都写在注释里面,很简单,没有bug,我计算的时候,就假设BPC在一条直线上,计算出来的结果
肯定 ...

按你的代码得 BAC= 57.0041没错
P点在BC边上时 ,三角形面积= 77.8082 不是最大
P点在BC边上时, a= 11.9809!= 12 错了
亦可以验算一下 a=? 是11.9809 还是 12
也可以利用求解公式 原题 4# 9# 10# 16# 等计算一下最大面积 是否>77.8082
验算一下立刻知道谁的bug


mathematica 发表于 2020-4-3 11:47:58

dlpg070 发表于 2020-4-3 11:32
按你的代码得 BAC= 57.0041没错
P点在BC边上时 ,三角形面积= 77.8082 不是最大
P点在BC边上时, a= 11.9 ...

我用那个计算,是为了反驳你,
当你要求点在三角形内部的时候,并且要求PA=12 PB=6,PC=7的时候,
你的最大的角BAC,是小于60度的,是为了告诉你,你的条件不兼容!!!!!
懂不懂我的意思?
你啥学历程度?
会用mathematica吗?

mathematica 发表于 2020-4-3 14:02:41

dlpg070 发表于 2020-4-3 11:32
按你的代码得 BAC= 57.0041没错
P点在BC边上时 ,三角形面积= 77.8082 不是最大
P点在BC边上时, a= 11.9 ...

你水平太低了,不要理我了!不要再在我的回答上点评了!
(*计算P点在BC上时最大值时的对应的角BAC*)
Clear["Global`*"];
(*计算余弦值子函数,利用三边计算余弦值*)
cs:=(a^2+b^2-c^2)/(2*a*b)
ans=Solve[{
(*角APB与角APC的余弦值的和是零*)
cs+cs==0&&
(*https://bbs.emath.ac.cn/forum.php?mod=redirect&goto=findpost&ptid=17200&pid=83683&fromuid=865
角ADP等于角ACP(因为四点共圆),其实可以推出此时AB=AC,用余弦值计算并不太好*)
cs==cs
},{b,c}
]//FullSimplify
(*模仿Wayne的代码,求解角BAC的值*)
ArcCos]*180/Pi&@@@({b,c}/.ans)
N[%,20]

求解结果
\[\left\{\{b\to -19,c\to 6\},\{b\to -5,c\to 18\},\{b\to 5,c\to -18\},\{b\to 19,c\to -6\},\left\{b\to -\sqrt{186},c\to -\sqrt{186}\right\},\left\{b\to \sqrt{186},c\to \sqrt{186}\right\}\right\}\]
求解的角度
\[\left\{180,180,180,180,\frac{180 \cos ^{-1}\left(\frac{203}{372}\right)}{\pi },\frac{180 \cos ^{-1}\left(\frac{203}{372}\right)}{\pi }\right\}\]
数值化
{180.00000000000000000,180.00000000000000000,180.00000000000000000,180.00000000000000000,
56.927561350057540452,
56.927561350057540452}
对应的角度(弧度制)是$\cos ^{-1}\left(\frac{203}{372}\right)$

dlpg070 发表于 2020-4-3 14:38:09

本帖最后由 dlpg070 于 2020-4-3 18:17 编辑

mathematica 发表于 2020-4-3 14:02
你水平太低了,不要理我了!不要再在我的回答上点评了!

求解结果


你的水平太高了,终于得到和我一样的正确答案
不再坚持你的错误了,老师,再见
如果发现错误,我还会提醒你,不会置之不理

dlpg070 发表于 2020-4-3 15:10:42

本帖最后由 dlpg070 于 2020-4-3 15:26 编辑

dlpg070 发表于 2020-4-2 18:08
例4 mathematica 在40# 给出计算BAC的代码,思路与我的一样,设P在BC边上 ,但有bug,结果角度差0.077度a ...

我的低水平代码,善于发现bug,与某人代码仅差2字符
多么好的代码,半途而废太可惜
我苦口婆心提醒多少次,直至半小时前,一直不肯认真验算一下

图形已经贴出,下面是代码
(* 求临界角度,改进某源码,修改 2 字符 *)
Clear["Global`*"];
PA=12;PB=6;PC=7;
(*定义余弦定理--- 对边的平方*)
fun:=a^2+b^2-2*a*b*Cos
out=NMaximize[{(m+n)*180/Pi,(*两次余弦定理*)c^2==fun&&b^2==fun&&(*两次正弦定理*)Sin/6==Sin/12&&Sin/7==Sin/12&&(*确保PA在BC的同一侧*)x+y>=Pi&&(*变量都是正的*)b>0&&c==b&&x>0&&y>0&&m>0&&n>0&&
m<Pi/2&&n<Pi/2},{m,n,x,y,b,c}]
Print["BAC=",out[],"度"]


输出:
{56.9276,{m->0.455108,n->0.538465,x->1.61248,y->1.52912,b->13.6382,c->13.6382}}
BAC=56.9276度
页: 1 [2] 3
查看完整版本: 三角形面积最大的驻点条件