Информатика и прикладные программы в ЭВМ в управлении экономикой фирмы
Методы решения нелинейных уравнений: прямые и итерационные. Методы решения трансцендентных, алгебраических уравнений. Метод деления отрезка пополам, Ньютона, простой итерации. Поиск корня уравнения методом простой итерации с помощью электронных таблиц.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 16.12.2011 |
Размер файла | 2,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Информатика и прикладные программы в ЭВМ в управлении экономикой фирмы
Введение
Для решения многих нелинейных уравнений чаще всего используют Методы: простой итерации, половинного деления, Ньютона. Нелинейные решения нужны современному инженеру, ученому, экономисту в его профессиональной деятельности. Например, экономист с помощью таких уравнений может находить прибыль предприятия и просчитывать его на К лет.
Таким образом, развитие этих методов получает широкое развитие в мире.
Теоретические сведения
Методы решения
Методы решения нелинейных уравнений делятся на прямые и итерационные. Прямые методы позволяют записать корни в виде некоторого конечного соотношения (формулы). Из школьного курса алгебры нам известны такие методы для решения тригонометрических, логарифмических, показательных, а также простейших алгебраических уравнений.
Однако встречающиеся на практике уравнения не удаётся решить такими простыми методами. Для их решения используются итерационные методы, т.е. методы последовательных приближений. Алгоритм нахождения корня уравнения с помощью итерационного метода состоит из двух этапов: а) отыскания приближённого значения корня или содержащего его отрезка; б) уточнения приближённого значения до некоторой заданной степени точности.
Итерационный процесс состоит в последовательном уточнении начального приближения Хо. Каждый такой шаг называется итерацией. В результате итераций находится последовательность приближённых значений корня Х1, Х2,…, Xn - Если эти значения с ростом n приближаются к истинному значению корня, то говорят, что итерационный процесс сходится.
А теперь рассмотрим 3 итерационных метода решения трансцендентных, алгебраических уравнений. Метод деления отрезка пополам, Ньютона, простой итерации.
Метод деления отрезка пополам (метод дихотомии)
Пусть действительный корень уравнения отделен и функция непрерывна на интервале отделения корня. Построим процесс сужения интервала так, чтобы искомый корень всегда находился внутри суженного интервала. Очевидно, что в этом случае погрешность приближённого значения корня не превышает , где , ? граничные точки интервала на -ой итерации. Найдём середину отрезка и вычислим . Составим произведения и . Из двух половин отрезков выберем тот, в котором произведение является отрицательной величиной, и обозначим новые границы отрезка через , . Затем новый отрезок разделим пополам, вновь составим аналогичные произведения и выберем тот из отрезков, в котором произведение ? величина отрицательная.
Погрешность метода половинного деления, который также называется методом дихотомии, определяется достаточно очевидным соотношением (которое, впрочем, может быть строго доказано) , которое указывает на скорость сходимости метода: с увеличением погрешность стремиться к нулю не медленнее геометрической прогрессии со знаменателем . Метод дихотомии прост и надёжен, всегда сходиться, хотя и медленно, устойчив к ошибкам округления.
Метод простой итерации
С начало приводим нелинейное уравнение к виду, удобному для итерации . Для этого умножим исходное уравнение на и прибавим к обеим частям уравнения :
. (1)
В качестве начального приближения можно выбрать любое . Итерационный процесс
заканчивается при выполнении условия
Для сходимости метода достаточно, чтобы для всех или (что то же самое) . Из условия сходимости можно оценить коэффициент входящий в (1):
.
Недостатком метода является малая скорость сходимости приближённого решения к точному. К достоинствам метода относятся более широкая область сходимости и простота по сравнению с методами Ньютона, хорд и секущих. На рис. 1 приводиться блок-схема алгоритма метода. Она проста, алгоритм полностью совпадает с приведённым выше в тексте. Обозначения переменных ясных из текста.
Размещено на http://www.allbest.ru/
Найти корни уравнения методом простой итерации можно с помощью электронных таблиц. В столбце вычисляются последовательные приближения к корню.
Метод простой итерации |
|||
начальное приближение |
|||
копировать до -й строки |
|||
с увеличением , растёт точность корня |
|||
……………………. |
|||
приближённое значение корня |
Метод Ньютона
Рассмотрим в точке касательную к кривой , задаваемую уравнением
.
Положив , находим точку пересечения касательной с осью абсцисс:
.
Функция на отрезке (рис. 2) заменяется прямой и является приближённым значением корня . Построив касательную в точке получим точку пересечения этой касательной с осью , таким же способом получаем любую точку :
.
Последовательность значений сходиться к точному решению (корню) значительно быстрее, чем в методе половинного деления. Итерации можно прекратить, если .
При каких условиях последовательность сходиться к точному решению уравнения ? Существует
Теорема. Если , причём и отличны от нуля и сохраняют определённые знаки на , то исходя из начального приближения , удовлетворяющего неравенству: , можно вычислить методом Ньютона единственный корень уравнения с любой точностью.
Существование решения следует из непрерывности на и условия . Единственность решения следует из монотонности на (так как сохраняет знак).
После ввода начальной точки , точности и предельного числа итераций следует обнуления счётчика итераций. Затем следует итерационный цикл: вычисление приближённого значения корня по формуле Ньютона и сравнение погрешности решения с заданной точностью. Если погрешность или число итераций , то на экран (принтер) выводиться приближённое значение корня и числа итераций. На этом вычисление заканчиваются. Если погрешность вычисления корня больше заданной, то итерация продолжается: вычисляются новое приближённое значения корня, его погрешность сравнивается с заданной так далее.
Для уточнения корня методом Ньютона можно использовать электронные таблицы. В столбец записываем формулу Ньютона,
в ,
в ,
затем копируем выражение из в клетки . В этих клетках появляются значения выражений.
Метод касательных |
|||
1-я итерация |
|||
2-я итерация |
|||
из в клетки |
|||
10-я итерация |
Во второй строке в результате подстановки в формулу Ньютона нулевого приближения появляется первое приближение корня . В третьей строке в результате подстановки в формулу Ньютона приближения появиться второе приближение корня и так далее.
Установлено, что прибыль учебного заведения вычисляется по формуле Z. При этом прибыль связана нелинейной зависимостью с количеством студентов, принимаемых по контракту. Дать прогноз на К лет о количестве принимаемых студентов по контракту для обеспечения изменения прибыли на Pr%.
K=20, Pr= 30%
Решение задачи сделать следующим образом:
1. Переменную из формулы Z подобрать с помощью двух вариантов:
1. Программно, используя методы простой итерации, половинного деления, Ньютона
2. С помощью Microsoft Excel
2. Результаты работы представить в PowerPoint.
· В качестве переменной использовать любую переменную из заданных в выражении (выбирать необходимо нелинейную зависимость, а значения остальных переменных выбрать произвольно). Количество точек построения равно K, а интервал изменения переменной подобрать так, чтобы величина изменения функции при изменении переменной составляла Pr%.
· Из найденного решения по п. 1.1 и 1.2 построить график функции по формуле Z (Таблица 1.1). Для построения графика использовать электронную таблицу Excel из офисного программного обеспечения со сформированными данными из Раscal на диске. Результаты работы сохранить в виде файлов *.pas, *.dat, *.xls. Вид формулы Z, величины Рr, K взять из вариантов по заданию преподавателя
· Переменные необходимо задать на стадии выполнения программы вводом с клавиатуры или дискового устройства.
· В программе предусмотреть выходы из возможных некорректных программных прерываний типа (1/0, ln(-2) и т.п.
· Исходный текст программы и результаты расчетов и построений продублировать на бумажном носителе, оформив их в Word, а график функции в Excel.
Фиксируем левую границу интервала: x0=4.71; y=1 - const. Для нахождения правой границы необходимо решить уравнение: z(x)=1.3z(x0) или f=z(x) - 1.3z(x0)=0. Уравнение решаем в цикле К раз. Решение на каждом шаге является левой границей интервала x0 для следующего шага.
program d;
const lambda=-0.01;
e=0.0000001;
Pr=30;
K=20;
y=1;
var t: text;
x0:real;
n:integer;
function z (x:real):real;
begin
if (1+abs (y-sin(x)/cos(x))*x*x=0) then begin
writeln('Error');
readln;
halt(n);
end;
z:=(3+exp (y-1))/(1+x*x*abs (y-sin(x)/cos(x)));
end;
function f (x:real): real;
begin
f:=z(x) - (1+Pr/100)*z(x0);
end;
function df (x:real): real;
begin
df:=(f (x+0.00001) - f(x))/0.00001;
end;
{Metod polovinnogo deleniyaя}
procedure delenie;
var a1, b1, x, c: real;
i: integer;
begin
assign (t, 'C:\20\delenie.txt');
rewrite(t);
writeln (t, ' x ', ' z(x) ');
for i:=1 to k do begin
writeln (t, x0:2:4,' ', z(x0):3:4);
a1:=x0;
b1:=a1*0.9;
while abs (b1-a1)>=e do begin
c:=(a1+b1)/2;
if f(a1)*f(c)<0 then b1:=c
else a1:=c;
end;
x0:=c;
end;
close(t);
end;
{Metod Nyutona}
procedure newton;
var x, x1, b:real;
i:integer;
begin
assign (t, 'C:\20\newton.txt');
rewrite(t);
writeln (t, ' x ', ' z(x) ');
for i:=1 to k do begin
writeln (t, x0:2:4,' ', z(x0):3:4);
x:=0.9*x0;
repeat
x1:=x;
x:=x1-f(x1)/df(x1);
until abs (x-x1)<=e;
x0:=x;
end;
close(t);
end;
{Metod prostoy iteracii}
procedure iterac;
var x, x1, b: real;
i:integer;
begin
assign (t, 'C:\20\iterac.txt');
rewrite(t);
writeln (t, ' x ', ' z(x) ');
for i:=1 to k do begin
writeln (t, x0:2:4,' ', z(x0):3:4);
x:=0.9*x0;
repeat
x1:=x;
x:=x1-f(x1)*lambda;
until abs (x-x1)<=e;
x0:=x;
end;
close(t);
end;
нелинейный уравнение итерация трансцендентный
begin
x0:=4.71; delenie;
x0:=4.71; newton;
x0:=4.71; iterac;
end.
Вывод
Таблица решений по каждому из методов записана в соответствующие текстовые файлы (delenie.txt, newton.txt, iterac.txt). Все методы сходятся к одним и тем же значениям. Видно, что z(x) на следующем шаге на 30% больше значения на текущем шаге.
Решение на Microsoft Excel.
Задаем x0=4,71. Запишем формулу и вычислим z(x0). Затем найдем z(x) увеличивая каждое последующее z на 30%. Теперь будем подбирать x с помощью «подбор параметра».
Когда все x и z найдены построим график.
Видно, что задача, решенная четырьмя методами, дает одно и тоже решение. Следовательно, можно предполагать, что она выполнена правильно.
Размещено на Allbest.ru
Подобные документы
Сравнительный анализ итерационных методов решения нелинейных алгебраических и трансцендентных уравнений. Простейший алгоритм отделения корней нелинейных уравнений. Метод половинного деления. Геометрический смысл метода Ньютона. Метод простой итерации.
реферат [95,0 K], добавлен 06.03.2011Изучение численных методов решения нелинейных уравнений, используемых в прикладных задачах. Нахождение корня уравнения методом простой итерации и методом касательных (на примере уравнения). Отделение корней графически. Программная реализация, алгоритм.
курсовая работа [1,7 M], добавлен 15.06.2013Использование повторяющегося процесса. Нахождение решения за определенное количество шагов. Применение метода хорд и метода простой итерации. Методы нахождения приближенного корня уравнения и их применение. Построение последовательного приближения.
курсовая работа [849,1 K], добавлен 15.06.2013Решение нелинейного уравнения шаговым методом, методом половинного деления, методом Ньютона и простой итерации с помощью программы Mathcad. Разбиение промежутка на число n интервалов. Условия сходимости корня. Составление программы для решения на С++.
лабораторная работа [207,5 K], добавлен 10.05.2012Особенности решения уравнений с одной переменной методом половинного деления. Оценка погрешности метода простой итерации. Суть решения уравнений в пакете Mathcad. Векторная запись нелинейных систем. Метод Ньютона решения систем нелинейных уравнений.
курсовая работа [2,1 M], добавлен 12.12.2013Рассмотрение двух способов решения систем линейных алгебраических уравнений: точечные и приближенные. Использование при программировании метода Гаусса с выбором главного элемента в матрице и принципа Зейделя. Применение простой итерации решения уравнения.
курсовая работа [879,8 K], добавлен 05.06.2012Преобразование матрицы системы линейных алгебраических уравнений (СЛАУ) с помощью алгоритма Гаусса. Решение задачи методом простой итерации. Создание блок-схемы и текста программы для решения СЛАУ, реализованной на языке программирования Turbo Pascal.
курсовая работа [1,2 M], добавлен 15.06.2013Изучение способов решения линейных и квадратных уравнений методом простой итерации: доказательство теоремы о сходимости и геометрическая интерпретация. Анализ математического решения задачи, ее функциональной модели, блок-схемы и программной реализации.
реферат [411,5 K], добавлен 25.01.2010Особенности точных и итерационных методов решения нелинейных уравнений. Последовательность процесса нахождения корня уравнения. Разработка программы для проверки решения нелинейных функций с помощью метода дихотомии (половинного деления) и метода хорд.
курсовая работа [539,2 K], добавлен 15.06.2013Обзор существующих методов по решению нелинейных уравнений. Решение нелинейных уравнений комбинированным методом и методом хорд на конкретных примерах. Разработка программы для решения нелинейных уравнений, блок-схемы алгоритма и листинг программы.
курсовая работа [435,8 K], добавлен 15.06.2013