求解x,y,z的数值,我用MATLAB 的fslove函数求解,解出来结果为
>> x=fsolve(@myfun1,[0.8 0.9 0.05],optimset('Display','off'))
x =
0.800000000000194 0.900000000000932 0.050000000000305
这个结果似乎就是在初始值附件变动了一下,我改变初始值,结果也发生变化,是不是解法有问题,下面是我写的程序
function q=myfun1(p)
K1=10^(-12.43);
K2=10^(19.4);
K3=5.6*10^(-20);
Ccu=0.24;
Coh=0.75;
Csa=0.26;
x(1)=p(1);
x(2)=p(2);
x(3)=p(3);
q(1)=((1/Coh)*(x(1)/((1-x(1)-x(2))*(1-x(1)-3*x(2)-2*x(3)))))-K1;
q(2)=((1/(Csa*Coh^3))*(x(2)/((1-x(2)-x(3))*(1-x(1)-x(2))*(1-x(1)-3*x(2)-2*x(3))^3)))-K2;
q(3)=(Ccu*Coh^2*(1-x(2)-x(3))*(1-x(1)-3*x(2)-2*x(3))^2)-K3;
%x=fsolve(@myfun1,[0.8 0.9 0.05],optimset('Display','off'));
要是该方程解出来就是这个这个结果,就说明我方程有问题,我就去重新考虑数学模型,现在求高手帮忙看看这些方程的求解是否有问题,多谢!或者哪位高手能够有其它方法准确的求解这个方程,还请指点一下。
![]()
方程组及参数
[ Last edited by lgycjpcqu on 2012-7-16 at 16:13 ] |