24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1692  |  回复: 12
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

mataohk

银虫 (初入文坛)

[求助] Matlab:Newton-Raphson 解线非线性性方程组的问题

大家好,能否帮我解决一个Matlab用Newton-Raphson 解线非线性性方程组的问题,可以肯定这五个方程组肯定是有解的。程序代码在最后。 但是运行之后出现了问题,提示消息是:Warning: Matrix is singular, close to singular or badly scaled.          Results may be inaccurate. RCOND = NaN.
因为刚学matlab,不是很熟悉这些东西和算法,能否帮我看一下问题出在哪?谢谢大家。

maxiter=1000;
epsilon=0.0000000001;
nsys=5;
Voc=33.4;
Isc=8.12;
Vm=26.2;
Im=7.63;
Ns=54;
Np=1;

%equations
F1 = @(x) Np*x(1)-Np*x(2)*(exp(Voc/Ns/x(5))-1)-Np*Voc/Ns/x(4);
F2 = @(x) Np*x(1)-Np*x(2)*(exp(Isc*x(3)/Np/x(5))-1)-Isc*x(3)/x(4)-Isc;
F3 = @(x) Np*x(1)-Np*x(2)*(exp((Vm/Ns+Im*x(3)/Np)/x(5))-1)-Np/x(4)*(Vm/Ns+Im*x(3)/Np)-Im;
F4 = @(x) (Np*x(2)*exp((Vm+Im*Ns*x(3)/Np)/Ns/x(5))/Ns/x(5)+Np/Ns/x(4))/(1+x(3)*x(2)*exp((Vm+Im*Ns*x(3)/Np)/Ns/x(5))/x(5)+x(3)/x(4))-Im/Vm;
F5 = @(x) (Np*x(2)*exp(Isc*Ns*x(3)/Np/Ns/x(5))/Ns/x(5)+Np/Ns/x(4))/(1+x(3)*x(2)*exp(Isc*Ns*x(3)/Np/Ns/x(5))/x(5)+x(3)/x(4))-1/x(4);

F={F1,F2,F3,F4,F5};

%initial values
x(1)=8.12;
x(2)=2e-9;
x(3)=6e-7;
x(4)=8700;
x(5)=0.0275;



nloop=0;
nconverg=0;

while nloop    
    dFidxj=zeros(nsys,nsys);

    for i=1:1:nsys
        for j=1:1:nsys
            fx=F{i};
            xj=x;

            xj(j)=x(j)+epsilon/2;
            y1=fx(xj);

            xj(j)=x(j)-epsilon/2;
            y0=fx(xj);

            dFidxj(i,j)=(y1-y0)/epsilon;
        end
    end
   
%%
       for i=1:1:nsys
       j=F{i};
       D(i,1)=j(x);
    end
   
%%
       A=inv(dFidxj);
    error=A*D;
    dx=error';
   
%%   
   
    x=x-dx;
   
%%   
        nloop=nloop+1;
        nconverg=nconverg+1;
%%        
            
        maxdx=max(abs(error));
        
        if maxdx             nloop=maxiter;
        end

        
end
%%
%results output

x
nconverg
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖


mataohk: 金币+1, ★★★很有帮助 2012-10-16 16:45:04
是“10^(-145)”,接近于0但不等于0.

“结果差的更远了”,不知道你的正确结果是多少?贴出来看看,结果的好坏带回原方程验证一下就知道了。

用的是5.0版。
6楼2012-10-16 15:22:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
mataohk: 金币+1, ★★★很有帮助 2012-10-16 09:48:38
jjdg: 金币+1, 辛苦了 2012-10-16 10:45:40
1stOpt求解:
CODE:
Algorithm = SM2[30,0.1];
Parameter x(5)= [0,];
Constant nsys=5,Voc=33.4,Isc=8.12,Vm=26.2,Im=7.63,Ns=54,Np=1;
Function  np*x1-np*x2*(exp(voc/ns/x5)-1)-np*voc/ns/x4;
          np*x1-np*x2*(exp(isc*x3/np/x5)-1)-isc*x3/x4-isc;
          np*x1-np*x2*(exp((vm/ns+im*x3/np)/x5)-1)-np/x4*(vm/ns+im*x3/np)-im;
          (np*x2*exp((vm+im*ns*x3/np)/ns/x5)/ns/x5+np/ns/x4)/(1+x3*x2*exp((vm+im*ns*x3/np)/ns/x5)/x5+x3/x4)-im/vm;
          (np*x2*exp(isc*ns*x3/np/ns/x5)/ns/x5+np/ns/x4)/(1+x3*x2*exp(isc*ns*x3/np/ns/x5)/x5+x3/x4)-1/x4;

x1: 8.12000001121304
x2: 1.4626798923652E-9
x3: 0.00733098619458878
x4: 7.48696238461757E34
x5: 0.0275664990951606
2楼2012-10-16 08:48:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mataohk

银虫 (初入文坛)

引用回帖:
2楼: Originally posted by dingd at 2012-10-16 08:48:36
1stOpt求解:

Algorithm = SM2;
Parameter x(5)= ;
Constant nsys=5,Voc=33.4,Isc=8.12,Vm=26.2,Im=7.63,Ns=54,Np=1;
Function  np*x1-np*x2*(exp(voc/ns/x5)-1)-np*voc/ns/x4;
          np*x1-np*x2*(exp( ...

1. 谢谢你的回答和计算。但是我用你的程序到进去之后算出来的结果和你算出来的结果差别很大,我用的是1stOpt15PRO。是不是版本不同的原因?麻烦你告诉我问题在哪?
2. 对于你的结果,x4的结算结果差别很大,数量级应该在10^3,不会到10^34. 其他结果还比较准确。
3. 现在我把第五个方程修改一下,你再帮我算算这一次的结果,我想看一下哪一种方法更准确。谢谢你。修改后的方程组为:
Function  np*x1-np*x2*(exp(voc/ns/x5)-1)-np*voc/ns/x4;
          np*x1-np*x2*(exp(isc*x3/np/x5)-1)-isc*x3/x4-isc;
          np*x1-np*x2*(exp((vm/ns+im*x3/np)/x5)-1)-np/x4*(vm/ns+im*x3/np)-im;
          (np*x2*exp((vm+im*ns*x3/np)/ns/x5)/ns/x5+np/ns/x4)/(1+x3*x2*exp((vm+im*ns*x3/np)/ns/x5)/x5+x3/x4)-im/vm;
          (np*x2*exp(Voc/ns/x5)/ns/x5+np/ns/x4)/(1+x3*x2*exp(Voc/ns/x5)/x5+x3/x4)-1/x4;
3楼2012-10-16 09:57:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖


mataohk: 金币+1, 有帮助 2012-10-16 14:51:25
x1: 8.3036342614272
x2: 8.23586506487608E-145
x3: 0.016175036046607
x4: 0.900972587715136
x5: 0.0018529795611491
4楼2012-10-16 11:58:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见