24小时热门版块排行榜    

查看: 2150  |  回复: 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的回帖

mataohk

银虫 (初入文坛)

引用回帖:
4楼: Originally posted by dingd at 2012-10-16 11:58:18
x1: 8.3036342614272
x2: 8.23586506487608E-145
x3: 0.016175036046607
x4: 0.900972587715136
x5: 0.0018529795611491

谢谢你的回复,但是结果差的更远了,还出现了10^145了。
还有为什么你的程序不能在我安装的1stOpt进行计算啊?
5楼2012-10-16 14:51:20
已阅   回复此楼   关注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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 基金未中,这种答复是模板吗? +4 zhaosm1982 2026-08-27 5/250 2026-08-27 12:17 by zhaosm1982
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +5 Kittylucky 2026-08-27 5/250 2026-08-27 12:10 by 姜太公烤鱼
[基金申请] 投票:  有多少人是今天查系统知道结果的? +15 爱看书的可乐 2026-08-26 17/850 2026-08-27 11:29 by xxniao123
[文学芳草园] 梦想 +3 myrtle 2026-08-26 3/150 2026-08-27 10:01 by angelyueyi
[基金申请] 面上合作单位盖章 +3 ssyjh 2026-08-27 3/150 2026-08-27 09:59 by 阿拉贡aragon
[基金申请] 怎么查啊 +5 huang1991js 2026-08-26 5/250 2026-08-26 16:09 by Equinoxhua
[基金申请] 2026国自然函评费到账 +22 羊腰板 2026-08-21 25/1250 2026-08-26 15:00 by zuocuiping
[基金申请] 为什么国自然不能直接公布 +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 在坚冰还盖着北海的时候,我看到了怒放的梅花。 (金币+10) +6 ziyangfang 2026-08-25 9/450 2026-08-25 20:26 by huagongfeihu
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
[基金申请] 人气不行了 +11 fansofjerry 2026-08-21 11/550 2026-08-25 11:04 by 孤独的英雄6
[基金申请] 我面上完蛋了 +13 且听虎啸 2026-08-20 14/700 2026-08-25 09:10 by mrkang
[基金申请] 建议基金发布提前给出明确的时间点 +13 kulium 2026-08-21 16/800 2026-08-24 16:27 by superceng
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
信息提示
请填处理意见