本帖最后由 zhaocb 于 2015-7-18 16:22 编辑
各位大神,我需要解一个超越方程,'0=(r^2+(50*m*(2*pi*k*C)^2))*tanh(r*0.04)+i*r*(50-m)*2*pi*k*C'其中r为未知量。但结果只有0,但实际情况是有复数根,而且复数根才是我要的结果;我也试了fsolve解,但初始值不知道是多少,也得不到正确的答案。我也怀疑方程本身没有复数解,但是有大牛用其他代码可以得到正确的复数解,但我有看不懂那是什么语言。。。求助
Matlab
clear;
clc;
S0=load ('C:\Users\Zhang\Desktop\20150716z\S40.txt');
emp=load ('C:\Users\Zhang\Desktop\20150716z\emp.txt');
sfilm=0.23025851.*S0(:,2)+i*pi.*(1-S0(:,3)/180);
semp=0.23025851.*emp(:,2)+i*pi.*(1-emp(:,3)/180);
w=2*pi.*emp(:,1);
sp=sfilm./semp;
A=50*(1+sp)./(1-sp);
l0=0.04;
ZL=50;
for a=1:801;
m=A(a);
k=w(a);
C=5.8155E-11;
Lext=0.74332929;
syms r
equ=sprintf(