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

[求助] 如何求出这个三元方程组的数值解?

[复制链接]
发表于 2023-8-15 06:19:13 | 显示全部楼层
  1. NSolve[{Pi*R^2/2==S+12+(2a-Sin[2a]+Sin[4a])R^2==20+25-(2a-Sin[2a]+Sin[4a])R^2==12+20+(2b-Sin[2b]+Sin[4b])R^2==25+S-(2b-Sin[2b]+Sin[4b])R^2,R>0,S>0,Pi/4>a>0,Pi/4>b>0},{a,b,R,S}]//FullSimplify
  2. NSolve[{Pi*R^2/2==S+12+(a + Sin[2 a]/2) R^2==20 + 25 - (a + Sin[2 a]/2) R^2==12 + 20 + (b + Sin[2 b]/2) R^2==25 + S - (b + Sin[2 b]/2)R^2, R>0,S>0,Pi/4>a>0,Pi/4>b>0},{a,b,R,S}]//FullSimplify
复制代码

{{a->0.068271,b->0.066095,R->4.94411,S->19.7939+ 0.I},{a->0.0825263,b->0.0560988,R->4.87218,S->17.5754+0.I},{a->0.159975,b->0.0063279,R->4.55032,S->8.04808+0.I},{a->0.163342,b->0.0043542,R->4.53875,S->7.71755+0.I}}
这是(1)出来的答案(虽然是个错家伙),为什么(2)就出不来答案呢???
各位网友!帮忙找一找毛病!谢谢!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-15 08:48:41 | 显示全部楼层
本帖最后由 Jack315 于 2023-8-15 12:24 编辑

参考 5# 的配图。
这是用 Excel "规划求解" 得到的结果:

答案.png

加个单位只是为了方便,没有特别的含义。

6 种情况下得到 6 个解,但有一半的答案与另一半的相同。
所以一供有 3 个答案:
剩下部分的面积为 9.2258、15.3851 或 38.7705 。

这个问题容易出错的原因在于当 P 点位置不同时,公式会发生变化。
如角度相关的计算就需要根据 P 点位置的不同而改变。
用编程语言来表达就是公式里需要有一个 If...Then...Else 的判断结构。

评分

参与人数 1威望 +8 金币 +8 贡献 +8 经验 +8 鲜花 +8 收起 理由
王守恩 + 8 + 8 + 8 + 8 + 8 很给力!

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-15 08:49:37 | 显示全部楼层
王守恩 发表于 2023-8-15 06:19
{{a->0.068271,b->0.066095,R->4.94411,S->19.7939+ 0.I},{a->0.0825263,b->0.0560988,R->4.87218,S->17. ...

你的代码写那么差,没注释、没缩进,人家主动去读你代码,不是自我找虐吗?你见过这么傻的人吗?
要多像我写的代码学习!
要写注释、要有缩进、不要层层嵌套、不要可读性非常低的一行代码!

评分

参与人数 1威望 +6 金币 +6 贡献 +6 经验 +6 鲜花 +6 收起 理由
王守恩 + 6 + 6 + 6 + 6 + 6 很给力!

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-15 09:39:49 | 显示全部楼层
Jack315 发表于 2023-8-15 08:48
参考 5# 的配图。
这是用 Excel "规划求解" 得到的结果:
  1. Clear["Global`*"];(*清除所有变量*)
  2. deg=Pi/180;(*角度制下1°所对应的弧度*)
  3. (*子函数,输入参数:半径,圆弧起始弧度,圆弧终止弧度(必须大于起始弧度,否则弓形面积计算有问题),输出:面积*)
  4. area[R_,ang1_,ang2_]:=Module[{mj1,mj2,out},
  5.     mj1=1/2*R^2((ang2-ang1)-Sin[(ang2-ang1)]);(*弓形面积=扇形面积-三角形面积*)
  6.     mj2=1/2*R^2*Abs[(Cos[ang2]-Cos[ang1])*(Sin[ang2]-Sin[ang1])];(*弓形所对应的三角形面积(取了绝对值,肯定为正)*)
  7.     out=mj1+mj2
  8. ]
  9. (*--------------------第01种情况,S的对面面积=20(逆时针从第一象限面积依次是12、S、25、20)*)
  10. (*计算三个面积表达式*)
  11. a12=area[R,a,b]//Simplify
  12. a25=area[R,Pi-a,2*Pi-b]//Simplify
  13. a20=area[R,2*Pi-b,2*Pi+a]//Simplify
  14. (*牛顿迭代法求解圆的半径与两个角度*)
  15. ans=FindRoot[{a12==12,a25==25,a20==20},{{R,4},{a,10deg},{b,80deg}},WorkingPrecision->20]
  16. mj=Pi*R^2-(12+25+20)/.ans(*用圆的面积减去三个面积=需要求的面积*)
  17. {a,b}/deg/.ans(*看看求解出来的角度制下的角度*)

  18. (*--------------------第02种情况,S的对面面积=25(逆时针从第一象限面积依次是12、S、20、25)*)
  19. (*计算三个面积表达式*)
  20. a12=area[R,a,b]//Simplify
  21. a20=area[R,Pi-a,2*Pi-b]//Simplify
  22. a25=area[R,2*Pi-b,2*Pi+a]//Simplify
  23. (*牛顿迭代法求解圆的半径与两个角度*)
  24. ans=FindRoot[{a12==12,a25==25,a20==20},{{R,4},{a,10deg},{b,80deg}},WorkingPrecision->20]
  25. mj=Pi*R^2-(12+25+20)/.ans(*用圆的面积减去三个面积=需要求的面积*)
  26. {a,b}/deg/.ans(*看看求解出来的角度制下的角度*)

  27. (*--------------------第03种情况,S的对面面积=12(逆时针从第一象限面积依次是20、S、25、12)*)
  28. (*计算三个面积表达式*)
  29. a20=area[R,a,b]//Simplify
  30. a25=area[R,Pi-a,2*Pi-b]//Simplify
  31. a12=area[R,2*Pi-b,2*Pi+a]//Simplify
  32. (*牛顿迭代法求解圆的半径与两个角度*)
  33. ans=FindRoot[{a12==12,a25==25,a20==20},{{R,4},{a,10deg},{b,80deg}},WorkingPrecision->20]
  34. mj=Pi*R^2-(12+25+20)/.ans(*用圆的面积减去三个面积=需要求的面积*)
  35. {a,b}/deg/.ans(*看看求解出来的角度制下的角度*)
复制代码


升级了一下我的代码,让子函数更简单易用!让子函数用起来更不容易错


(*--------------------第01种情况,S的对面面积=20(逆时针从第一象限面积依次是12、S、25、20)*)
{R->4.8000946072772487659,a->0.19352372398043376605,b->1.4795625234825034378}
15.38514805508871342
{11.088092619733534828,84.772688121273200768}
这是第一个结果
对应交点在第一象限

(*--------------------第02种情况,S的对面面积=25(逆时针从第一象限面积依次是12、S、20、25)*)
{R->4.5913303246846108866,a->0.28993724447113779927,b->1.6632572261023979991}
9.22576007016262607
{16.612180431848957528,95.297619300303904909}
这是第二个结果
对应交点在在第二象限

(*--------------------第03种情况,S的对面面积=12(逆时针从第一象限面积依次是20、S、25、12)*)
{R->5.5212959089422300071,a->-0.18048351024798338345,b->1.3040115682746180632}
38.77053631472971168
{-10.340943408915589452,74.714359298371209758}
这是第三个结果,
对应交点在第四象限

@王守恩 我现在的子函数改变了,应该更好用了,你可以拿去用了!

点评

谢谢!你这个出不来42#的图: 31.6762 。  发表于 2023-8-17 14:43
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-15 11:47:42 | 显示全部楼层
nyy 发表于 2023-8-15 09:39
升级了一下我的代码,让子函数更简单易用!让子函数用起来更不容易错

谢谢nyy! 下面3道题子函数还可以用吗?好像不能用?谢谢!
1圆被两条相互垂直直线分为4部分, 3部分的面积是12,20,30, 求剩下部分的面积S。
1圆被两条相互垂直直线分为4部分, 3部分的面积是12,20,20, 求剩下部分的面积S。
1圆被两条相互垂直直线分为4部分, 3部分的面积是12,12,12, 求剩下部分的面积S。

点评

研究烂透了?搞个通项:用3个数直接表示S?  发表于 2023-8-15 16:59
能给个答案吗?给个答案(S)就行,你那太高深了,我不会用。谢谢!  发表于 2023-8-15 16:12
nyy
这题没多大研究价值了,真的,被我研究烂透了  发表于 2023-8-15 13:50
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-15 12:42:54 | 显示全部楼层
本帖最后由 Jack315 于 2023-8-15 12:45 编辑
Jack315 发表于 2023-8-15 08:48
参考 5# 的配图。
这是用 Excel "规划求解" 得到的结果:


六个解的图像:

六个解.png

字母等参考这个图:
圆内面积分割_2.png

评分

参与人数 1威望 +3 金币 +3 贡献 +3 经验 +3 鲜花 +3 收起 理由
王守恩 + 3 + 3 + 3 + 3 + 3 若能标上S,12,20,25, 肯定能置顶。

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-15 15:22:44 | 显示全部楼层
一个圆被两条相互垂直的直线分为4部分,其中三部分的面积是25,20和12,那么剩下那部分面积是多少? - 知乎
https://www.zhihu.com/question/614716782

https://www.zhihu.com/people/landy8810这个人提问的
知乎上

点评

嗨!你是怎么找到的?!谢谢!  发表于 2023-8-15 16:06
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-15 18:27:11 | 显示全部楼层
@王守恩 又没有任何有效的回答,你激动个啥?
不知道是不是本论坛的人提的问题。

点评

我看到过,晃了一下,回头再找就怎么也找不着了。  发表于 2023-8-15 19:14
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-15 19:16:09 | 显示全部楼层
王守恩 发表于 2023-8-15 11:47
谢谢nyy! 下面3道题子函数还可以用吗?好像不能用?谢谢!
1圆被两条相互垂直直线分为4部分, 3部分的面 ...
1圆被两条相互垂直直线分为4部分, 3部分的面积是12,20,30, 求剩下部分的面积S。

答:剩下部分的面积 S 有三种 (7.2701, 18.8322, 45.7513)

1圆被两条相互垂直直线分为4部分, 3部分的面积是12,20,20, 求剩下部分的面积S。

答:剩下部分的面积 S 有二种 (31.6762, 12)。两部分面积相等,对应 P 在 45 / 135 度线上和坐标轴上。

1圆被两条相互垂直直线分为4部分, 3部分的面积是12,12,12, 求剩下部分的面积S。

答:剩下部分的面积 S 有一种 (12)。三部分面积相等,导致第四部分面积也相等,P 点在坐标原点。

评分

参与人数 1威望 +6 金币 +6 贡献 +6 经验 +6 鲜花 +6 收起 理由
王守恩 + 6 + 6 + 6 + 6 + 6 我就是想不出31.6762是什么模样。

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-15 19:42:39 | 显示全部楼层
这个题如果有意再玩下去的话还是可以的,比如:
可以把 P 点坐标当成一个复数,从圆心引向分割线与圆的交点得到四个扇区。
每个扇区有相应的弧度角、扇区面积,同样可以构成一个复数。
这样就形成了一种复平面上的映射(函数)关系。
这个映射有什么有趣的属性;或者画出这个映射是不是能得到一个漂亮的图案?

当然也可以把问题搞再复杂一点,如把题目改成:
一个球被两个相互垂直的平面分成四部分,三部分的体积分别为 a, b, c ,
问剩下的那部分积是多少?
或者将分割线(平面)改成圆(球面)等;
又或者将二维(三维)的问题上升到 n-维……

但是这种玩下去是不是有意义,还是纯粹地玩物丧志就不知道了。
这对这类提高了难度的问题,目前玩烂的这个题目算是最简单的了。

本来这次来玩纯粹是来调节一下的,没想到能花了这么多的时间

评分

参与人数 1威望 +9 金币 +9 贡献 +9 经验 +9 鲜花 +9 收起 理由
王守恩 + 9 + 9 + 9 + 9 + 9 赞一个!

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-2-25 13:22 , Processed in 0.069778 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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