如何在不丢失matlab中的所有解法的情况下解决三角方程?例如:
solve(sin(theta) == 0, theta)
将返回0
,但我想知道所有解决方案,而不仅仅是第一个解决方案。
答案 0 :(得分:3)
您可以在等式中添加一些条件。
例如,首先声明一个符号变量theta:
syms theta
现在添加尽可能多的条件:
solve(sin(theta) == 0,theta>=-2*pi,theta<=2*pi, theta)
你也可以设置符号变量的假设,我认为更清楚。
assume(-2*pi <= theta <= 2*pi)
out = solve(sin(theta) == 0, theta)
在这两种情况下,输出将是:
out =
0
pi
-pi
-2*pi
2*pi
如果需要,您可以通过以下方式订购结果:
sym(sort(double(out)))