找回密码
 欢迎注册
查看: 18809|回复: 4

[求助] cos(θ)*sin(θ)+(sin(θ)-1)*cos(θ)=0 如何用Python 或 sage 求出指定区间的所有解

[复制链接]
发表于 2020-10-11 18:01:29 | 显示全部楼层 |阅读模式

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

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

×
以上方程我想用 sage 或 python 求出指定范围的全部解。
sage 代码在以下链接: https://sagecell.sagemath.org/?z ... ts=eJyLjgUAARUAuQ==

但是只给出了一个解。且是小数形式。

问题:
1 、如何得到 0-2pi 之间的全部解?
2 、得到的解如何得到 pi 的分数形式数值解?如:1.5707963267694458 完全可以给出 pi/2 的解。看着更舒服。自己手工转换也可以。就是麻烦。感觉这应该是计算机的工作。没必要手工去做。
3 、搜到一个求全解的帖子 https://ask.sagemath.org/questio ... ots-of-an-equation/。但是感觉过于繁琐。连循环都用上了。希望论坛大神能给出更加简洁的方案。sage 官方应该有求指定范围全解的函数吧?
4 、sage 的官方文档都在这里了么? https://doc.sagemath.org/html/en/#
这个是不是 sage 的帮助文档?: https://journalssolutions.sagepub.com/support/home
5、如果用python可以得到上述想要的效果。也是可以的。烦请各位老师给出python下的示例代码。多谢!
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2020-10-12 09:19:29 | 显示全部楼层
这算问题吗?化简后不就是方程sin(2Q)=sin(pi/2-Q).
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2020-10-12 10:12:51 | 显示全部楼层
aimisiyou 发表于 2020-10-12 09:19
这算问题吗?化简后不就是方程sin(2Q)=sin(pi/2-Q).

这是一个有关软件使用方法的问题。三角函数只是用于说明问题的一个例子。请问你知道这个软件使用方法问题的答案么?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2020-10-12 11:14:39 | 显示全部楼层
本帖最后由 markfang2050 于 2020-10-12 12:00 编辑

import sympy # 引入解方程的专业模块sympy
from sympy import *
import numpy as np
from numpy import sin,cos,array,pi
x=symbols('x')   # 申明未知数"x"
result =sympy.solve(sympy.cos(x)*sympy.sin(x)+sympy.cos(x)*(sympy.sin(x)-1),x)
print("三角函数方程cos(θ)*sin(θ)+(sin(θ)-1)*cos(θ)=0符号解:",result)  # 打印出结果

///////////////////
三角函数方程cos(θ)*sin(θ)+(sin(θ)-1)*cos(θ)=0符号解:
[-pi/2,pi/6, pi/2, 2*atan(sqrt(3) + 2]

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2020-10-12 15:08:31 | 显示全部楼层
markfang2050 发表于 2020-10-12 11:14
import sympy # 引入解方程的专业模块sympy
from sympy import *
import numpy as np

多谢。没想到在这个问题上sympy比sage做的好。不过也可能是我sage使用方法不对。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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