24小时热门版块排行榜    

查看: 2152  |  回复: 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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +5 yuleib84 2026-08-26 6/300 2026-08-28 00:02 by yudaoqian88
[基金申请] 申请删除本帖 +6 lyz123lyz 2026-08-27 7/350 2026-08-27 17:31 by 宁静致远sy
[基金申请] 基金不中,共勉 +10 eulota 2026-08-26 10/500 2026-08-27 17:23 by lqllinqiaoli
[基金申请] 基金未中,这种答复是模板吗? +5 zhaosm1982 2026-08-27 6/300 2026-08-27 16:00 by lfy8008
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[教师之家] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 LIbGuocjEEYw 2026-08-26 4/200 2026-08-27 04:33 by Ie9AyIAvGbvs
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 LIbGuocjEEYw 2026-08-26 4/200 2026-08-27 02:01 by Ie9AyIAvGbvs
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 系统查不到 +10 董八千 2026-08-26 10/500 2026-08-26 16:30 by Equinoxhua
[基金申请] 范进中举一文的中心思想 +9 炎黄贵胄 2026-08-22 10/500 2026-08-26 15:40 by semaglutide
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 能否退出参与的面上项目解除限项 +23 koalala 2026-08-24 26/1300 2026-08-26 14:29 by 宝贝虫子
[基金申请] 为什么国自然不能直接公布 +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
[基金申请] 今天务委会开完了,明天出结果吗 +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
[基金申请] 牛来!米来!面来! +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
[基金申请] 人气不行了 +11 fansofjerry 2026-08-21 11/550 2026-08-25 11:04 by 孤独的英雄6
[基金申请] 建议基金发布提前给出明确的时间点 +13 kulium 2026-08-21 16/800 2026-08-24 16:27 by superceng
信息提示
请填处理意见