当前位置: 首页 > 计算模拟 >fsolve求解非线性方程组

fsolve求解非线性方程组

作者 bobo1314
来源: 小木虫 250 5 举报帖子
+关注

我的程序,总有这样那样的问题,最终还是会出现错误
M文件:
function F=myfunfsolve(x)
Iph=x(1);
I0=x(2);
Rs=x(3);
Rp=x(4);
Vt=x(5);
Voc=44.6/72;
Vm=35.4/72;
Isc=5.43;
Im=4.95;
Ns=1;
Np=1;
q=1.602E-19;
K=1.381E-23;
Alpha=0.0008;
beita=-0.145;
T0=298.15;
T01=323.15;
Eg0=1.16-7.02e-4*T0^2/(T0-1108);
Eg01=1.16-7.02e-4*T01^2/(T01-1108);
I01bi=T01^3/T0^3*exp(q*Eg0/(Vt)-q*T0*Eg01/(Vt));
F=[Np*Iph-Np*I0*(exp(Voc/Ns/Vt)-1)-Np/Ns*Voc/Rp;
Np*Iph-Np*I0*(exp(Isc*Rs/Np/Vt)-1)-Isc*Rs/Rp-Isc;
Np*Iph-Np*I0*(exp((Vm/Ns+Im/Np*Rs)/Vt)-1)-Np*(Vm/Ns+Im/Np*Rs)/Rp-Im;
(Np/Ns/Vt*I0*exp((Vm+Im*Ns/Np*Rs)/Ns/Vt)+1/(Ns/Np*Rp))/(1+Rs/Vt*I0*exp((Vm+Im*Ns/Np*Rs)/Ns/Vt)+Rs/Rp)-Im/Vm;
(-Np/Ns/Vt*I0*exp(Isc*Ns*Rs/Np/Ns/Vt)-1/(Ns/Np*Rp))/(1+Rs/Vt*I0*exp(Isc*Ns*Rs/Np/Ns/Vt)+Rs/Rp)+1/Rp;
Np*Iph*(1+(T01-T0)*Alpha/Isc)-Np*I0*I01bi*(exp(Voc*(1+(T01-T0)*beita/Voc)/Ns/Vt*T0/T01)-1)-Np/Ns*Voc*(1+(T01-T0)*beita/Voc)/Rp];
命令行输入:
clear;
x0 = [5.4 2e-9 0.02 2 0.05];  % Make a starting guess at the solution
options=optimset('Display','iter','TolFun',1e-3,'TolX',1e-100,'Algorithm','levenberg-marquardt', 'MaxIter',1e4,'MaxFunEvals',1e5,'Diagnostics','on'); %option to display output
[x,fval] = fsolve(@myfunfsolve5,x0,options); % Call solver

出现下列提示:
No solution found.
fsolve stopped because the problem appears regular as measured by the gradient,
but the vector of function values is not near zero as measured by the
selected value of the function tolerance.


我就不知道该如何处理了,如何才能得到解,顺便说一声,这个应该有前人的正确解,[5.449 1.2e-9 0.092 2.725 0.028] 返回小木虫查看更多

今日热帖
  • 精华评论
  • 儒雅圣士

    得到的解是【-0.076195037566324  -0.000000573386969  -2.251437071748727   2.440695364463143   0.046798441863606】  请查看方程并确认是否写正确了,估计是你写错了方程

  • bobo1314

    方程已经过了无数次的检查,而且将前人迭代的正确解反带入原档程,几乎每个式子都在0附近

  • dingd

    6个方程5个未知数,本身就不存在精确解吧。
    而且,所谓的“这个应该有前人的正确解,[5.449 1.2e-9 0.092 2.725 0.028]”,带回原方程验证,误差是非常之大,下面随便一组近似解都要比这个“正解”好的多:

    iph: -2.44512940626882E-8
    i0: 234876089.693707
    rs: 2.65964117382912E15
    rp: 2.01138445074181E24
    vt: -6.24686104906122E23,

猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓