用对分法解超越方程
范例:用对分法求方程http://latex.codecogs.com/gif.latex?%5Cinline%20e%5E%7Bx%7D+10x-2%3D0在(0,1)内的根,要求误差不超过0.1;求解程序如下:clear;clc;close
% n=input('请输入迭代次数:');
% qujian=input('请输入初始区间:');
n=100;
wucha=0.005;
qujian=;
a(1)=qujian(1);
b(1)=qujian(2);
a0=a(1);
b0=b(1);
x=qujian;
y=exp(x)+10*x-2;
y1=y(1); %小于0
y2=y(2); %大于0
for i=1:n %总迭代次数
c(i)=(a+b)/2;
f(i)=exp(c(i))+10*(c(i))-2;
kesai_k(i)=(b-a)/2;
if f(i)>0
b=c(i);
b1(i)=c(i);
a1(i)=a;
elseif f(i)<0
a=c(i);
a1(i)=c(i);
b1(i)=b;
elseif f(i)==0||kesai_k(i)<=wucha
disp('精确值解为:');
disp(c(i));
break;
end
end
disp('迭代次数:');
fprintf('%d次\n\n',n);
fprintf('要求误差%f\n\n',wucha);
disp('输出矩阵为:');
A=';
B=';
format long
data_out=
xlswrite('二分法处理数据.xls',data_out);结果输出情况:精确值解为:
0.0905
迭代次数:
100次
要求误差0.005000
输出矩阵为:
data_out =
0 1.000000000000000 0.500000000000000 4.648721270700128 0.500000000000000
0 0.500000000000000 0.250000000000000 1.784025416687741 0.250000000000000
0 0.250000000000000 0.125000000000000 0.383148453066826 0.125000000000000
0 0.125000000000000 0.062500000000000 -0.310505541082140 0.062500000000000
0.062500000000000 0.125000000000000 0.093750000000000 0.035785140307826 0.031250000000000
0.062500000000000 0.093750000000000 0.078125000000000 -0.137492192550960 0.015625000000000
0.078125000000000 0.093750000000000 0.085937500000000 -0.050886782461907 0.007812500000000
0.085937500000000 0.093750000000000 0.089843750000000 -0.007559167670695 0.003906250000000
0.089843750000000 0.093750000000000 0.091796875000000 0.014110895592678 0.001953125000000
0.089843750000000 0.091796875000000 0.090820312500000 0.003275341789827 0.000976562500000
0.089843750000000 0.090820312500000 0.090332031250000 -0.002142043419492 0.000488281250000
0.090332031250000 0.090820312500000 0.090576171875000 0.000566616557439 0.000244140625000
0.090332031250000 0.090576171875000 0.090454101562500 -0.000787721586963 0.000122070312500
0.090454101562500 0.090576171875000 0.090515136718750 -0.000110554553871 0.000061035156250
0.090515136718750 0.090576171875000 0.090545654296875 0.000228030491991 0.000030517578125
0.090515136718750 0.090545654296875 0.090530395507813 0.000058737841614 0.000015258789063
0.090515136718750 0.090530395507813 0.090522766113281 -0.000025908387990 0.000007629394531
0.090522766113281 0.090530395507813 0.090526580810547 0.000016414718847 0.000003814697266
0.090522766113281 0.090526580810547 0.090524673461914 -0.000004746836563 0.000001907348633
0.090524673461914 0.090526580810547 0.090525627136230 0.000005833940644 0.000000953674316
0.090524673461914 0.090525627136230 0.090525150299072 0.000000543551916 0.000000476837158
0.090524673461914 0.090525150299072 0.090524911880493 -0.000002101642354 0.000000238418579
0.090524911880493 0.090525150299072 0.090525031089783 -0.000000779045227 0.000000119209290
0.090525031089783 0.090525150299072 0.090525090694427 -0.000000117746657 0.000000059604645
0.090525090694427 0.090525150299072 0.090525120496750 0.000000212902629 0.000000029802322
0.090525090694427 0.090525120496750 0.090525105595589 0.000000047577986 0.000000014901161
0.090525090694427 0.090525105595589 0.090525098145008 -0.000000035084336 0.000000007450581
0.090525098145008 0.090525105595589 0.090525101870298 0.000000006246825 0.000000003725290
0.090525098145008 0.090525101870298 0.090525100007653 -0.000000014418755 0.000000001862645
0.090525100007653 0.090525101870298 0.090525100938976 -0.000000004085965 0.000000000931323
0.090525100938976 0.090525101870298 0.090525101404637 0.000000001080430 0.000000000465661
0.090525100938976 0.090525101404637 0.090525101171806 -0.000000001502767 0.000000000232831
0.090525101171806 0.090525101404637 0.090525101288222 -0.000000000211169 0.000000000116415
0.090525101288222 0.090525101404637 0.090525101346429 0.000000000434631 0.000000000058208
0.090525101288222 0.090525101346429 0.090525101317326 0.000000000111731 0.000000000029104
0.090525101288222 0.090525101317326 0.090525101302774 -0.000000000049719 0.000000000014552
0.090525101302774 0.090525101317326 0.090525101310050 0.000000000031006 0.000000000007276
0.090525101302774 0.090525101310050 0.090525101306412 -0.000000000009357 0.000000000003638
0.090525101306412 0.090525101310050 0.090525101308231 0.000000000010825 0.000000000001819
0.090525101306412 0.090525101308231 0.090525101307321 0.000000000000734 0.000000000000909
0.090525101306412 0.090525101307321 0.090525101306866 -0.000000000004311 0.000000000000455
0.090525101306866 0.090525101307321 0.090525101307094 -0.000000000001789 0.000000000000227
0.090525101307094 0.090525101307321 0.090525101307207 -0.000000000000527 0.000000000000114
0.090525101307207 0.090525101307321 0.090525101307264 0.000000000000103 0.000000000000057
0.090525101307207 0.090525101307264 0.090525101307236 -0.000000000000212 0.000000000000028
0.090525101307236 0.090525101307264 0.090525101307250 -0.000000000000054 0.000000000000014
0.090525101307250 0.090525101307264 0.090525101307257 0.000000000000025 0.000000000000007
0.090525101307250 0.090525101307257 0.090525101307254 -0.000000000000015 0.000000000000004
0.090525101307254 0.090525101307257 0.090525101307255 0.000000000000005 0.000000000000002
0.090525101307254 0.090525101307255 0.090525101307255 -0.000000000000005 0.000000000000001
0.090525101307255 0.090525101307255 0.090525101307255 0 0.000000000000000
页:
[1]