nyy
发表于 2023-3-8 18:55:10
nyy 发表于 2023-3-8 14:15
假设B点为原点,然后BD=1BC=c,A点(xa,ya),E点(xe,ye)
结果太复杂了,以致于我都怀疑软件算错了
(k12-(k31+k34)/(1+k31*k34)
这行代码错了,分母上应该是减,难怪我的代码运行结果很异常!我总感觉自己代码运行正确
nyy
发表于 2023-3-9 08:24:29
Clear["Global`*"];
(*以B为原点建立坐标系,BD=1,BC=c>1,列方程组解决问题*)
k1=ya/xa(*AB斜率*)
k2=ye/xe(*EB斜率*)
k3=(ye-0)/(xe-c)(*EC斜率*)
k4=(ye-0)/(xe-1)(*ED斜率*)
k5=(ya-0)/(xa-1)(*AD斜率*)
k12=(k1-k2)/(1+k1*k2)//Simplify(*∠ABE正切值*)
k31=(k3-k1)/(1+k3*k1)//Simplify(*∠BAE正切值*)
k34=(k3-k4)/(1+k3*k4)//Simplify(*∠CED正切值*)
ans=Solve[{
(k2+k5//Simplify//Together//Numerator)==0,(*BF=DF*)
xe^2+ye^2==1^2,(*BD=BE=1*)
Det[{{xa,ya,1},{xe,ye,1},{c,0,1}}]==0,(*AEC三点共线*)
(xa-1)^2+(ya-0)^2==c^2,(*AD=EC*)
(k12-(k31+k34)/(1-k31*k34)//Simplify//Together//Numerator)==0,(*∠ABE=∠BAE+∠CED*)
(ya>0&&ye>0&&c>1)(*限制变量范围*)
},{xa,ya,xe,ye,c},Method->Reduce]//FullSimplify;
Grid(*列表显示*)
Grid,Alignment->Left](*数值化*)
aaa=Select(*过滤出符合要求的解*)
bbb=N[{xa,ya,xe,ye,c}/.aaa,200](*高精度数值解*)
ccc=Simplify@ToRadicals@RootApproximant]](*由数值解得到精确解*)
ddd=((k5-k4)/(1+k5*k4)//Simplify)/.Thread[{xa,ya,xe,ye,c}->ccc](*求解角度*)
eee=ToRadicals@RootApproximant@N(*得到正切值的根式表达*)
kk=ArcTan(*求解角度*)
N(*角度数值化*)
修改后的代码:
求解结果
\[\left\{\frac{1}{4} \left(-\sqrt{5}-\sqrt{2 \sqrt{5}+3}+2\right),\frac{\sqrt{5} \sqrt{\sqrt{2 \sqrt{5}+3}+3}}{2 \sqrt{2}},\frac{1}{4} \left(\sqrt{5}+1\right),\frac{1}{2} \sqrt{\frac{1}{2} \left(5-\sqrt{5}\right)},\frac{1}{4} \left(\sqrt{5}+\sqrt{6 \sqrt{5}-2}+3\right)\right\}\]
正切值
\[\sqrt{5-2 \sqrt{5}}\]
角度
\[\frac{\pi }{5}\]
数值化36.0000000000000000000000000000
nyy
发表于 2023-3-9 08:42:43
我觉得你的复数办法,与解析法没多大的本质区别,但是mathematica善于解多项式方程组,而不善于解三角函数方程组。
所以我觉得用多项式方程组可能要好些
nyy
发表于 2023-3-9 08:46:17
王守恩 发表于 2023-3-9 08:32
接6楼。这个直接计算各个角度的关系就可以出来了
记∠EBD=2B,∠BAD=∠ACB=C,
∠CED+∠BAC=(90-B-C)+(C+ ...
∠BAD=∠ACB=C 这个是怎么得到的?????????????
你这胡乱加条件
王守恩
发表于 2023-3-9 10:13:57
mathe 发表于 2023-2-16 17:22
这个直接计算各个角度的关系就可以出来了
接6楼。这个直接计算各个角度的关系就可以出来了
记∠EBD=2B,∠BAD=∠ACB=C,
三角形ABD≌三角形BCE(2边夹角)
∠CED+∠BAC=(90-B-C)+(C+2B-C),∠ABE=180-4B-C,
得B=18,∠ADE=36,C=23.6107
mathe!这个精确度应该没有问题了吧?
N/180] Sin/180] Sin/180] == Sin/180] Sin[(36+C)\/180] Sin[(C)\/180], 90>C>0}, {C}], 100]
{{C -> 23.61067398440286574175686748261641508184530372365210379366798651614976556820862469724779236145748104}}
nyy
发表于 2023-3-9 10:57:38
王守恩 发表于 2023-3-9 10:13
接6楼。这个直接计算各个角度的关系就可以出来了
记∠EBD=2B,∠BAD=∠ACB=C,
我还知道AB^2=BD*BC,但是做题目,重要的是详细过程,而不是突然掉下来一个结论给别人
nyy
发表于 2023-3-9 12:37:05
传一张图,这样更容易找相似关系。不过我需要的是推理过程,我不需要别人给我结果,因为我自己能得到结果!
nyy
发表于 2023-3-9 14:10:42
nyy 发表于 2023-3-9 12:37
传一张图,这样更容易找相似关系。不过我需要的是推理过程,我不需要别人给我结果,因为我自己能得到结果!
这个图片具有误导性,不够精确,让人误以为角度都是整的,我上传一张带小数的图片,这样不容易误导别人。
nyy
发表于 2023-3-9 14:16:54
nyy 发表于 2023-3-9 14:10
这个图片具有误导性,不够精确,让人误以为角度都是整的,我上传一张带小数的图片,这样不容易误导别人。 ...
Clear["Global`*"];
deg=Pi/180;(*角度制下1°所对应的弧度*)
(*假设∠CED=x,∠BAC=y,然后用x与y来表达各个角*)
(*方法1:用正弦定理列两个方程,解决问题*)
ans=Solve[{
(*AB/AD=AB/BC对应角度使用正弦定理*)
Sin/Sin==Sin/Sin,
(*AD/BD=BE/BE对应角度使用正弦定理*)
Sin/Sin==Sin/Sin,
(0<x<90deg)&&(0<y<45deg)(*限制变量范围*)
},{x,y},Method->Reduce]//FullSimplify//ToRadicals
N[({x,y}/deg)/.ans,20](*转化成角度制并且数值化,看角度多少*)
(*方法2:先画图看交点大概在什么地方,再用牛顿迭代法找比较精确的解*)
(*绘制图,看曲线交点大概在什么地方*)
ContourPlot[{
Sin*Sin==Sin*Sin,
Sin*Sin==Sin*Sin
},{x,0,90deg},{y,0,45deg}]
(*找到初始值,用牛顿迭代法找精确数值解*)
aaa=FindRoot[{
Sin*Sin==Sin*Sin,
Sin*Sin==Sin*Sin
},{{x,0.7},{y,0.7}},WorkingPrecision->100]
bbb=({x,y}/deg)/.aaa(*转化成角度制,看角度多少*)
思路:
(*假设∠CED=x,∠BAC=y,然后用x与y来表达各个角*)
利用三角形的内角和等于180、等边对等角,很容易用x与y来表达平面上的各个角度(具体略)
求解方程组结果
\[\left\{\left\{x\to 2 \tan ^{-1}\left(\frac{1}{\sqrt{\frac{5}{8 \sqrt{5}-4 \sqrt{5 \left(4-\sqrt{5}\right)}-5}}}\right),y\to \frac{\pi }{5}\right\}\right\}\]
转化成角度,并且数值化,得到
{{48.389326015597134258, 36.000000000000000000}}
如果觉得求解比较麻烦,画一张等值线图,然后看交点在哪里,再用牛顿迭代法求解出角度。
等值线如下图所示:
牛顿迭代法得到的数值是
{x -> 0.84455306179311898717397168680265742013568042663601503051046483\
26296453485430084156744048815847691741,
y -> 0.62831853071795864769252867665590057683943387987502116419498891\
84615632812572417997256069650684234136}
角度制下是
{48.389326015597134258243132517383584918154696276347896206332013483850\
23443179137530275220763854251896, \
36.0000000000000000000000000000000000000000000000000000000000000000000\
0000000000000000000000000000000}
nyy
发表于 2023-3-9 14:32:34
nyy 发表于 2023-3-9 14:16
思路:
(*假设∠CED=x,∠BAC=y,然后用x与y来表达各个角*)
利用三角形的内角和等于180、等边对等角 ...
∠CED的角度等于\(\tan ^{-1}\left(\sqrt{\frac{1}{11} \left(4 \sqrt{5}+5\right)}\right)\)