gchj870919 发表于 2009-5-13 16:06

为什么结果只有一长串的数字表达式

Rf=0.985; Rb=0.999; nc=3.2; Lc=2.2 ; %μm
g0=1580; Ntr=1.1*10^18; Ns=-0.63*10^18; a=15; La=0.1323; %μm
eb=1.75; ac=15,am=36; %单位cm-1
h=6.63e-34; c=3e+8; %普朗克常量, 光速
Ain=12.6;%信号场横截面积μm2
Wc=1299.1;%信号波长nm
Vg=7.5e+7;       %信号群速度m/s
b=0.01;%β
A=1e+8;%s-1
B=1e-10;%cm-3s-1
C=3e-29;%cm6s-1 ,A B C为复合系数
e=1.6e-19;
dt=1e-20;%s
n=1000;
Pin=1/1000*10^(1/2);%-25dBm,
jp=540;
syms N S;
%*******************确定初试稳态解*******************************
g=g0*log((N+Ns)/(Ntr+Ns));
S=Vg\(b*La/Lc*B*N^2+(1-Rf)*Wc*Pin/(h*c*Ain*Lc))*(ac+am-eb*La/Lc*g);
N=subs(solve('jp/(e*La)-(A*N+B*N^2+C*N^3)-eb*g*Vg*S=0','N'))

为什么我解出的N不给出结果,只有一长串的数字表达式?

[ 本帖最后由 ChaChing 于 2009-5-13 22:02 编辑 ]

gchj870919 发表于 2009-5-13 16:54

没注意,发现最后解出的结果里还含有N

friendchj 发表于 2009-5-13 18:21

看看下面的程序,你的S里含有N,解出来的形式应该为N=f(N)
clc
clear
a=1;
syms x y
y=(x+a)*a;
x=solve('x+(x+a)*a=0','x')
% 比较
x=solve('x+y=0','x')

gchj870919 发表于 2009-5-13 20:03

=subs(solve('jp/(e*La)-(A*N+B*N^2+C*N^3)-eb*g*Vg*S=0','g=g0*log((N+Ns)/(Ntr+Ns))','(1-Rf)*Wc*Pin/(h*c*Ain*Lc)+eb*La/Lc*g*Vg*S+b*La/Lc*B*N^2-(ac+am)*Vg*S=0','g','N','S'))

我写成方程组的形式来解的话应该不存在这样的问题吧,但很长时间不出结果,这样太慢了,后面我还要循环处理。

gchj870919 发表于 2009-5-13 23:01

求解方程组问题

Rf=0.985; Rb=0.999; nc=3.2; Lc=2.2 ; %μm
g0=1580; Ntr=1.1*10^18; Ns=-0.63*10^18; a=15; La=0.1323; %μm
eb=1.75; ac=15,am=36; %?位cm-1
h=6.63e-34; c=3e+8; %普朗克常量, 光速
Ain=12.6;%信号场横截面积μm2
Wc=1299.1;%信号波长nm
Vg=7.5e+7;       %信号群速度m/s
b=0.01;%β
A=1e+8;%s-1
B=1e-10;%cm-3s-1
C=3e-29;%cm6s-1 ,A B C为复合系数
e=1.6e-19;
Pin=1/1000*10^(1/2);%-25dBm,
jp=540;
syms N;
eq1='g=g0*log((N+Ns)/(Ntr+Ns))';
eq2='S=Vg\(b*La/Lc*B*N^2+(1-Rf)*Wc*Pin/(h*c*Ain*Lc))*(ac+am-eb*La/Lc*g)';
eq3='jp/(e*La)-(A*N+B*N^2+C*N^3)-eb*g*Vg*S=0';
Q=subs(solve(eq1,eq2,eq3,'N'))


解这个方程组solve好像不行,不知道该怎么解了。。。。。。。。

[ 本帖最后由 ChaChing 于 2009-5-14 08:34 编辑 ]

friendchj 发表于 2009-5-14 09:18

回复 地板 gchj870919 的帖子

help fsolve

wangjizhe 发表于 2009-5-17 19:33

回复 楼主 gchj870919 的帖子

符号表达式就是这样的,要得到具体的值可以用numeric函数,或者subs函数,既然你要循环,那就不要用符号表达式,用数值挺快的
页: [1]
查看完整版本: 为什么结果只有一长串的数字表达式