24小时热门版块排行榜    

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

gzy_103

金虫 (正式写手)

[求助] 求解方程组已有2人参与

function y=broyden(x0)
a=eye(length(x0));
x1=x0-myfun2(x0)/a;
n=1;
while(norm(x1-x0)>=1.0e-6)&(n<=100000000)
    x0=x1;
    x1=x0-myfun2(x0)/a;
    p=x1-x0;
    q=myfun2(x1)-myfun(x0);
    a=a+(q-p*a)'*p/norm(p);
    n=n+1;
end
y=x1;
n
function y= myfun2(x)
a=2.6;
y=['x(1)*0.4-0.21+x(2)*0.6','x(2)-x(1)^(1/(1-a))*(2/3)*((1-x(1))^(a/(a-1))*(0.21/0.79)^(a/(a-1))-x(1)^(1/(1-a)))'];

这是代码,总是报错,帮忙看一下吧
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

charmantang

禁虫 (正式写手)


感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2014-06-04 00:47:27
本帖内容被屏蔽

4楼2014-06-01 18:18:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

仙木映月

金虫 (正式写手)

myfun2(x)有点奇怪啊,都放在引号里能运算么?
Hardtosay.
2楼2014-05-30 21:19:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gzy_103

金虫 (正式写手)

引用回帖:
2楼: Originally posted by 仙木映月 at 2014-05-30 21:19:01
myfun2(x)有点奇怪啊,都放在引号里能运算么?

你能帮我改一下吗?
3楼2014-05-30 21:29:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师


jjdg: 金币+1, 感谢参与 2014-06-04 00:47:13
从这个function y= myfun2(x)函数可以看出x(1)不能大于1也不能小于0,大于1则((1-x(1))^(a/(a-1))为负数,小于0则x(1)^(1/(1-a))为负数,但在while循环中x1=x0-myfun2(x0)/a难免出现这种情况,所以在q=myfun2(x1)-myfun(x0)时出现错误。

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

5楼2014-06-02 14:30:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见