注册 登录
编程论坛 Matlab

求助:fsolve求解非线性方程组的问题

zjjwlx 发布于 2006-09-07 10:02, 2635 次点击

需要求解的方程组如下:
function y=fc(x)
pr=15e-6
ps=17e-6
ec=100e3
ef=200
tf=150e-7
ti=2e-7
q=1.602e-19
k=1.380e-23
t=300
eo=8.854e-14
esi=11.9
nd=1e16
ni=1.5e10
ei=3.9
dat=ec/log((1+pr/ps)/(1-pr/ps))
bat=q/(k*t)
ld=sqrt(esi*eo/(q*nd*bat))

y(1)=-sqrt(2)*esi*eo/(bat*ld)*sqrt((ni^2)/(nd^2)*(exp(-bat*x(1))+bat*x(1)-1)+exp(bat*x(1))-bat*x(1)-1)+ps*tanh((x(2)-ec)/(2*dat))
y(2)=x(1)+sqrt(2)*esi*eo/(bat*ld)*sqrt((ni^2)/(nd^2)*(exp(-bat*x(1))+bat*x(1)-1)+exp(bat*x(1))-bat*x(1)-1)*ti/(ei*eo)+x(2)*tf-5

y=[y(1) y(2)]


其中x(1)的范围为1左右,x(2)的范围在3e5左右。

我解的时候是这样的:
>>x0=[1 3e5];
>>fsolve('fc',x0)
运行以后,最后显示的是:
Optimization terminated: first-order optimality is less than options.TolFun.

ans =

1.0e+005 *

0.0000 1.0003

结果明显是不对的。方程是没有问题的。大家能够帮我解决一下这个问题吗??我很着急啊~~

4 回复
#2
sxs772006-09-07 15:55

兄弟,我和你遇到同样的问题了,这个问题我也琢磨了两天了,解决不了,还望高手赐教!

#3
zjjwlx2006-09-07 18:52

盼望中。。。

#4
冰山一角2006-09-08 11:30
?????
#5
zt_chem2011-06-29 16:26
我也遇到类似的问题,期待求解
1