24小时热门版块排行榜    

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

z65668396

金虫 (正式写手)

[求助] Matlab用牛顿法求解非线性方程组问题

我的问题是

比如这个方程组
x1.^2-10x1+x2.^2+A=0
     x1*x2.^2+x1-10x2+8=0

其中A是在一定范围变化的  例如从-5~5;
用牛顿法解这个方程组,绘制方程组的解随A变化的曲线
如果A是常量  牛顿法很简单   比如A=8
程序如下:

牛顿迭代M文件
function s=NewtonIterate(x,eps)
%Newton迭代法求非线性方程组
%x为迭代初值,eps为允许误差值
if nargin==1
    eps=1.0e-6;
elseif nargin<1
    error
    return
end  
x1=fx1(x);%非线性方程组
x2=-dfx1(x);%非线性方程组导数
x3=inv(x2);
x0=x3*x1';
while norm(x0)>=eps %循环迭代
      x=x0'+x;
      x1=fx1(x);
      x2=-dfx1(x);
      x3=inv(x2);
      x0=x3*x1';
end
s=x0'+x;
return

非线性方程组M文件
   function y=fx1(x)
   y(1)=x(1)*x(1)-10*x(1)+x(2)*x(2)+8;
   y(2)=x(1)*x(2)*x(2)+x(1)-10*x(2)+8;
   y=[y(1) y(2)];

偏导M文件
  function y=dfx1(x)
     y(1)=2*x(1)-10;
     y(2)=2*x(2);
     y(3)=x(2)*x(2)+1;
     y(4)=2*x(1)*x(2)-10;
     y=[y(1) y(2);y(3) y(4)];

如果A是变量,就要改动非线性方程组的M函数,

  function y=fx1(x)
A=-5:5;
   y(1)=x(1)*x(1)-10*x(1)+x(2)*x(2)+A;
   y(2)=x(1)*x(2)*x(2)+x(1)-10*x(2)+8;
   y=[y(1) y(2)];
运行报错
不知道哪位大神能够解答一下
非常感谢
回复此楼

» 猜你喜欢

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

心有猛虎,细嗅蔷薇。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

★ ★
xiegangmai: 金币+2, 鼓励讨论交流! 2013-09-08 22:20:50
1.   多看几本matlab书,看其中关于解非线性方程组的部分的例子复杂度是否能满足你的要求,可以就用fsolve搞定
2. 若你待求解的方程组确实很复杂。那么找专门介绍数值计算的书籍和经典现成的数值软件包来解,比自己写的代码靠谱些,毕竟是经过多少人的锤炼和考验的。
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
6楼2013-09-05 16:06:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

baobiao007

木虫 (职业作家)

中国特色

【答案】应助回帖


感谢参与,应助指数 +1
1592203609: 金币+1, 谢谢回帖 2013-09-05 15:59:03
A= -5:5  这应该改成某个值,比如5.
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
2楼2013-09-05 14:04:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

【答案】应助回帖


1592203609: 金币+1, 谢谢回帖 2013-09-05 15:59:16
matlab自带的fsolve函数可以求非线性方程组,楼主可以试试
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
3楼2013-09-05 14:18:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baobiao007

木虫 (职业作家)

中国特色

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
z65668396: 金币+10, ★★★很有帮助 2013-09-05 15:41:47
1592203609: 金币+2, 谢谢回帖 2013-09-05 15:59:34
z65668396: 金币+10, ★★★很有帮助 2013-09-06 16:55:11
看看这段程序结果
CODE:
% 主程序
global a;
for a= -5:5
    x=[1,2]; %随便给的初值
    z=fsolve(@fun,x,optimset('fsolve')) % 对应每次a的计算结果
end

% 子函数
function y=fun(x)
    global a;
    y(1)=x(1)*x(1)-10*x(1)+x(2)*x(2)+a;
    y(2)=x(1)*x(2)*x(2)+x(1)-10*x(2)+8;
end

我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
4楼2013-09-05 14:28:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 26年电池方向博士申请 10+4 15615939259 2026-04-09 5/250 2026-04-16 12:37 by 墨荷之露
[考研] 一志愿沪9,生物学326求调剂 +8 刘墨墨 2026-04-15 8/400 2026-04-16 10:29 by 圆心602
[考研] 297,工科调剂? +10 河南农业大学-能 2026-04-14 10/500 2026-04-15 21:50 by noqvsozv
[考研] 296求调剂 +12 汪!?! 2026-04-09 13/650 2026-04-15 20:01 by 学员JpLReM
[考研] 调剂 +12 月@163.com 2026-04-11 12/600 2026-04-14 15:37 by zs92450
[考研] 材料085601调剂 +32 何润采123 2026-04-10 34/1700 2026-04-14 08:47 by 木木mumu~
[考研] 求调剂,985材料与化工348分 +9 涵竹刘 2026-04-11 14/700 2026-04-13 22:26 by 涵竹刘
[考研] 一志愿双非085400电子信息344 求调剂,对材料和化学方向也感兴趣 +12 无情的小羊 2026-04-09 13/650 2026-04-13 14:17 by 张zhihao
[考研] 0831生医工第一轮调剂失败求助 +12 小熊睿睿_s 2026-04-11 16/800 2026-04-12 16:28 by 钰璞
[考研] 331求调剂 +5 王国帅 2026-04-11 5/250 2026-04-11 22:56 by 溪涧流水
[考研] 270求调剂 +14 杨乐369 2026-04-11 14/700 2026-04-11 20:16 by 蓝云思雨
[考研] 求调剂 +11 翩翩一书生 2026-04-09 11/550 2026-04-11 19:57 by 逆水乘风
[考研] 调剂求助 +6 果然有我 2026-04-11 7/350 2026-04-11 16:22 by 明月此时有
[考研] 283求调剂 +22 那个噜子 2026-04-09 22/1100 2026-04-11 10:41 by 逆水乘风
[考研] 281求调剂 +11 觉得好的吧 2026-04-10 11/550 2026-04-11 09:35 by 逆水乘风
[考研] 0854调剂 +4 长弓傲 2026-04-09 4/200 2026-04-11 09:18 by 猪会飞
[考研] 342电子信息专硕求调剂 +9 你让我怎么荔枝 2026-04-10 10/500 2026-04-11 08:33 by zhq0425
[考研] 0858求调剂 5+5 Gky09300550, 2026-04-10 8/400 2026-04-10 19:13 by chemisry
[考研] 298求调剂 +13 钉叮咚冬瓜 2026-04-09 13/650 2026-04-10 15:49 by jiajinhpu
[考研] 求调剂 +11 翩翩一书生 2026-04-09 13/650 2026-04-10 10:27 by liuhuiying09
信息提示
请填处理意见