24小时热门版块排行榜    

查看: 826  |  回复: 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的回帖

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的回帖

gzy_103

金虫 (正式写手)

送红花一朵
引用回帖:
5楼: Originally posted by change0618 at 2014-06-02 14:30: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)-m ...

您看这个方程该怎样解呢?
6楼2014-06-03 09:53:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gzy_103

金虫 (正式写手)

引用回帖:
7楼: Originally posted by 方勤1 at 2014-06-03 22:13:42
myfun2(x0) 这个代码可以从库存中调用?是不是你自己取的名而已?

myfun2是我自己定义的

[ 发自小木虫客户端 ]
8楼2014-06-04 11:28:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 gzy_103 的主题更新
信息提示
请填处理意见