方程求解
方程求解如下:clc;
clear;
format long;
XY=0.164984207E+07;
%XY=0.205921093E+07;
%XY=0.257842948E+07;
x1=1E20;
y1=(20.384E+06)*(x1.^(-0.2))+(735.392E+06)*(x1.^(-0.98))-XY;
x2=1;
y2=(20.384E+06)*(x2.^(-0.2))+(735.392E+06)*(x2.^(-0.98))-XY;
x0=(x1+x2)/2;
y0=(20.384E+06)*(x0.^(-0.2))+(735.392E+06)*(x0.^(-0.98))-XY;
%****************************************************
while(abs(y0)>1E-10)
if(y0>0)
x2=x0;
y2=(20.384E+06)*(x2.^(-0.2))+(735.392E+06)*(x2.^(-0.98))-XY;
else
x1=x0;
y1=(20.384E+06)*(x1.^(-0.2))+(735.392E+06)*(x1.^(-0.98))-XY;
end
x0=(x1+x2)/2;
y0=(20.384E+06)*(x0.^(-0.2))+(735.392E+06)*(x0.^(-0.98))-XY;
end
%****************************************************
x0
在方程求解中,对应XY的值
XY=0.164984207E+07;
XY=0.205921093E+07;
XY=0.257842948E+07;
第一个和第三个都能求解出x0,而第二个却不能求解。Matlab中始终显示“busy”,请帮忙指出错误所在!谢谢!
页:
[1]