找回密码
 欢迎注册
查看: 2781|回复: 17

[求助] 解三角方程时,怎么出错,程序如何修改???

[复制链接]
发表于 2023-8-20 01:00:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
本帖最后由 笨笨 于 2023-8-20 01:27 编辑

QQ截图20230820010034.jpg

要的最终结果是这个:0.5288651335……,程序如何修改
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-20 05:03:11 | 显示全部楼层
本帖最后由 Jack315 于 2023-8-20 05:09 编辑

改用 FindRoot 命令:
  1. FindRoot[(Sin[x/2])^2 == 1/\[Pi] - 1/4, {x, 1}, WorkingPrecision -> 10]
复制代码

或者直接计算:
  1. N[2 ArcSin[Sqrt[1/\[Pi] - 1/4]], 20]
复制代码

点评

而我真正想要的是第一种效果  发表于 2023-8-20 07:49
谢谢,先生指导  发表于 2023-8-20 07:49
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-20 08:41:28 | 显示全部楼层
本帖最后由 Jack315 于 2023-8-20 08:59 编辑

能得到完整答案的还是 Solve 命令:
  1. Solve[(Sin[x/2])^2 == 1/\[Pi] - 1/4, x]
复制代码


答案给出四个表达式:
  1. {{x -> ConditionalExpression[2 (-ArcSin[1/2 Sqrt[(4 - \[Pi])/\[Pi]]] + 2 \[Pi] C[1]), C[1] \[Element] Integers]},
  2.    {x -> ConditionalExpression[2 (\[Pi] - ArcSin[1/2 Sqrt[(4 - \[Pi])/\[Pi]]] + 2 \[Pi] C[1]), C[1] \[Element] Integers]},
  3.    {x -> ConditionalExpression[2 (ArcSin[1/2 Sqrt[(4 - \[Pi])/\[Pi]]] + 2 \[Pi] C[1]), C[1] \[Element] Integers]},
  4.    {x -> ConditionalExpression[2 (\[Pi] + ArcSin[1/2 Sqrt[(4 - \[Pi])/\[Pi]]] + 2 \[Pi] C[1]), C[1] \[Element] Integers]}}
复制代码


这四个表达式的意思是:
\[\begin{align*}x &= 2\bigg[-\frac{1}{2}\sin^{-1}\bigg(\sqrt{\frac{4-\pi}{\pi}}\bigg)+2n\pi\bigg]
\\ x &= 2\bigg[\pi-\frac{1}{2}\sin^{-1}\bigg(\sqrt{\frac{4-\pi}{\pi}}\bigg)+2n\pi\bigg]
\\ x &= 2\bigg[\frac{1}{2}\sin^{-1}\bigg(\sqrt{\frac{4-\pi}{\pi}}\bigg)+2n\pi\bigg]
\\ x &= 2\bigg[\pi-\frac{1}{2}\sin^{-1}\bigg(\sqrt{\frac{4-\pi}{\pi}}\bigg)+2n\pi\bigg]
\end{align*}\]
其中,\(n\) 为整数(\(\Bbb C_1\in \Bbb Z\))。

然后再用 \(N[...,10]\) 来求出具体数值,如:
  1. N[-2 ArcSin[1/2 Sqrt[(4 - \[Pi])/\[Pi]]], 10]
复制代码


所以答案有四个值:
\[x=\{-0.5289,5.7543,0.5289,6.8121\}+4n\pi\]
其中,\(n\) 为整数。

当然 NSolve 命令与 Solve 命令一样,给出的答案也是正确的。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2023-8-20 09:13:29 | 显示全部楼层
Jack315 发表于 2023-8-20 08:41
能得到完整答案的还是 Solve 命令:


先生你好,晚辈还有疑问,怎么把所求的弧度转化成角度??

QQ截图20230820091240.jpg

图片上第二个算的结果不对,而楼主真正想要的是这个角度结果:30.30174011……

点评

公式中用的字母是 \(t\),替换时用的字母是 \(x\)…… 试试把转换成角度的运算也放在一定命令中: [code]t = FindRoot[...] / Degree[/code]  发表于 2023-8-20 09:23
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2023-8-20 10:05:31 | 显示全部楼层
笨笨 发表于 2023-8-20 09:13
先生你好,晚辈还有疑问,怎么把所求的弧度转化成角度??

很显然是不行的

QQ截图20230820100516.jpg
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-20 10:57:50 | 显示全部楼层
笨笨 发表于 2023-8-20 10:05
很显然是不行的
  1. FindRoot[(Sin[x/2 Degree])^2 == 1/\[Pi] - 1/4, {x, 1},
  2. WorkingPrecision -> 10]
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2023-8-20 11:07:13 | 显示全部楼层
本帖最后由 笨笨 于 2023-8-20 11:25 编辑


前辈你好,能否得出的结果直接为度分秒形式???


比如显示像这样:\({30^ \circ }18'\;6.264290159597579\;''\)
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-20 11:15:51 | 显示全部楼层
  1. DMSList[30.3017400810515721188]
复制代码


{30, 18, 6.26429}
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2023-8-20 11:21:22 | 显示全部楼层
本帖最后由 笨笨 于 2023-8-20 11:25 编辑


这种原始方法我会,若直接拷贝解的部分小数方法,我认为不精确会影响结果精度。能不能直接“引用”上一步的解,把它作为一个定量代入到下一步中,程序怎么编??
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2023-8-20 13:17:22 | 显示全部楼层
笨笨 发表于 2023-8-20 11:21
这种原始方法我会,若直接拷贝解的部分小数方法,我认为不精确会影响结果精度。能不能直接“引用”上一 ...
  1. DMSList[180/Pi*N[x/.Solve[(Sin[x/2  ])^2==1/\[Pi]-1/4&&0<x<Pi/2,x][[1]]]]
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-11-21 21:20 , Processed in 0.029270 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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