请问matlab高手solve语句运行结果为什么是atan(,)的形式

问题描述:

请问matlab高手solve语句运行结果为什么是atan(,)的形式
我的指令时这样的:
solve('k*sin(x)+sin(2*x)')
回车后的运行结果应该是个和k有关的函数
结果得到这样的结果
ans=pi
0
atan(1/2*(-k^2+4)^1/2,-1/2*k)
atan(-1/2*(-k^2+4)^1/2,-1/2*k)
前面两个值pi和0肯定没有问题,但是atan(,)这是什么呢?我查了半天都没有查到这个形式的数值啊,atan不是反正切吗,为什么里面会有两个值用逗号隔开呢?
另外我运行solve('sin(x)+sin(2*x)')这个命令,得到的结果是
ans=0,pi,2/3pi,和-2/3pi
经过画图验证和书上给的结果,这个结果是对的,也就是说我的指令没错,但是不知道为什么加入系数k后会得到那样的结果
其实这个指令的意思是计算两个正弦信号的合成信号过在一个周期内,所过的零点,也就是调宽方波的换向点,也就是说解出来的值肯定是有0和pi,另外两个解释互为相反数的,就和'sin(x)+sin(2*x)'这个合成信号的换向点是近似的.
atan(,另外怎么把这两个值变成用pi表示的值,比如pi-acos(k/2)和pi+acos(k/2),书上给出的正确解就是这个形式的.
1个回答 分类:综合 2014-11-24

问题解答:

我来补答
我用2010版本运行 solve('k*sin(x)+sin(2*x)')得到如下希望对你有帮助,

ans =

pi + acos(k/2)
0
pi - acos(k/2)
再问: 非常感谢您,我明白了,按您说的正好是书上的结果。还有一点请教您,mhelp arctan指令是怎么来的呢,我直接在菜单里用help查找的时候只有atan和atan2这两个指令,也没有找到您说的这种解释啊。后来我又运行了下solve('k*sin(x) sin(2*x pi/2)'),得到的结果是atan((a,b)^2)的形式,这又是什么啊
再答: help是用于解释matlab命令的 mhelp是用于解释maple命令的 在matlab2008b前的版本里,符号计算的内核使用的是maple,之后版本改成mupad内核了。
再问: atan((a,b)^2)这个是什么意思呢?怎么查不到呢?
再问: atan((a,b)^2)这个是什么意思呢?怎么查不到呢?
再答: 还是atan(a,b)的形式啊,你看花了吧 solve('k*sin(x)+sin(2*x+pi/2)') ans = atan(-(-1/4*k^2+1/4*(8*k^2+k^4)^(1/2))/k,1/4*(8-2*k^2+2*(8*k^2+k^4)^(1/2))^(1/2)) atan(-(-1/4*k^2+1/4*(8*k^2+k^4)^(1/2))/k,-1/4*(8-2*k^2+2*(8*k^2+k^4)^(1/2))^(1/2)) atan(-(-1/4*k^2-1/4*(8*k^2+k^4)^(1/2))/k,1/4*(8-2*k^2-2*(8*k^2+k^4)^(1/2))^(1/2)) atan(-(-1/4*k^2-1/4*(8*k^2+k^4)^(1/2))/k,-1/4*(8-2*k^2-2*(8*k^2+k^4)^(1/2))^(1/2))
再问: 额。。这最后不是有个^1/2吗,整个结果就成了atan(-(a,b)^(1/2)),我记错了,是^(1/2),不是^2
再答: 你自己看看仔细吧,这个^(1/2)的作用范围究竟到哪
 
 
展开全文阅读
剩余:2000
下一页:铜,及其化合物