使用fzero时出错

时间:2015-07-11 09:00:31

标签: matlab

我试图通过在Matlab中使用while循环来解决非线性方程,但是它没有给我结果并且给出了一个使用fzero函数的错误。

为什么会这样?如何解决这个问题?有人可以帮我吗? 提前谢谢。

function z=optp(z,p)
    z=3.067;
    p=0;
    while (z-p) > 0.8
        syms a y Q p
        p=z;
        w=3;
        C=1;
        P=5;
        b=1.2;
        c=8;
        B=0.5;
        R=A^B*c*p^-b;
        Q=(0.5-1/(p+5))*2400*((A^0.5)/(p^(6/5)));
        x=Q;
        J1=int(int(a*x*0.01,y,a*x/R,100),a,0,Q/x);
        J2=(b*x^2*0.01/R)*int(a^2*1,a,0,Q/x);
        J3=(P*R*b/p)*(int(int(y*0.01,y,a*x/R,100),a,0,Q/x));
        J4=(b*R^2/x)*int(y^2*0.01,y,0,Q/R);
        J5=(R*0.2)*(int(int(y*0.01,a,y*R/x,1),y,0,Q/R));
        J=J1+J3+J4-J2-J5;
        z=fzero(@ (p) J,p)
    end
end

0 个答案:

没有答案