Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаба 6 MDP [Вариант 1]

.doc
Скачиваний:
15
Добавлен:
15.06.2014
Размер:
74.24 Кб
Скачать

Условие задачи:

Текст программы:

#include <iostream.h>

#include <iomanip.h>

#include <math.h>

#include <stdio.h>

#include <stdlib.h>

double X;

int a,b;

double f(double x)

{

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

}

double MDP(double A,double B,double h)

{

double e=0.0001,x1,x2,x3,y1,y2,y3,v,X;

x1=A;

x2=B;

y1=f(x1);

do

{

x3=(x1+x2)/2;

y3=f(x3);

v=y1*y3;

if(v>0)

{

x1=x3;

y1=y3;

}

else

{

x2=x3;

y2=y3;

}

} while ((x2-x1)>e);

X=(x1+x2)/2;

return X;

}

int main()

{

double h,m,z[100],y,u;

int i;

cout<<"Vvedite m=";

cin>>m;

cout<<"Vvedite a=";

cin>>a;

cout<<"Vvedite b=";

cin>>b;

h=(b-a)/m;

X=a;

printf("Znaenia Funkcii \n");

printf("X\t\tY\n");

y=f(X);

printf("%5.4f\t\t%5.4f\n",X,y);

X+=h;

u=y;

for(i=1;X<b;)

{

y=f(X);

printf("%5.4f\t\t%5.4f\n",X,y);

if((u>0 && y<0) || (u<0 && y>0))

{

z[i]=MDP(X-h,X,h);

i++;

}

X+=h;

u=y;

}

u=i-1;

for(i=1;i<=u;i++) cout<<endl<<"X"<<i<<"="<<z[i]<<endl;

return 0;

}

Результат работы программы:

Вывод: В данной лабараторной работе я разобрался в методах нахождения локального минимума любой функции средствами Си.

Соседние файлы в предмете Основы алгоритмизации и программирования