24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1352  |  回复: 6

zidingxiang

金虫 (小有名气)

[求助] matlab解非线性方程组程序纠错与正确运行 已有1人参与

大家好,我遇到一个解六元一次非线性方程组的问题,如果能指正错误并使程序运行出正确结果,将不胜感激!!!!!!
希望各位能尽快帮忙解决。matlab程序和运行后出现的问题具体如下:
1.首先建立函数F,储存方程组编程如下将F.m保存到工作路径中:  
function f=F(x)
syms x1 x2 x3 x4 x5 x6
f(1) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.6438^2-x6^2) - 2*1.620015*(1.620015^2-1)*(-3.240);
f(2) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.6328^2-x6^2) - 2*1.620507*(1.620507^2-1)*(-2.900);
f(3) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.5893^2-x6^2) - 2*1.622702*(1.622702^2-1)*(-2.700);
f(4) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.5461^2-x6^2) - 2*1.625401*(1.625401^2-1)*(-2.523);
f(5) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.4800^2-x6^2) - 2*1.631029*(1.631029^2-1)*(-2.618);
f(6) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.4358^2-x6^2) - 2*1.636369*(1.636369^2-1)*(-2.691);
f=[f(1) f(2) f(3) f(4) f(5) f(6)];
end
2.建立函数dF,用来求方程组的雅克比矩阵将dF.m保存到工作路径中:

function df=dF(x)
f=F(x);
df=[diff(f,'x1');diff(f,'x2');diff(f,'x3');diff(f,'x4');diff(f,'x5');diff(f,'x6')];
df=conj(df');
3.编程牛顿法求解非线性方程组将newton.m保存到工作路径中:

function x=newton(x0,eps,N)
con=0;
%其中x0为迭代初值eps为精度要求N为最大迭代步数con用来记录结果是否收敛
for i=1:N;
    f=subs(F(x0),{'x1' 'x2' 'x3' 'x4' 'x5' 'x6'},{x0(1) x0(2) x0(3) x0(4) x0(5) x0(6)});
    df=subs(dF(x0),{'x1' 'x2' 'x3' 'x4' 'x5' 'x6'},{x0(1) x0(2) x0(3) x0(4) x0(5) x0(6)});
    x=x0-f/df;
    for j=1: length(x0);
        il(i,j)=x(j);
    end
    if norm(x-x0)<eps
        con=1;
        break;
    end
    x0=x;
end

4.%以下是将迭代过程写入txt文档文件名为iteration.txt
fid=fopen('iteration.txt','w');
fprintf(fid,'iteration');
for j=1: length(x0)
    fprintf(fid,'         x%d',j);
end
for j=1:i
    fprintf(fid,'\n%6d     ',j);
    for k=1: length(x0)
        fprintf(fid,' %10.6f',il(j,k));
    end
end
if con==1
    fprintf(fid,'\n计算结果收敛!');
end
if con==0
    fprintf(fid,'\n迭代步数过多可能不收敛!');
end
fclose(fid);
5.运行程序

在matlab中输入以下内容:
newton( [-3e-05,-1.5e-08,-5.0e-11,3.0e-07,2.0e-10,-5.0e-1]',1.0e-15,10000)
运行后出现如下错误:
Warning: Matrix is singular to working precision.
> In newton at 7
??? Error using ==> minus
Matrix dimensions must agree.

Error in ==> newton at 7
    x=x0-f/df;
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 非线性方程组程序.docx
  • 2014-07-01 10:26:51, 25.26 K

» 收录本帖的淘帖专辑推荐

程序

» 猜你喜欢

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

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

zidingxiang

金虫 (小有名气)

谢谢。因为以前没用过matlab,需要高手给指点下。如能给出其它能求解的程序也可以。
violet
2楼2014-07-01 10:50:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zidingxiang

金虫 (小有名气)

引用回帖:
2楼: Originally posted by zidingxiang at 2014-07-01 10:50:58
谢谢。因为以前没用过matlab,需要高手给指点下。如能给出其它能求解的程序也可以。

程序中方程组有错误,更正后的方程组为:
f(1) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.6438^2-x6^2) - 2*1.620015/(1.620015^2-1)*(-0.87+2.6);
f(2) = x1+x2/20+x3*20^2+(x4+x5*20)/(0.6328^2-x6^2) - 2*1.620507/(1.620507^2-1)*(-0.87+2.7);
f(3) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.5893^2-x6^2) - 2*1.622702/(1.622702^2-1)*(-0.87+2.8);
f(4) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.5461^2-x6^2) - 2*1.625401/(1.625401^2-1)*(-0.87+2.9);
f(5) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.4800^2-x6^2) - 2*1.631029/(1.631029^2-1)*(-0.88+3.3);
f(6) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.4358^2-x6^2) - 2*1.636369/(1.636369^2-1)*(-0.88+3.6);
哪位高手能给指点一下呢?非常着急!其它能求解的程序也可以哦!
violet
3楼2014-07-02 08:28:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
ben_ladeng: 金币+2, 谢谢指教 2015-01-12 15:26:55
1:没有精确解;
2:解不唯一:

1)
x1: 2.88957802502212
x2: -0.00606779269454531
x3: -0.0021475788429129
x4: 104.239194493169
x5: -5.17957855521604
x6: 4.2688217005944E-9

2)
x1: -5.06785191315175
x2: -0.00606779274435797
x3: 0.0177459960035543
x4: -1513.24941425117
x5: 75.6948518819933
x6: -1.71163956718315E-10

3)
x1: 10.534663792856
x2: -0.00606779266347315
x3: -0.021260293280603
x4: 0.548566738471594
x5: 0.00495283260003713
x6: 0

» 本帖已获得的红花(最新10朵)

4楼2014-07-02 09:26:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zidingxiang

金虫 (小有名气)

引用回帖:
4楼: Originally posted by dingd at 2014-07-02 09:26:51
1:没有精确解;
2:解不唯一:

1)
x1: 2.88957802502212
x2: -0.00606779269454531
x3: -0.0021475788429129
x4: 104.239194493169
x5: -5.17957855521604
x6: 4.2688217005944E-9

2)
x1: -5.067851 ...

结果应在初值附近,但数量级好像差很远呢!这位老师能否给一个包含“每个自变量取值范围”的完整程序呢?我想把每个变量的取值范围都定义,这样结果范围就缩小了。不胜感激哦!发邮箱也可以:violetmojiezuo@163.com
violet
5楼2014-07-02 10:48:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zidingxiang

金虫 (小有名气)

送红花一朵
引用回帖:
4楼: Originally posted by dingd at 2014-07-02 09:26:51
1:没有精确解;
2:解不唯一:

1)
x1: 2.88957802502212
x2: -0.00606779269454531
x3: -0.0021475788429129
x4: 104.239194493169
x5: -5.17957855521604
x6: 4.2688217005944E-9

2)
x1: -5.067851 ...

结果应在初值附近,但数量级好像差很远呢!这位老师能否给一个包含“每个自变量取值范围”的完整程序呢?我想把每个变量的取值范围都定义,这样结果范围就缩小了。不胜感激哦!发邮箱也可以:violetmojiezuo@163.com
violet
6楼2014-07-02 10:49:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yhcheng12

禁虫 (初入文坛)

本帖内容被屏蔽

7楼2017-03-03 10:59:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zidingxiang 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿南开大学0710生物学359求调剂 +3 兔兔兔111223314 2026-03-29 3/150 2026-03-29 23:14 by Evan_Liu
[考研] 327求调剂 +3 小卡不卡. 2026-03-29 3/150 2026-03-29 22:29 by 无际的草原
[考研] 317分 一志愿南理工材料工程 本科湖工大 求调剂 +10 芋泥小铃铛 2026-03-28 10/500 2026-03-29 20:51 by 无际的草原
[考研] 329求调剂,一志愿西北工业大学,材料工程(085601) +4 小小机灵虫 2026-03-29 10/500 2026-03-29 18:20 by 无际的草原
[考研] 085600 材料与化工 329分求调剂 +14 Mr. Z 2026-03-25 14/700 2026-03-29 17:27 by 学员8dgXkO
[硕博家园] 招收生物学/细胞生物学调剂 +4 IceGuo 2026-03-26 5/250 2026-03-29 01:25 by griffith2014
[考研] 一志愿中南大学化学0703总分337求调剂 +5 niko- 2026-03-27 5/250 2026-03-28 14:25 by 唐沐儿
[考研] 求调剂 +6 芦lty 2026-03-25 7/350 2026-03-28 13:13 by 唐沐儿
[考研] 266分,求材料冶金能源化工等调剂 +7 哇呼哼呼哼 2026-03-27 9/450 2026-03-28 12:22 by zllcz
[考研] 352分 化工与材料 +5 海纳百川Ly 2026-03-27 5/250 2026-03-28 03:39 by fmesaito
[考研] 316求调剂 +5 Pigcasso 2026-03-24 5/250 2026-03-27 12:10 by zhshch
[考研] 315调剂 +4 0860求调剂 2026-03-26 5/250 2026-03-27 11:23 by wangjy2002
[考研] 求调剂,一志愿 南京航空航天大学大学 ,080500材料科学与工程学硕 +4 @taotao 2026-03-26 5/250 2026-03-27 08:10 by hypershenger
[考研] 343求调剂 +4 赠我一本书 2026-03-23 4/200 2026-03-27 00:40 by wxiongid
[考研] 调剂 +4 柚柚yoyo 2026-03-26 4/200 2026-03-26 20:43 by fmesaito
[考研] 0703化学求调剂 +3 丹青奶盖 2026-03-26 5/250 2026-03-26 20:11 by macy2011
[考研] 材料与化工304求B区调剂 +3 邱gl 2026-03-26 6/300 2026-03-26 18:03 by 邱gl
[考研] 环境专硕324分求调剂推荐 +5 轩小宁—— 2026-03-26 5/250 2026-03-26 12:05 by i_cooler
[考研] 化工专硕求调剂 +3 question挽风 2026-03-24 3/150 2026-03-24 18:48 by jhhcooi
[考研] 277分求调剂,跨调材料 +3 考研调剂lxh 2026-03-24 3/150 2026-03-24 13:52 by JourneyLucky
信息提示
请填处理意见