Постановка задачи, Основные сведения - Комплексное исследование численных методов для задачи решения нелинейных уравнений
Провести комплексное исследование численных методов для задачи решения нелинейных уравнений.
- 1. Решить нелинейные уравнения А) ; Б) ; В) . 2. Использовать для решения А) метод золотого сечения; Б) метод дихотомии; В) метод простых итераций. 3. Общее оформление пояснительной записки.
Основные сведения
В методе простых итераций исходное уравнение заменяется на, далее, задаваясь некоторым начальным приближением, каждое следующее приближение находят по формуле. Сходимость метода простой итерации будет существенно зависеть от того, насколько удачно выбрана заменяющая функция.
Метод дихотомии требует задания интервала перемены знака функции - , вычисления значений функции на концах интервала и в его средней точке. Для дальнейших вычислений сохранить ту половину отрезка, на концах которого имеет разные знаки. Вычисления завершаются, если для какого-либо k выполняется.
Золотое сечение, открытое Евклидом, состоит в разбиении интервала (a;b). Точкой на две части таким образом, чтобы отношение длины всего интервала к большей части было равно отношению большей части к меньшей: Легко проверить, что золотое сечение производят две точки:
X1=a+(1-t)(b-a)
X2=a+t(b-a)
При t=0.618.
Алгоритм метода золотого сечения следующий:
- 1) вычисляют значения x1 и x2; 2) вычисляют f(x1) и f(x2); 3) если f(x1) < f(x2) , то для дальнейшего деления оставляют интервал [a;x2]; 4) если f(x1) > f(x2), то для дальнейшего деления оставляют интервал[x1;b].
Процесс деления продолжают до тех пор, пока длина интервала неопределенности не станет меньше заданной точности.
Точка производящая золотое сечение интервала, точка - интервала. Поэтому на оставшемся интервале нужно определить только одну точку, производящую золотое сечение.
3.1 Решение уравнения
Метод дихотомии.
Программа для решения данным методом написана на языке программирования С++. Для поиска интервалов х, в которых функция имеет разные знаки задается цикл, поиск производится начиная с х=0.00001 и продолжается до х=100. (Так как lg(x) - функция, аргумент х которой не может принимать отрицательные значения и не может быть равен нулю.).
Листинг 1. - решение уравнения методом дихотомии.
//прога решает нелинейное уравнение методом дихотомии
#include<stdlib. h>
#include<iostream. h>
#include<conio. h>
#include<math. h>
Int main()
{
Clrscr();
Double x, x1,y, y1,X[5],Y[5],s;
Int n, i;
Char l;
X=0.00001;//задаем начальное приближение
Y=2*x+log10(x)+0.5;
N=1;
Cout. setf(ios::fixed);//флаг вывода чисел в формате с фиксированной запятой
Cout. setf(ios::showpoint);
Cout. precision(10);// вывод чисел с пятью знаками после запятой
For(x1=0.00001;x1<=100;x1++)//начинаем проверку графика на интервалы в которых функция имеет разные знаки с шагом 1
{
Y1=2*x1+log10(x1)+0.5;
If((y*y1)<0)
{
X[n]=x1;//если знак функции меняется, то записываем данную точку в массив
Y[n]=y1;
Cout << "X[" << n << "]=" << X[n] << endl;
Cout << "Y[" << n << "]=" << Y[n] << endl;
N++;
}
Y=y1;
X=x1;
}
X[0]=(X[1]-1);//инициализируем первую точку
Y[0]=2*X[0]+log10(X[0])+0.5;
N=1;
Double X1[]={X[0], X[1], X[1], X[2]};//инициализируем массив, удобный для работы
Double Y1[]={Y[0], Y[1], Y[1], Y[2]};
Do//цикл вычисления корня
{
X=(X1[0]+X1[1])/2;
Y=2*x+log10(x)+0.5;
If((Y1[0]*y)>0)//заменяем границы интервала
{
X1[0]=x;
Y1[0]=y;
}
Else
{
X1[1] = x;
Y1[1] = y;
}
N++;
S=y;
}while(fabs(s)>0.000001);//задаем точность
Cout << "x1="<< x << "" <<"n1=" << n <<endl;//выведем полученное решение и количество итераций
Cout << "s=" << s << endl;
S=n=1;
Getch();
Return 0;
}
Результаты работы программы.
X[1]=1.0000100000
Y[1]=2.5000243429
X1=0.1549310548n1=22
S=0.0000005874
Как мы видим данное уравнение имеет один корень х=0.1549310548.
В программе задавалась точность решения задачи до шестого знака после запятой. При подстановке данного значения х в уравнение мы получили значение s=0.0000005874, то есть практически равное нулю, с заданной нами точностью.
Из графика функции, построенного в Mathcad видно, что уравнение имеет один корень, примерно в заданном промежутке:
Рассчитаем абсолютную погрешность вычислений:
Так как мы в программе задали высокую точность, то и погрешность вычислений весьма мала. Для достижения такой точности понадобилось 22 итерации цикла.
Метод простых итераций.
Для вычисления корней уравнения данным методом необходимо правильно подобрать функцию, по которой мы будем находить значения х так, чтобы ряд сходился. Для данного уравнения такой функцией будет:
Проверку точности вычислений будем проводить подстановкой найденного в каждой итерации хi в заданное уравнение и проверкой на равенство нулю.
Листинг 2. - Программа на языке С++ для решения уравнения методом простых итераций.
#include<iostream. h>
#include<conio. h>
#include<math. h>
Int main()
{
Clrscr();
Long double x, x1, y=1;
Int n=1;
X=1;
Do//цикл вычисления корня
{
X1=pow(10,(-2*x-0.5));//находим хi
X=x1;//заменяем для следующего цикла
Y=2*x+log10(x)+0.5;//проверяем на равенство нулю
N++;//счетчик циклов
}while(fabs(y)>0.0001);//задаем точность
Cout << "x=" << x << " y=" << y << "n=" << n << endl;
Getch();
Return 0;
}
Результаты работы программы:
X=0.154929
Y=-8.480816e-06n=36
Как мы видим ответ получился такой же, как и в методе дихотомии с заданной точностью 0.00001. Отсюда погрешность вычислений будет равна:
В данном методе нам понадобилось больше циклов для достижения заданной точности.
Метод золотого сечения.
В данном методе, как и в методе дихотомии мы сначала проверяем функцию на интервалы, в которых знак ее меняется, начиная с х=0.00001. Точность вычислений находим как модуль разности х1 и х2 .
Листинг 3. - Программа на языке С++ для решения уравнений методом золотого сечения.
//прога решает нелинейное уравнение методом золотого сечения
#include<stdlib. h>
#include<iostream. h>
#include<conio. h>
#include<math. h>
Int main()
{
Clrscr();
Double x, x1,x2,y, y1,y2,X[5],Y[5],s, t;
Int n, i;
Char l;
T=0.618;
X=0.00001;
Y=2*x+log10(x)+0.5;
N=1;
Cout. setf(ios::fixed);//флаг вывода чисел в формате с фиксированной запятой
Cout. setf(ios::showpoint);
Cout. precision(10);// вывод чисел с пятью знаками после запятой
For(x1=0.00001;x1<=100;x1++)//начинаем проверку графика на интервалы в которых функция имеет разные знаки с шагом 1
{
Y1=2*x1+log10(x1)+0.5;
If((y*y1)<0)
{
X[n]=x1;//если знак функции меняется, то записываем данную точку в массив
Y[n]=y1;
Cout << "X[" << n << "]=" << X[n] << endl;
Cout << "Y[" << n << "]=" << Y[n] << endl;
N++;
}
Y=y1;
X=x1;
}
X[0]=(X[1]-1);//инициализируем первую точку
Y[0]=2*X[0]+log10(X[0])+0.5;
N=1;
Double X1[]={X[0], X[1], X[1], X[2], X[2], X[3], X[3], X[4]};//инициализируем массив, удобный для работы
Double Y1[]={Y[0], Y[1], Y[1], Y[2], Y[2], Y[3], Y[3], Y[4]};
Do//цикл вычисления корня
{
X1=X1[0]+(1-t)*(X1[1]-X1[0]);
X2=X1[0]+t*(X1[1]-X1[0]);
Y1=2*x1+log10(x1)+0.5;
Y2=2*x2+log10(x2)+0.5;
If(fabs(y1)<fabs(y2))//заменяем границы интервала
{
X1[1]=x2;
}
Else
{
X1[0] = x1;
}
N++;
S=fabs(x1-x2);
}while(fabs(s)>0.00001);//задаем точность
X=x1+t*(x2-x1);
Y=2*x+log10(x)+0.5;
Cout << "x1="<< x << "" <<"n1=" << n <<endl;//выведем полученное решение и количество итераций
Cout << "y=" << y << endl;
Getch();
Return 0;
}
Результаты работы программы:
X[1]=1.0000100000
Y[1]=2.5000243429
X1=0.1549436363n1=23
Y=0.0000610168
Здесь точность вычислений задавалась до 0.00001, следовательно, абсолютная погрешность составит. Для достижения такой точности нам понадобилось сделать 23 итерации.
3.2 Решение уравнения
Алгоритм уравнение программа
Для оценки точности решения и количества корней уравнения сначала построим график в пакете Mathcad.
Как мы видим, уравнение имеет один корень в интервале [1;1.5].
Метод дихотомии.
Для нахождения промежутков перемены знака мы задаем цикл, в котором проверяем значения у, подставляя в уравнение значения х от -100 до 100 с шагом 1.
Листинг 4.- Программа для решения уравнения методом дихотомии.
//прога решает нелинейное уравнение методом дихотомии
#include<stdlib. h>
#include<iostream. h>
#include<conio. h>
#include<math. h>
Int main()
{
Clrscr();
Double x, x1,y, y1,X[5],Y[5],s;
Int n, i;
Char l;
X=-100;
Y=pow(x,3)-3*pow(x,2)+6*x-5;
N=1;
Cout. setf(ios::fixed);//флаг вывода чисел в формате с фиксированной запятой
Cout. setf(ios::showpoint);
Cout. precision(10);// вывод чисел с пятью знаками после запятой
For(x1=-100;x1<=100;x1++)//начинаем проверку графика на интервалы в которых функция имеет разные знаки с шагом 1
{
Y1=pow(x1,3)-3*pow(x1,2)+6*x1-5;
If((y*y1)<0)
{
X[n]=x1;//если знак функции меняется, то записываем данную точку в массив
Y[n]=y1;
Cout << "X[" << n << "]=" << X[n] << endl;
Cout << "Y[" << n << "]=" << Y[n] << endl;
N++;
}
Y=y1;
X=x1;
}
X[0]=(X[1]-1);//инициализируем первую точку
Y[0]=pow(X[0],3)-3*pow(X[0],2)+6*X[0]-5;
N=1;
Double X1[]={X[0], X[1], X[1], X[2], X[2], X[3], X[3], X[4]};//инициализируем массив, удобный для работы
Double Y1[]={Y[0], Y[1], Y[1], Y[2], Y[2], Y[3], Y[3], Y[4]};
Do//цикл вычисления корня
{
X=(X1[0]+X1[1])/2;
Y=pow(x,3)-3*pow(x,2)+6*x-5;
If((Y1[0]*y)>0)//заменяем границы интервала
{
X1[0]=x;
Y1[0]=y;
}
Else
{
X1[1] = x;
Y1[1] = y;
}
N++;
S=y;
}while(fabs(s)>0.000001);//задаем точность
Cout << "x1="<< x << "" <<"n1=" << n <<endl;//выведем полученное решение и количество итераций
Cout << "s=" << s << endl;
S=n=1;
Getch();
Return 0;
}
Результаты работы программы:
X[1]=2.0000000000
Y[1]=3.0000000000
X1=1.3221855164n1=19
S=0.0000005356
Решение уравнения найдено с точность до 0.000001. Погрешность вычислений составляет. Для достижения такой точности нам потребовалось сделать 19 итераций цикла.
Метод простых итераций.
Для нахождения корня мы берем функцию
Листинг 5. - программа на языке С++ для решения уравнения методом простых итераций.
#include<iostream. h>
#include<conio. h>
#include<math. h>
Int main()
{
Clrscr();
Long double x, x1, y=1;
Int n=1;
X=1;
Do//цикл вычисления корня
{
X1=(pow(x,3)-3*x*x-5)/(-6);
X=x1;
Y=(x*x*x-3*x*x+6*x-5);//проверка на равенство 0
N++;
}while(fabs(y)>0.000001);//задаем точность
Cout << "x=" << x << " y=" << y << "n=" << n << endl;
Getch();
Return 0;
}
Результаты работы программы:
X=1.322185
Y=-6.679253e-07n=19
Ответ получился такой же, как и в методе дихотомии. Корень вычислялся с точностью до 0.000001, значит абсолютная погрешность.
Для достижения такой точности понадобилось сделать 19 итераций цикла. При подстановке данного значения в уравнение у получился равным нулю с точностью до 10-6.
Метод золотого сечения.
Для нахождения интервалов, в которых функция меняет знак, задаем цикл for, который проверяет значение функции на интервале от -100 до 100, с шагом 1.
Листинг 6. - Программа для решения уравнения методом золотого сечения.
//прога решает нелинейное уравнение методом золотого сечения.
#include<stdlib. h>
#include<iostream. h>
#include<conio. h>
#include<math. h>
Int main()
{
Clrscr();
Double x, x1,x2,y, y1,y2,X[5],Y[5],s, t;
Int n, i;
Char l;
X=-100;
T=0.618;
Y=pow(x,3)-3*pow(x,2)+6*x-5;
N=1;
Cout. setf(ios::fixed);//флаг вывода чисел в формате с фиксированной запятой
Cout. setf(ios::showpoint);
Cout. precision(10);// вывод чисел с пятью знаками после запятой
For(x1=-100;x1<=100;x1++)//начинаем проверку графика на интервалы в которых функция имеет разные знаки с шагом 1
{
Y1=pow(x1,3)-3*pow(x1,2)+6*x1-5;
If((y*y1)<0)
{
X[n]=x1;//если знак функции меняется, то записываем данную точку в массив
Y[n]=y1;
Cout << "X[" << n << "]=" << X[n] << endl;
Cout << "Y[" << n << "]=" << Y[n] << endl;
N++;
}
Y=y1;
X=x1;
}
X[0]=(X[1]-1);//инициализируем первую точку
Y[0]=pow(X[0],3)-3*pow(X[0],2)+6*X[0]-5;
N=1;
Double X1[]={X[0], X[1], X[1], X[2], X[2], X[3], X[3], X[4]};//инициализируем массив, удобный для работы
Double Y1[]={Y[0], Y[1], Y[1], Y[2], Y[2], Y[3], Y[3], Y[4]};
Do//цикл вычисления корня
{
X1=X1[0]+(1-t)*(X1[1]-X1[0]);
X2=X1[0]+t*(X1[1]-X1[0]);
Y1=pow(x1,3)-3*pow(x1,2)+6*x1-5;
Y2=pow(x2,3)-3*pow(x2,2)+6*x2-5;
If(fabs(y1)<fabs(y2))//заменяем границы интервала
{
X1[1]=x2;
}
else
{
X1[0] = x1;
}
n++;
S=fabs(x1-x2);
}while(fabs(s)>0.000001);//задаем точность
X=x1+t*(x2-x1);
Y=pow(x,3)-3*x*x+6*x-5;
Cout << "x1="<< x << "" <<"n1=" << n <<endl;//выведем полученное решение и количество итераций
Cout << "y=" << y << endl;
Getch();
Return 0;
}
Результаты работы программы:
X[1]=2.0000000000
Y[1]=3.0000000000
X1=1.3221845946n1=28
Y=-0.0000025167
Корень вычислялся с точностью до 0.000001. Абсолютная погрешность вычислений равна
Для достижения заданной точности понадобилось сделать 28 итераций цикла.
3.3 Решение уравнения
Построим график функции для определения количества корней уравнения.
Как видно из графика уравнение имеет один корень на промежутке [1;1.5].
Метод дихотомии.
Листинг 7. - Программа для решения уравнений методом дихотомии.
//прога решает нелинейное уравнение методом дихотомии
#include<stdlib. h>
#include<iostream. h>
#include<conio. h>
#include<math. h>
Int main()
{
Clrscr();
Double x, x1,y, y1,X[5],Y[5],s;
Int n, i;
Char l;
X=-100;
Y=pow(x,5)-3*pow(x,2)+x-1;
N=1;
Cout. setf(ios::fixed);//флаг вывода чисел в формате с фиксированной запятой
Cout. setf(ios::showpoint);
Cout. precision(10);// вывод чисел с пятью знаками после запятой
for(x1=-100;x1<=100;x1++)//начинаем проверку графика на интервалы в которых функция имеет разные знаки с шагом 1
{
Y1=pow(x1,5)-3*pow(x1,2)+x1-1;
If((y*y1)<0)
{
X[n]=x1;//если знак функции меняется, то записываем данную точку в массив
Y[n]=y1;
Cout << "X[" << n << "]=" << X[n] << endl;
Cout << "Y[" << n << "]=" << Y[n] << endl;
N++;
}
Y=y1;
X=x1;
}
X[0]=(X[1]-1);//инициализируем первую точку
Y[0]=pow(X[0],5)-3*pow(X[0],2)+X[0]-1;
N=1;
Double X1[]={X[0], X[1], X[1], X[2], X[2], X[3], X[3], X[4]};//инициализируем массив, удобный для работы
Double Y1[]={Y[0], Y[1], Y[1], Y[2], Y[2], Y[3], Y[3], Y[4]};
Do//цикл вычисления корня
{
X=(X1[0]+X1[1])/2;
Y=pow(x,5)-3*pow(x,2)+x-1;
If((Y1[0]*y)>0)//заменяем границы интервала
{
X1[0]=x;
Y1[0]=y;
}
Else
{
X1[1] = x;
Y1[1] = y;
}
N++;
S=y;
}while(fabs(s)>0.000001);//задаем точность
Cout << "x1="<< x << "" <<"n1=" << n <<endl;//выведем полученное решение и количество итераций
Cout << "s=" << s << endl;
Getch();
Return 0;
}
Результаты работы программы:
X[1]=2.0000000000
Y[1]=21.0000000000
X1=1.4084684849n1=23
S=0.0000005293
Программа нашла корень уравнения с точностью до 0.000001. Абсолютная погрешность вычислений. Для достижения такой точности понадобилось сделать 23 итерации цикла.
Метод простых итераций.
Для нахождения корней методом простых итераций выразим х из уравнения:
При попытке выразить х другим способом, ряд не сходится.
Листинг 8. - Программа для решения уравнения методом простых итераций.
#include<iostream. h>
#include<conio. h>
#include<math. h>
Int main()
{
Clrscr();
Long double x, x1, y=1;
Int n=1;
X=1;
Do
{
X1=pow((3*x*x-x+1),(0.2));
X=x1;
Y=(x*x*x*x*x-3*x*x+x-1);
N++;
}while(fabs(y)>0.000001);
Cout << "x=" << x << " y=" << y << "n=" << n << endl;
Getch();
Return 0;
}
Результаты работы программы:
X=1.408468
Y=-9.722666e-07n=17
В программе задавалась точность вычислений до 0.000001. Абсолютная погрешность равна. Для достижения заданной точности потребовалось сделать 17 итераций цикла.
Метод золотого сечения.
Листинг 9. - программа для нахождения корней уравнения методом золотого сечения.
//прога решает нелинейное уравнение методом золотого сечения
#include<stdlib. h>
#include<iostream. h>
#include<conio. h>
#include<math. h>
Int main()
{
Clrscr();
Double x, x1,x2,y, y1,y2,X[5],Y[5],s, t;
Int n, i;
Char l;
T=0.618;
X=-100;
Y=pow(x,5)-3*pow(x,2)+x-1;
N=1;
Cout. setf(ios::fixed);//флаг вывода чисел в формате с фиксированной запятой
Cout. setf(ios::showpoint);
Cout. precision(10);// вывод чисел с пятью знаками после запятой
For(x1=-100;x1<=100;x1++)//начинаем проверку графика на интервалы в которых функция имеет разные знаки с шагом 1
{
Y1=pow(x1,5)-3*pow(x1,2)+x1-1;
If((y*y1)<0)
{
X[n]=x1;//если знак функции меняется, то записываем данную точку в массив
Y[n]=y1;
Cout << "X[" << n << "]=" << X[n] << endl;
Cout << "Y[" << n << "]=" << Y[n] << endl;
N++;
}
Y=y1;
X=x1;
}
X[0]=(X[1]-1);//инициализируем первую точку
Y[0]=pow(X[0],5)-3*pow(X[0],2)+X[0]-1;
N=1;
Double X1[]={X[0], X[1], X[1], X[2], X[2], X[3], X[3], X[4]};//инициализируем массив, удобный для работы
Double Y1[]={Y[0], Y[1], Y[1], Y[2], Y[2], Y[3], Y[3], Y[4]};
Do//цикл вычисления корня
{
X1=X1[0]+(1-t)*(X1[1]-X1[0]);
X2=X1[0]+t*(X1[1]-X1[0]);
Y1=pow(x1,5)-3*pow(x1,2)+x1-1;
Y2=pow(x2,5)-3*pow(x2,2)+x2-1;
If(fabs(y1)<fabs(y2))//заменяем границы интервала
{
X1[1]=x2;
}
Else
{
X1[0] = x1;
}
n++;
S=fabs(x1-x2);
}while(fabs(s)>0.000001);//задаем точность
X=x1+t*(x2-x1);
Y=pow(x,5)-3*x*x+x-1;
Cout << "x1="<< x << "" <<"n1=" << n <<endl;//выведем полученное решение и количество итераций
Cout << "y=" << y << endl;
Getch();
Return 0;
}
Результаты работы программы:
X[1]=2.00
Y[1]=21.00
X1=1.4084677864n1=28
Y=-0.0000080100
Точность результата, заданная в программе 0.000001. Абсолютная погрешность. Для достижения точности программа произвела 28 итераций цикла.
Похожие статьи
-
Метод дихотомии требует менее всего итераций цикла для получения корней уравнения с заданной точностью. Если расчет ведется без помощи ЭВМ, то это...
-
Вычисления для следующих входных данных F=1000H m=200 кг m'=1 кг/сек k=2 t0=0 сек V0=0 м/сек B=50 n=50 V1 (t) - результаты, полученные с помощью...
-
Задание для исследования - Численное нахождение корня уравнения методом Рунге-Кутта
Исследовать решение обыкновенных дифференциальных уравнений методом Рунге-Кутты. Подробное описание Метод этот пригоден для решения как одиночных...
-
Решение смешанной задачи для уравнения теплопроводности методом конечных разностей
Решение смешанной задачи для уравнения теплопроводности методом конечных разностей 1. Цель работы Ознакомление с методами решения смешанных задач для...
-
По продаже системного блока компьютера на базе процессора Celeron в одном из магазинов фирмы N за месяц сложилась следующая ситуация: Цена (тыс. рублей)...
-
Любое частное решения уравнения (1) на координатной плоскости х0у изображено в виде графика функции у=у (х, с) (с=const). В теории дифференциальных...
-
Исследование разрешимости второй краевой задачи для уравнения в частных производных с инволютивным отклонением в младших членах Многие математические...
-
Исходная задача: При ограничениях: Двойственной является следующая задача: При ограничениях: Число неизвестных в двойственной задаче равно 2....
-
Используется адаптивная нейро-нечеткая система вывода ANFIS, функционально эквивалентная системе нечеткого вывода Сугено. Вывод осуществляется за два...
-
Уравнение графический спрос равновесие С позиций воспитательного аспекта целью данного проекта является помощь учащимся в понимании жизненной...
-
Второй раздел курсовой работы посвящен особенностям постановки и решения общей задачи линейного программирования, а именно, транспортной задаче (ТЗЛП)....
-
Общая постановка задачи исследования операций - Экономико-математические методы
Все факторы, входящие в описание операции, можно разделить на две группы: Постоянные факторы (условия проведения операции), на которые мы влиять не...
-
РЕШЕНИЕ ЗАДАЧИ О КОММИВОЯЖЕРЕ МЕТОДОМ ВЕТВЕЙ И ГРАНИЦ: ОСНОВНАЯ СХЕМА - Задача коммивояжера
Пусть - конечное множество и - вещественно-значная функция на нем; требуется найти минимум этой функции и элемент множества, на котором этот минимум...
-
Алгоритмы метода Монте-Карло для решения интегральных уравнений второго рода Пусть необходимо вычислить линейный функционал , Где, причем для...
-
Цель и задачи исследования операций Исследование операций - научная дисциплина, занимающаяся разработкой и практическим применением методов наиболее...
-
Большое число экономических и планово-производственных задач связано с распределением каких-либо, как правило, ограниченных ресурсов (сырья, рабочей...
-
Условие задачи. Пусть имеются n кандидатов для выполнения этих работ. Назначение кандидата i на работу j связано с затратами CIj (i, j = 1,2,..., n)....
-
Это раздел математического программирования, изучающий методы решения таких экстремальных задач, в которых результаты (эффективность) возрастают или...
-
Динамическое программирование Динамическое программирование -- один из разделов оптимального программирования, в котором процесс принятия решения и...
-
Основные понятия теории экономико-математического моделирования Кибернетический подход к исследованию экономико-математических систем Обычно...
-
Тест - Решение уравнений и построение графиков функций, содержащих выражения со знаком модуля
Модуль уравнение неравенство график В приведенном ниже тесте четыре задания на решение уравнений и неравенств, содержащих знак модуля. Используются...
-
Задача регрессии. Метод наименьших квадратов Ищу функцию регрессии в виде (1*). Оценки коэффициентов нахожу с помощью Метода Наименьших Квадратов (МКВ),...
-
Производной. - Методы решения системы линейных уравнений
Наиболее просто основные теоремы дифференциального исчисления формулируются для гладких функций. [ Править ] Производные и гладкие функции Пусть функция...
-
Некоторые особенности решения задач нелинейного программирования - Экономико-математические методы
Для решения ЗНП существенно знать: 1) выпукло или не выпукло множество допустимых решений задачи; 2) является ли целевая функция выпуклой или вогнутой...
-
Как известно решение задач симплексным методом применяется очень часто. Это связано с тем, что симплексный метод подходит для решения широкого круга...
-
Найти при помощи метода ячеек значение интеграла , Где - область, ограниченная функциями . 2. Теоретическая часть Рассмотрим K-мерный интеграл вида: (1)...
-
Пусть Dl, r() соответственно левые (правые) границы интервалов I, отвечающих на криволинейной трапеции ОИО значениям 0< < 1. Тогда интересующая нас...
-
Пусть имеется оптимизационная задача вида: (1) (2) (3) - задан(4) Здесь предполагается, что FJ(xJ,yJ)>0 для всех допустимых значений xJ,yJ. В этом случае...
-
Рассматриваемая задача оптимизации ИП основывается на двухкритериальной модели Г. Марковица с незначительной корректировкой (вместо поиска долей каждого...
-
При неизменности всех прочих факторов снижение цены ведет к соответствующему увеличению спроса и, наоборот, при прочих равных условиях увеличение цены...
-
Пусть функция определена в промежутке Х (рис.1). Исходя из некоторого значения независимой переменной, придадим ему приращение, не выводящее его из...
-
В начале пятилетнего периода работы предприятию выделена сумма в C руб. для приобретения нового оборудования. Стоимость одного комплекта оборудования...
-
Основные формулы интегрирования (табличные интегралы) - Методы решения системы линейных уравнений
1. ?dx = x+C 2. ?xNDx = (xN+1/(n+1))+C (n?-1) 3. ?(dx/x) = ln(x)+C 4. ?aXDx = aXLn(a)+C 5. ?eXDx = eX +C 6. ?sin(x)dx = -...
-
Наша группа работала над учебным межпредметным проектом "Математические модели в рыночной экономике". Мы покажем применение в экономике систем уравнений....
-
1. Название проекта: "Математические модели в экономике". 2. Руководитель: учитель математики Тыкоцкая Л. И. 3. Учебные предметы: математика, экономика....
-
Задача о загрузке рюкзака (задача о ранце) - Метод динамического программирования для решения задач
Постановка задачи. Пусть имеются N видов грузов с номерами. Единица груза j-го вида имеет все aJ. Если груз j-го вида берется в количестве xJ, то его...
-
Выполнил: Шварц В. И. 9-Б класс Руководитель: Шагалина Д. Г. Межгорье 2005 Решение уравнений и неравенств, содержащих выражения под Знаком модуля Любое...
-
Модель Лефевра-Николиса описывает колебательные процессы в следующей цепочке химических реакций: Предполагается, что концентрации веществ A, B, D, E...
-
Ответ: Функция y=arctgx, ее график, свойства Ответ: Функция y=arcctgx, ее график, свойства Ответ: Решение уравнений sinx=a, частные случаи Ответ:...
-
В разделе 1 курсовой работы требуется: Определить количество закупаемого заданным филиалом фирмы сырья у каждого АО, (xj), максимизируя прибыль филиала....
Постановка задачи, Основные сведения - Комплексное исследование численных методов для задачи решения нелинейных уравнений