Информатика и прикладные программы в ЭВМ в управлении экономикой фирмы

Методы решения нелинейных уравнений: прямые и итерационные. Методы решения трансцендентных, алгебраических уравнений. Метод деления отрезка пополам, Ньютона, простой итерации. Поиск корня уравнения методом простой итерации с помощью электронных таблиц.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.