Лабораторная работа №2
Вычисление корня функции
Методом хорд и методом половинного деления
Цель работы: найти корень функции методом хорд и методом половинного деления.
Приборы и оборудование:
персональный компьютер
математический пакет MathCad
среда разработки: MS Visual Studio 2008 С++.
Выполнение работы
Задание 1: Вычислить корень функции методом половинного деления.
Функция:
Начало |
ввод a,b, epsilon |
abs(b-a)>epsilon |
c=(b-a)/2+a, d=f(a)*f(c) |
d≤0 |
а=с |
b=c |
нет да
конец |
Вывод результата С |
// double.cpp: Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
double f (double);
int main(void)
{ double a,b,c,d,x, eps;
printf ("Vvod b, a, eps\n");
scanf("%le%le%le", &b, &a, &eps);
while ((b-a)>eps)
{ c=(a+b)/2;
d=f(a)*f(c);
if (d>0) a=c;
else b=c;
}
x=(a+b)/2;
printf ("korenb = %15.5le\n", x);
scanf ("%le%", &a);
return 0;
}
double f (double x)
{return pow(pow(exp(x)+exp(-x),0.5)+pow(exp(2*x)+exp(-2*x),0.5),1/exp(x))/(sin(x)+cos(2*x)+exp(pow(x*x+x,0.5)))-0.75;}
Вывод: при нахождении корня методом половинного деления на промежутке между 0 и 2 корень получился 3.03