| 查看: 1683 | 回复: 12 | ||
[求助]
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 end end %% %results output x nconverg |
» 猜你喜欢
请问哪里可以有青B申请的本子可以借鉴一下。
已经有4人回复
真诚求助:手里的省社科项目结项要求主持人一篇中文核心,有什么渠道能发核心吗
已经有6人回复
孩子确诊有中度注意力缺陷
已经有14人回复
三甲基碘化亚砜的氧化反应
已经有4人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
请问有评职称,把科研教学业绩算分排序的高校吗
已经有5人回复
2025冷门绝学什么时候出结果
已经有3人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
求助 MATLAB解方程组-fslove
已经有7人回复
用不动点迭代求非线性方程组,求得的不是想要的解,怎么办
已经有12人回复
求助!matlab用fsolve函数求解非线性方程组的问题!
已经有19人回复
matlab求解非线性方程组
已经有16人回复
matlab解微分方程组
已经有15人回复
求助有关Matlab有约束非线性最优化问题
已经有9人回复
求高人指点用matlab求解非线性方程组,解决了追加100金币;
已经有11人回复
matlab非线性参数拟合问题
已经有7人回复
matlab的fsove 命令求解非线性方程组
已经有6人回复
非线性方程组的迭代法(数值计算高手请进)
已经有7人回复
【求助】求教matlab解非线性方程组
已经有9人回复
dingd
铁杆木虫 (职业作家)
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.5小时
- 虫号: 291104
- 注册: 2006-10-28
2楼2012-10-16 08:48:36
|
非常感谢你耐心的回答,很有帮助。 可不可以再帮我计算一次,真的是麻烦你了,用下面修正过的方程再到1stOpt计算一次,麻烦你把计算得到的结果x1,x2,x3,x4,x5 和验证的结果告诉我。 谢谢了。 修正的后的方程组: 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/x3; |
10楼2012-10-16 18:43:46
dingd
铁杆木虫 (职业作家)
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.5小时
- 虫号: 291104
- 注册: 2006-10-28
11楼2012-10-17 09:18:40
|
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
dingd
铁杆木虫 (职业作家)
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.5小时
- 虫号: 291104
- 注册: 2006-10-28
4楼2012-10-16 11:58:18
5楼2012-10-16 14:51:20
dingd
铁杆木虫 (职业作家)
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.5小时
- 虫号: 291104
- 注册: 2006-10-28
6楼2012-10-16 15:22:56
7楼2012-10-16 16:44:49
|
不还意思,做个小小的修正,第一套方程保持不变: 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; 第二套方程应该是:(做了一点小小的修改,麻烦你帮我重新算一下,谢谢) 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/x3; |
8楼2012-10-16 17:11:56
dingd
铁杆木虫 (职业作家)
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.5小时
- 虫号: 291104
- 注册: 2006-10-28
【答案】应助回帖
★ ★
mataohk: 金币+1, ★★★很有帮助 2012-10-16 18:43:58
jjdg: 金币+1, 辛苦了 2012-10-17 00:53:24
mataohk: 金币+1, ★★★很有帮助 2012-10-16 18:43:58
jjdg: 金币+1, 辛苦了 2012-10-17 00:53:24
|
文献答案是针对你一楼还是你修改后三楼的公式? 如果对一楼: 1stOpt验证(2楼结果):公式左右相减 -3.375077995E-14 -5.329070518E-15 1.776356839E-15 6.77236045E-15 8.515250924E-9 文献验证:公式左右相减 -0.001784587439 -2.420748046E-10 -0.0001076813772 5.662268229E-5 -0.000112805466 如果对三楼: 1stOpt验证(4楼结果):公式左右相减 8.679745341E-5 0.0378520978 -0.03793594713 -0.005267011529 0.0180096136 文献验证:公式左右相减 -0.001784587439 -2.420748046E-10 -0.0001076813772 5.662268229E-5 1.72645739 无论那种情况,文献值都要比1stOpt得到的结果差。 |
9楼2012-10-16 17:14:15













回复此楼