Скачиваний:
52
Добавлен:
15.06.2014
Размер:
38.78 Кб
Скачать

/*

Трацевский Никита Андреевич, группа 243302

Лабораторная работа №6

Тема: МЕТОДЫ НАХОЖДЕНИЯ МИНИМУМА ФУНКЦИИ ОДНОЙ ПЕРЕМЕННОЙ

Вариант 1

*/

Консольный режим.

Код программы:

#include <vcl.h>

#include <conio.h>

#include <math.h>

#include <iostream.h>

#pragma hdrstop

double F(double x)

{

return x - 7 * pow (sin(x),2);

}

double MDP ( double alfa, double beta, double e)

{

cout << "Введите начально приближение (alfa, beta):"<<endl;

cout << "Alfa = ";

cin >> alfa;

cout <<"Beta = ";

cin >> beta;

cout << endl;

do

{

double x1 = (alfa + beta - e)/2;

double x2 = (alfa + beta + e)/2;

double y1 = F(x1);

double y2 = F(x2);

if ( y1 > y2)

alfa = x1;

else

beta = x2;

}

while (fabs(beta - alfa) / 2 < 2*e);

return (alfa + beta) / 2;

}

#pragma argsused

int main(int argc, char* argv[])

{

SetConsoleOutputCP(1251);

SetConsoleCP(1251);

double a, b, m, h, x, y;

double alfa, beta, e;

cout << " Начало интервала (а): ";

cin >> a;

cout << " Конец интервала (b): ";

cin >> b;

cout << " Количество выводимых точек (m): ";

cin >> m;

cout << " Погрешность (e): ";

cin >> e;

double ht = (b - a) / m;

x = a;

do

{

y = F(x);

cout <<"При Х ="<< x << " У = " <<y <<endl;

x = x + ht;

}

while (x < b);

cout <<"Координаты локального минимума"<<endl;

for (int i =0; i<3; i++)

{

double z = MDP (alfa, beta, e);

cout << "Координата Х " << z << " Координата У " << F(z)<<endl;

}

getch();

}

Скриншот работоспособности программы:

Соседние файлы в папке Лаба 1-6 ОАИП, 2сем, 1 курс [Вариант 1]