Содержание
Содержание. 1
Используемая литература. 1
Метод Ньютона (касательных). 2
Описание. 2
Блок-схема алгоритма. 3
Листинг программы.. 4
Результаты работы программы.. 6
Пример №1. 6
Пример №2. 6
Пример №3. 7
Метод итераций. 8
Блок-схема алгоритма. 8
Листинг программы.. 9
Результаты работы программы.. 11
Пример №1. 11
Пример №2. 11
Пример №3. 12
Используемая литература
1. http://www.kyshtym.net.ru/rww/ Учимся программировать на С++
2. http://www.sprin.ru/soft.php Решение линейных уравнений методом Ньютона (касательных)
Метод Ньютона (касательных).
В рамках метода Ньютона предполагается, что функция дифференцируема. Согласно этому методу строится линейная аппроксимация функции в начальной точке, а точка, в которой аппроксимирующая линейная функция обращается в нуль, принимается в качестве следующего приближения.
Итерационый процесс схождения к корню реализуется формулой:
xn+1 =xn -f(xn )/f '(xn ). Вычисления продолжаются пока соблюдается условие
|xn+1 -xn |>=eps.
В зависимости от выбора начальной точки и вида функции алгоритм по методу Ньютона может как сходиться к корню уравнения, так и расходиться.
Ниже приведена блок-схема алгоритма и листинг программы, реализующей данный алгоритм на языке С++. Также привожу текст, которая выдает данная программа при решении исходного уравнения.
//метод Ньютона для решения кубических уравнений
#include<math.h>
#include<iostream.h>
double a[4]={0},
b[3]={0},
c[2]={0},
prec=0.00000;
double minim=0, maxim=0;
void Hello(void);
void Input();
void Derivative();
void Calculation();
double Calc_Fun(double);
double Calc_First(double);
double Calc_Second(double);
main(void)
{
Hello();
Input();
Derivative();
Calculation();
return 0;
}
void Hello(void)
{
cout<<"Программа для решения кубических уравнений методом касательных (метод Ньютона).nn";
}
void Input()
{
cout<<"Кубическое уравнение имеет вид"<<endl
<<"a1*x^3+a2*x^2+a3*x+a4=0"<<endl<<endl;
for (int i=0;i<4;i++)
{
cout<<"Введите значение коэффициента a["<<i+1<<"] : ";
cin>>a[i];
}
cout<<endl<<"Необходимо указать интервал поиска решения."<<endl
<<"Введите нижнюю границу поиска : ";
cin>>minim;
cout<<"Введите верхнюю границу поиска : ";
cin>>maxim;
while(minim==maxim||minim>maxim)
{
cout<<"nНижняя граница должна быть меньше верхней и не может быть ей равна."<<endl
<<"Повторите ввод нижней границы : ";
cin>>minim;
cout<<"Повторите ввод верхней границы : ";
cin>>maxim;
}
cout<<"Введите допустимую погрешность : ";
cin>>prec;
}
void Derivative()
{
b[0]=a[0]*3;
b[1]=a[1]*2;
b[2]=a[2];
c[0]=b[0]*2;
c[1]=b[1];
cout<<"nnn"
<<"Исходное уравнение имеет вид : nn"
<<a[0]<<"x^3+("<<a[1]<<")x^2+("<<a[2]<<")x+("<<a[3]<<")=0nn"
<<"Первая производная имеет вид : nn"
<<"f'(x)="<<b[0]<<"x^2+("<<b[1]<<")x+("<<b[2]<<")nn"
<<"Вторая производная имеет вид : nn"
<<"f''(x)="<<c[0]<<"x+("<<c[1]<<")nn";
}
void Calculation()
{
double x=0, m=0;
cout<<"-------------------------------------------------"<<endl
<<"| Xn | f(Xn) | |f(Xn)|/m |"<<endl
<<"-------------------------------------------------"<<endl;
if (abs(Calc_Fun(minim))*abs(Calc_Second(minim))>0) x=minim;
else x=maxim;
if (Calc_First(minim)>Calc_First(maxim)) m=abs(Calc_First(maxim));
else m=abs(Calc_First(minim));
cout<<"|";
cout.width(15);cout.precision(10);
cout<<x;
cout<<"|";
cout.width(15);cout.precision(10);
cout<<Calc_Fun(x);
cout<<"|";
cout.width(15);cout.precision(10);
cout<<(fabs(Calc
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.