matlab怎么解复数方程

来源:百度知道 编辑:UC知道 时间:2024/05/09 04:05:45
方程如下:
(x+1/x)*sinh(jxm)+2cosh(jxm)=2/S21
其中;x是未知数,m是常数,S21是个复数(如S21=-460449-j6004305).

怎样解得x?谢谢
这里的m是个常数,3.35。
在这种情况下,这个方程还可以求解吗?
照大师说的那样,不是方程只有在那4个m值时才有解?并且x期望的是复数解

谢谢

那样就无解了
因为复数方程实际是两个方程,实部一个,虚部一个,要有两个未知数才确定有解
你给的这个m是不能找到符合的x的

syms x m S21
y=(x+1/x)*sinh(j*x*m)+2*cosh(j*x*m)-2/S21;
y=simple(y)
y =
i*(x+1/x)*sin(x*m)+2*cos(x*m)-2/S21

S21=-460449-j*6004305;
实部虚部分别列方程
y1=2*cos(x*m)+ 2.5394e-008
y2=(x+1/x)*sin(x*m)-3.3115e-007
res=solve(y1,y2)
double(res.m)
解出
m=

0.0000 - 1.5708i
0.0000 + 1.5708i
0.0000 + 1.5708i
0.0000 - 1.5708i
double(res.x)

x =

0.0000 + 1.0000i
0.0000 - 1.0000i
-0.0000 + 1.0000i
-0.0000 - 1.0000i
说明只有m取那4个值时方程才有解,对应解如上