Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»
Кафедра МО ЭВМ
Вычислительная математика
Отчет
по выполнению лабораторной работы N4
Преподаватель: Щеголева Н.Л.
Студент группы 4351: Усенко А.В.
Санкт-Петербург, 2006
Постановка задачи
Необходимо исследовать обусловленность задачи нахождения корня уравнения для нелинейной функции (Вариант 16). Значение корня х вычисляется с помощью метода хорд. Функция вычисляется приближенно, с точностью Delta, варьируемой в пределах от 0.1 до 0.000001. Корень уравнения вычисляется с заданной точностью Eps, варьируемой от 0.1 до 0.000001. Вычисления провести для различных наборов параметров Delta, Eps. Теоретически и экспериментально исследовать скорость сходимости и обусловленность метода.
Общие сведения
Пусть найден отрезок [a, b], на котором функция меняет знак. Для определенности положим (a)>0, (b)<0. В методе хорд процесс итераций состоит в том, что в качестве приближений к корню уравнения принимаются значения x0, x1, . . . точек пересечения хорды с осью абсцисс, как это показано на рис.1.
Сначала находится уравнение хорды АВ:
Для точки пересечения ее с осью абсцисс (x=c0, y=0) получается уравнение
Далее сравниваются знаки величин (a) и (x0) и для рассматриваемого случая оказывается, что корень находится в интервале (a, x0), так как (a)(x0)<0. Отрезок [x0,b] отбрасывается. Следующая итерации состоит в определении нового приближения c1 как точки пересечения хорды АВ1 с осью абсцисс и т.д. Итерационный процесс продолжается до тех пор, пока значение (xn) не станет по модулю меньше заданного числа .
Анализ задачи
По графику функции можно произвести отделение корня.
График функции:
Возьмем начальные границы интервала [0;1].
Теоретическое абсолютное число обусловленности . Погрешность вычисления корня определяется по формуле: . Если практическая погрешность вычисления корня больше или равна теоретический, то задача хорошо обусловлена, иначе плохо обусловлена.
Функция:
Производная:
Исходный текст программы
/*
Файл: Lr_4.cpp
Автор: Усенко А.В.
Ред. 1.0 06.10.06
*/
#include <iostream.h>
#include <math.h>
#include <conio.h>
#include <fstream.h>
#include "methods.h"
// Global variables
double F(double); // Function
double F1(double); // Derivative
ofstream f_out; // Output data file
char out_path[11]="output.txt"; // Output file name
double delta=0.1, // function calculating error
eps=0.1, // output data error
eps_theor=0; // Theoretical eps value
double a=0,b=1; // interval borders
void main()
{
clrscr();
double func_val, // value of function
x; // value of root
int n; // number of iterations
// file opening
f_out.open(out_path);
if (f_out.fail())
{
cout<<"Impossible to open output file!"<<endl;
exit(1);
}
f_out.setf(ios::fixed);
f_out.setf(ios::showpoint);
/* Calculating & table printing */
delta=0.1;
for (int j=1; j<=6; j++)
{
f_out.precision(j);
f_out<<"Delta = "<<delta<<endl;
eps=0.1;
f_out<<"Eps\t\t"<<"X\t\t"<<"F(x)\t\t"<<"N\t"<<"Eps_Theor\t"<<"Condit\n";
for (int i=1; i<=6; i++)
{
f_out.precision(i);
x=HORDA(a,b,eps,n);
f_out<<eps<<"\t"; if (i<6) {f_out<<"\t";};
f_out<<x<<"\t"; if (i<6) {f_out<<"\t";};
f_out.precision(j);
f_out<<F(x)<<"\t"; if ( (j<6) && !((j==5)&&(F(x)<0)) ) {f_out<<"\t";};
f_out<<n<<"\t";
eps_theor=delta/fabs(F1(x));
f_out.precision(6);
f_out<<eps_theor<<"\t";
if (eps>=eps_theor) {f_out<<"good\n";}
else {f_out<<"bad\n";}
eps = eps/10;
}
f_out<<endl<<endl;
delta = delta/10;
}
f_out.close();
cout<<"Program finished. Press <Enter>...";
getch();
return;
}
// Function definition
double F(double x)
{
extern double delta;
double s;
s = asin(2*x/(1+x*x))-exp(-x*x);
return Round(s,delta);
}
// Derivative definition
double F1(double x)
{
double s;
s=(2-4*x*x)/((1+x*x)*sqrt(1-4*x*x/pow((1+x*x),2))) + 2*x*exp(-x*x);
return s;
}
Результаты вычислений
В следующей таблице представлены результаты вычисления корня при различных комбинациях параметров Eps, Delta. Также представлены сравнения теоретических и экспериментальных значений абсолютного числа обусловленности.
Delta = 0.1
Eps X F(x) F'(x) N Eps_Theor Condit
0.1 0.5 0.0 2.2 1 0.045455 good
0.01 0.45 0.0 2.2 1 0.045455 bad
0.001 0.455 0.0 2.2 1 0.045455 bad
0.0001 0.4545 0.0 2.2 1 0.045455 bad
0.00001 0.45455 0.0 2.2 1 0.045455 bad
0.000001 0.454545 0.0 2.2 1 0.045455 bad
Delta = 0.01
Eps X F(x) F'(x) N Eps_Theor Condit
0.1 0.5 0.04 2.22 1 0.004505 good
0.01 0.44 0.00 2.25 2 0.004444 good
0.001 0.437 0.00 2.25 2 0.004444 bad
0.0001 0.4371 0.00 2.25 2 0.004444 bad
0.00001 0.43706 0.00 2.25 2 0.004444 bad
0.000001 0.437063 0.00 2.25 2 0.004444 bad
Delta = 0.001
Eps X F(x) F'(x) N Eps_Theor Condit
0.1 0.5 0.038 2.220 1 0.000450 good
0.01 0.44 -0.001 2.249 2 0.000445 good
0.001 0.438 0.000 2.249 3 0.000445 good
0.0001 0.4377 0.000 2.249 3 0.000445 bad
0.00001 0.43773 0.000 2.249 3 0.000445 bad
0.000001 0.437735 0.000 2.249 3 0.000445 bad
Delta = 0.0001
Eps X F(x) F'(x) N Eps_Theor Condit
0.1 0.5 0.0385 2.2197 1 0.000045 good
0.01 0.44 -0.0019 2.2498 2 0.000044 good
0.001 0.438 0.0000 2.2485 3 0.000044 good
0.0001 0.4379 0.0000 2.2485 3 0.000044 good
0.00001 0.43791 0.0000 2.2485 3 0.000044 bad
0.000001 0.437909 0.0000 2.2485 3 0.000044 bad
Delta = 0.00001
Eps X F(x) F'(x) N Eps_Theor Condit
0.1 0.5 0.03848 2.21972 1 0.000005 good
0.01 0.44 -0.00188 2.24977 2 0.000004 good
0.001 0.438 0.00000 2.24847 3 0.000004 good
0.0001 0.4379 0.00000 2.24847 3 0.000004 good
0.00001 0.43791 0.00000 2.24847 3 0.000004 good
0.000001 0.437906 0.00000 2.24847 3 0.000004 bad
Delta = 0.000001
Eps X F(x) F'(x) N Eps_Theor Condit
0.1 0.5 0.038477 2.219724 1 0.000000 good
0.01 0.44 -0.001878 2.249764 2 0.000000 good
0.001 0.438 0.000001 2.248467 3 0.000000 good
0.0001 0.4379 0.000001 2.248467 3 0.000000 good
0.00001 0.43791 0.000001 2.248467 3 0.000000 good
0.000001 0.437907 0.000000 2.248467 4 0.000000 good
Далее представлена таблица, иллюстрирующая сходимость метода хорд.
Delta 0.100000000
Eps 0.100000000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.454545455 0.545454545 0.029601711
/------------------------------/
Delta 0.100000000
Eps 0.010000000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.454545455 0.545454545 0.029601711
/------------------------------/
Delta 0.100000000
Eps 0.001000000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.454545455 0.545454545 0.029601711
/------------------------------/
Delta 0.100000000
Eps 0.000100000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.454545455 0.545454545 0.029601711
/------------------------------/
Delta 0.100000000
Eps 0.000010000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.454545455 0.545454545 0.029601711
/------------------------------/
Delta 0.100000000
Eps 0.000001000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.454545455 0.545454545 0.029601711
/------------------------------/
Delta 0.010000000
Eps 0.100000000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.454545455 0.545454545 0.029601711
/------------------------------/
Delta 0.010000000
Eps 0.010000000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.454545455 0.545454545 0.029601711
2 0.454545455 0.437062937 0.017482517 0.050699701
/------------------------------/
Delta 0.010000000
Eps 0.001000000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.454545455 0.545454545 0.029601711
2 0.454545455 0.437062937 0.017482517 0.050699701
/------------------------------/
Delta 0.010000000
Eps 0.000100000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.454545455 0.545454545 0.029601711
2 0.454545455 0.437062937 0.017482517 0.050699701
/------------------------------/
Delta 0.010000000
Eps 0.000010000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.454545455 0.545454545 0.029601711
2 0.454545455 0.437062937 0.017482517 0.050699701
/------------------------------/
Delta 0.010000000
Eps 0.000001000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.454545455 0.545454545 0.029601711
2 0.454545455 0.437062937 0.017482517 0.050699701
/------------------------------/
Delta 0.001000000
Eps 0.100000000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453926464 0.546073536 0.028500488
/------------------------------/
Delta 0.001000000
Eps 0.010000000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453926464 0.546073536 0.028500488
2 0.453926464 0.437308732 0.016617732 0.037315605
/------------------------------/
Delta 0.001000000
Eps 0.001000000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453926464 0.546073536 0.028500488
2 0.453926464 0.437308732 0.016617732 0.037315605
3 0.437308732 0.437734828 0.000426096 0.287219484
/------------------------------/
Delta 0.001000000
Eps 0.000100000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453926464 0.546073536 0.028500488
2 0.453926464 0.437308732 0.016617732 0.037315605
3 0.437308732 0.437734828 0.000426096 0.287219484
/------------------------------/
Delta 0.001000000
Eps 0.000010000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453926464 0.546073536 0.028500488
2 0.453926464 0.437308732 0.016617732 0.037315605
3 0.437308732 0.437734828 0.000426096 0.287219484
/------------------------------/
Delta 0.001000000
Eps 0.000001000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453926464 0.546073536 0.028500488
2 0.453926464 0.437308732 0.016617732 0.037315605
3 0.437308732 0.437734828 0.000426096 0.287219484
/------------------------------/
Delta 0.000100000
Eps 0.100000000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453947070 0.546052930 0.028537147
/------------------------------/
Delta 0.000100000
Eps 0.010000000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453947070 0.546052930 0.028537147
2 0.453947070 0.437118026 0.016829044 0.049156687
/------------------------------/
Delta 0.000100000
Eps 0.001000000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453947070 0.546052930 0.028537147
2 0.453947070 0.437118026 0.016829044 0.049156687
3 0.437118026 0.437909491 0.000791465 0.003760236
/------------------------------/
Delta 0.000100000
Eps 0.000100000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453947070 0.546052930 0.028537147
2 0.453947070 0.437118026 0.016829044 0.049156687
3 0.437118026 0.437909491 0.000791465 0.003760236
/------------------------------/
Delta 0.000100000
Eps 0.000010000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453947070 0.546052930 0.028537147
2 0.453947070 0.437118026 0.016829044 0.049156687
3 0.437118026 0.437909491 0.000791465 0.003760236
/------------------------------/
Delta 0.000100000
Eps 0.000001000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453947070 0.546052930 0.028537147
2 0.453947070 0.437118026 0.016829044 0.049156687
3 0.437118026 0.437909491 0.000791465 0.003760236
/------------------------------/
Delta 0.000010000
Eps 0.100000000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453942948 0.546057052 0.028529815
/------------------------------/
Delta 0.000010000
Eps 0.010000000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453942948 0.546057052 0.028529815
2 0.453942948 0.437122476 0.016820473 0.048891838
/------------------------------/
Delta 0.000010000
Eps 0.001000000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453942948 0.546057052 0.028529815
2 0.453942948 0.437122476 0.016820473 0.048891838
3 0.437122476 0.437905986 0.000783511 0.000688163
/------------------------------/
Delta 0.000010000
Eps 0.000100000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453942948 0.546057052 0.028529815
2 0.453942948 0.437122476 0.016820473 0.048891838
3 0.437122476 0.437905986 0.000783511 0.000688163
/------------------------------/
Delta 0.000010000
Eps 0.000010000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453942948 0.546057052 0.028529815
2 0.453942948 0.437122476 0.016820473 0.048891838
3 0.437122476 0.437905986 0.000783511 0.000688163
/------------------------------/
Delta 0.000010000
Eps 0.000001000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453942948 0.546057052 0.028529815
2 0.453942948 0.437122476 0.016820473 0.048891838
3 0.437122476 0.437905986 0.000783511 0.000688163
/------------------------------/
Delta 0.000001000
Eps 0.100000000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453943567 0.546056433 0.028530915
/------------------------------/
Delta 0.000001000
Eps 0.010000000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453943567 0.546056433 0.028530915
2 0.453943567 0.437124334 0.016819233 0.048774093
/------------------------------/
Delta 0.000001000
Eps 0.001000000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453943567 0.546056433 0.028530915
2 0.453943567 0.437124334 0.016819233 0.048774093
3 0.437124334 0.437907050 0.000782716 0.000670251
/------------------------------/
Delta 0.000001000
Eps 0.000100000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453943567 0.546056433 0.028530915
2 0.453943567 0.437124334 0.016819233 0.048774093
3 0.437124334 0.437907050 0.000782716 0.000670251
/------------------------------/
Delta 0.000001000
Eps 0.000010000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453943567 0.546056433 0.028530915
2 0.453943567 0.437124334 0.016819233 0.048774093
3 0.437124334 0.437907050 0.000782716 0.000670251
/------------------------------/
Delta 0.000001000
Eps 0.000001000
N X(i-1) X(i) |X(i)-X(i-1)| |(X(i)-X)/(X(i-1)-X)|
1 1.000000000 0.453943567 0.546056433 0.028530915
2 0.453943567 0.437124334 0.016819233 0.048774093
3 0.437124334 0.437907050 0.000782716 0.000670251
4 0.437907050 0.437906633 0.000000417 0.205440400
/------------------------------/
Теоретически метод хорд сходится линейно, что и можно наблюдать в таблице.
, где c = const ≈ , 0<c<1. В нашем случае c не превышает 0.3. В общем случае константа с зависит от вида функции (значения первой производной в σ-окрестности корня).
Вывод
Как видно из результатов вычислений, задача хорошо обусловлена в случаях, когда требуемая погрешность результата меньше или равна погрешности входных данных. Необходимое количество итераций повышается с увеличением точности входных данных. Для достижения тех же результатов методу хорд потребовалось намного меньше итераций, чем методу бисекции. При малых погрешностях число итераций по сравнению с методом бисекции сократилось в 5 раз. Экспериментальная сходимость метода хорд, как и теоретическая, имеет линейный характер.