Forgot password?
 Register account
View 506|Reply 4

[几何] 如何由三条角平分线长算出各边长?

[Copy link]

126

Threads

430

Posts

3152

Credits

Credits
3152

Show all posts

TSC999 Posted 2022-2-14 11:01 |Read mode
已知三角形各内角的平分线长分别是 \(ta=1.05531, tb = 1.2339,  tc = 1.1252\) 以及平分线长与边长的计算公式,如何算出各边 \(a,b,c\) 的长度?  用任何计算软件、任何方法都可以。

计算依据是下面三个公式:

\(ta=\frac{\sqrt{bc(b+c+a)(b+c-a)}}{b+c}\);
\(tb=\frac{\sqrt{ca(c+a+b)(c+a-b)}}{c+a}\);
\(tc=\frac{\sqrt{ab(a+b+c)(a+b-c)}}{a+b}\);


式中 \(ta\) 是角 \(A\) 的平分线,余类推。\(a\) 是角 \(A\) 的对边,余类推。

如果直接用 mathematica 软件中的 NSolve 指令解上面三个方程是不行的,得出的是错误结果。

我用的是一个非常规方法,得到了下面这个正确的结果:\(a = 1.41412,  b = 1.20822,  c = 1.33451\) 。

期待看到网友们的计算方法。

25

Threads

1011

Posts

110K

Credits

Credits
12665

Show all posts

战巡 Posted 2022-2-14 11:40
Last edited by 战巡 2022-2-14 16:17回复 1# TSC999

p0160.png

FindRoot可以给定初值的情况下寻根,在知道根大致范围的时候比较有用,比如此处计算用的初值是$a=b=c=1$

NSolve不是不能解出正确结果,而是它不知道你要的结果到底是啥,于是它把a,b,c全部当成复数,把所有可能的解都给你找出来,只不过由于计算精度的问题,会留点复数尾巴(你可以看到有些结果的虚部其实很接近0),你人为忽略就行了

686

Threads

110K

Posts

910K

Credits

Credits
91229
QQ

Show all posts

kuing Posted 2022-2-14 12:17

686

Threads

110K

Posts

910K

Credits

Credits
91229
QQ

Show all posts

kuing Posted 2022-2-14 23:05
  1. Reduce[1.05531^2 == (b c (b + c + a) (b + c - a))/(b + c)^2 &&
  2.   1.2339^2 == (a c (a + c + b) (a + c - b))/(a + c)^2 &&
  3.   1.1252^2 == (b a (b + a + c) (b + a - c))/(b + a)^2 &&
  4.   a + b > c && b + c > a && c + a > b, {a, b, c}]
Copy the Code
在 mathematica 11.2 上运行的结果:
QQ截图20220214230517.png

126

Threads

430

Posts

3152

Credits

Credits
3152

Show all posts

 Author| TSC999 Posted 2022-2-15 14:42
谢谢二位大师! 跟你们又学了几招。

Mobile version|Discuz Math Forum

2025-5-31 10:50 GMT+8

Powered by Discuz!

× Quick Reply To Top Edit