Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Метод Ньютона (метод касательных)





 

Пусть рассматривается уравнение f(x)=0. Корнем уравнения называется значение , при котором f(x)=0. Корень называется простым, если F'()≠0 в противном случае корень называется кратным.

При решении нелинейного уравнения методом касательных задаются начальное значение аргумента x0 и точность ε. Затем в точке(x0,F(x0)) проводим касательную к графику F(x) и определяем точку пересечения касательной с осью абсцисс x1. В точке (x1,F(x1)) снова строим касательную, находим следующее приближение искомого решения x2 и т.д. Указанную процедуру повторяем пока | F(xi)| > ε. Расчетная формула метода Ньютона имеет вид:

Геометрически метод Ньютона означает, что следующее приближение к корню x(n+1) есть точка пересечения с осью ОХ касательной, проведенной к графику функции y=f(x) в точке (x(n),f(x(n)).

 

Примеры составления программ

 

Пример 4.2.1. Программа решения уравнений методом деления отрезка пополам.

Задание: решить уравнение ex - 10x = 0.

 

PROGRAM del;

USES Crt;

LABEL 1,2;

VAR a, b, x0, eps, r1, r2: Real;

{ a, b - Начало и конец интервала }

{ x0 - Корень уравнения }

{ eps - Точность расчета }

k: Integer;

fin, fout: Text;

FUNCTION f(x:real): Real; { Исследуемая функция }

BEGIN

f:=exp(x)-(10*x);

END;

BEGIN

ClrScr; { Очистка текстового экрана }

assign(fin,'otrezok.in'); { Файл данных }

assign(fout,'otrezok.out'); { Файл вывода }

reset(fin);

read(fin,a,b,eps);

close(fin);

(* Р А С Ч Е Т *)

k:=0; 1:k:=k+1;

x0:=(a+b)/2;

IF f(x0)=0 THEN GOTO 2;

IF abs(b-a)<eps THEN GOTO 2;

r1:=f(x0);

r2:=f(a);

IF (r1*r2)<0 THEN b:=x0

ELSE a:=x0;

GOTO 1;

2: writeln('Число делений пополам: ',k);

writeln('Корень уравнения: ',x0:7:4);

writeln('Точность расчета: ',eps:7:6);

(* Запись в файл *)

rewrite(fout);

writeln(fout,'Число делений пополам: ',k);

writeln(fout,'Корень уравнения: ',x0:7:4);

writeln(fout,'Точность расчета: ',eps:7:6);

close(fout);

readln;

END.

 

ФАЙЛ исходных данных:

 

0.0 1.0 1.0E-08 a, b - Начало и конец интервала eps - Точность расчета

 

ФАЙЛ с результатами

 

Число делений пополам: 28

Корень уравнения: 0.1118

Точность расчета: 0.000000001

 

Пример 4.2.2. Программа решения уравнения с использованием метода Ньютона.

 

Уравнение x3- 2x2 + 1.3x = 0.

 

PROGRAM newton;

LABEL m1, m2;

VAR x, x0, eps:real;

a1, a2:text;

k:integer;

FUNCTION f(x0:real):real;

BEGIN

f:=x*x*x-2*x*x+1.3*x-0.2;

END;

FUNCTION f1(x0:real):real;

BEGIN

f1:=3*x*x-4*x+1.3;

END;

BEGIN

assign (a1,'dat17-2');

reset(a1);

read(a1,x0,eps);

k:=0;

m2: x:=x0;

x0:=x-f(x)/f1(x);

k:=k+1;

IF abs(x-x0) <= eps THEN GOTO m1

ELSE GOTO m2;

m1: assign(a2,'res-17-2');

rewrite(a2);

writeln(a2,'корень уравнения',x,k);

close (a2);

END.

 


Пример 4.2.3. Программа решения уравнения методом итераций.

 

PROGRAM met;

LABEL m1, m2;

VAR x, x0, eps:real;

a1, a2:text;

k:integer;

FUNCTION f(x0:real):real;

BEGIN

f:=(-x0*x0*x0+2*x0*x0+0.24)/1.3;

END;

FUNCTION f1(x0:real):real;

BEGIN

f1:=-3*x0*x0+4*x0+1.3;

END;

BEGIN

assign (a1,'dat-21'); reset(a1);

read(a1,x0,eps);

k:=0;

REPEAT

x:=x0;

writeln (x0);

x0:=f(x); k:=k+1;

UNTIL abs(x-x0) < eps;

m1: assign(a2,'res-21'); rewrite(a2);

writeln(a2,'корень уравнения',x,k);

close (a2);

END.

 

4.3. Приближенное решение обыкновенных дифференциальных уравнений первого порядка

 

При решении научных и инженерно-технических задач часто бывает необходимо математически описать какую-либо динамическую систему. Лучше всего это делать в виде дифференциальных уравнений (ДУ) или системы дифференциальных уравнений. Наиболее часто такая задача возникает при решении проблем, связанных с моделированием кинетики химических реакций и различных явлений переноса (тепла, массы, импульса) – теплообмена, перемешивания, сушки, адсорбции, при описании движения макро- и микрочастиц.

Обыкновенным дифференциальным уравнением (ОДУ) n-го порядка называется следующее уравнение, которое содержит одну или несколько производных от искомой функции y(x):

где обозначает производную порядка n некоторой функции y (x), x – это независимая переменная.

Решением обыкновенного дифференциального уравнения называется такая функция y(x), которая при любых х удовлетворяет этому уравнению в определенном конечном или бесконечном интервале. Процесс решения дифференциального уравнения называют интегрированием дифференциального уравнения.

Общее решение ОДУ n-го порядка содержит n произвольных констант C1, C2, …, Cn

Частное решение ОДУ получается из общего, если константам интегрирования придать некоторые значения, определив некоторые дополнительные условия, количество которых позволяет вычислить все неопределенные константы интегрирования.

Точное (аналитическое) решение (общее или частное) дифференциального уравнения подразумевает получение искомого решения (функции y(x)) в виде выражения от элементарных функций.

Численное решение ДУ (частное) заключается в вычислении функции y(x) и ее производных в некоторых заданных точках x1,x2,…,xN,лежащих на определенном отрезке.

 

Метод Эйлера

 

Простейшим численным методом решения обыкновенных дифференциальных уравнений является метод Эйлера. В его основе лежит аппроксимация производной отношением конечных приращений зависимой (y) и независимой (x) переменных между узлами равномерной сетки:

,

где yi+1 – это искомое значение функции в точке xi+1.

Если теперь преобразовать это уравнение, и учесть равномерность сетки интегрирования, то получится итерационная формула, по которой можно вычислить yi+1, если известно yi в точке хi:

 

Рис.4.1. Графическая иллюстрация метода Эйлера

 

Таким образом, суть метода Эйлера заключается в замене функции y(x) на отрезке интегрирования прямой линией, касательной к графику в точке x=xi. Если искомая функция сильно отличается от линейной на отрезке интегрирования, то погрешность вычисления будет значительной. Ошибка метода Эйлера прямо пропорциональна шагу интегрирования:

 

Пример 4.3.1 Рассчитать кинетику гомогенной химической реакции, используя метод Эйлера.

 

VAR ca0, cb0, cc0, cd0, k1, k2, k3, k4, t0, tk, h, ca, cb, cc, cd: Real;

{Описание переменных концентрации, констант скорости, время реагирования, шага}

f1, f2:Text;

{Файловые переменные}

BEGIN

assign(f1,'al_ar.in');

{Файл ввода данных}

assign(f2,'al_ar.out');

{Файл вывода расчетов}

reset(f1);

readln(f1,ca0,cb0,cc0,cd0,k1,k2,k3,k4,t0,tk,h);

{ Ca0, Cb0, Cc0, Cd0 - Концентрации веществ для t0 }

{ k1, k2, k3, k4 - Константы скорости для каждой реакции }

{ t0, tk - Начальное и конечное время реагирования }

{ Ca, Cb, Cc, Cd - Переменные для расчета концентраций }

close(f1);

ca:=ca0; cb:=cb0; cc:=cc0; cd:=cd0;

rewrite(f2);

writeln(f2,'Метод Эйлера');

writeln(f2,'Время Концентрация');

writeln(f2,' А B С D ');

REPEAT

ca:=ca0+h*((-1*(k1+k4))*ca0+k3*cd0);

cb:=cb0+h*(k1*ca0-k2*cb0);

cc:=cc0+h*k2*cb0;

cd:=cd0+h*((k4*ca0)-(k3*cb0));

writeln(f2,' ',t0:8:4,' ',ca:8:4,' ',cb:8:4,' ',cc:8:4,' ',cd:8:4,' ');

ca0:=ca; cb0:=cb; cc0:=cc; cd0:=cd; t0:=t0+h;

UNTIL t0>=tk;

writeln(f2,' ',t0:8:4,' ',ca:8:4,' ',cb:8:4,' ',cc:8:4,' ',cd:8:4,' ');

close(f2);

END.

 

Метод Рунге-Кутта

 

Дальнейшее улучшение точности решения ОДУ первого порядка возможно за счет увеличения точности приближенного вычисления интеграла в выражении.

Воспользовавшись формулой Симпсона, можно получить еще более точную формулу для решения ОДУ первого порядка – широко используемого в вычислительной практике метода Рунге-Кутта.

В формуле Симпсона для приближенного вычисления определенного интеграла используются значения подинтегрального выражения в трех точках. В интеграле их всего две, поэтому введем дополнительную точку в середине отрезка [ xi+1 xi ].

,

 

тогда можно переписать так:

 

Полученное выражение является неявным, так как в правой части содержатся еще не определенные значения функции yi+h/2 и yi+1. Чтобы воспользоваться этой формулой, надо использовать некоторое приближение для вычисления этих значений

 

При использовании различных методов приближенного вычисления этих величин, получаются выражения для методов Рунге-Кутта различного порядка точности.

Алгоритм Рунге-Кутта третьего порядка (погрешность порядка h3):

где

 

Алгоритм Рунге-Кутта четвертого порядка (погрешность порядка h4):

где

 

Пример 4.3.2 Рассчитать кинетику гомогенной химической реакции, используя метод Рунге-Кутта.

VAR ca, cb, cc, cd, ca0, cb0, cc0, cd0, k1, k2, k3, k4, t0, tk, h:real;

{Ca, Cb, Cc, Cd - Концентрации веществ до реакции }

{k1, k2, k3, k4 - Скорости для каждой из реакций}

{t0, tk - Начальное и конечное время реагирования}

{h - шаг}

x, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11, q12, q13, q14, q15, q16:real;

{Qn - Коэффициенты Рунге-Кутты}

f1, f2:text;

BEGIN

assign(f1,'runge.in');{Файл с данными}

assign(f2,'runge.out'); {Файл с результатами }

reset(f1); read(f1,ca0,cb0,cc0,cd0,k1,k2,k3,k4,t0,tk,h);

close(f1);

cc:=cc0;ca:=ca0;cb:=cb0;cd:=cd0; x:=t0;

rewrite(f2);

Writeln(f2,' Метод Рунге - Кутта');

writeln(f2,' Время Концентрация ');

writeln(f2,'A B С D ');

REPEAT

q1:=h*((-1)*(k1+k4)*ca0+(k3*cd0));

q2:=h*((-1)*(k1+k4)*(ca0+q1/2)+(k3*(cd0+q1/2)));

q3:=h*((-1)*(k1+k4)*(ca0+q2/2)+(k3*(cd0+q2/2)));

q4:=h*((-1)*(k1+k4)*(ca0+q3)+(k3*(cd0+q3)));

q5:=h*((k1*ca0)-(k2*cb0));

q6:=h*((k1*(ca0+q5/2))-k2*(cb0+q5/2)));

q7:=h*((k1*(ca0+q6/2))-(k2*(cb0+q6/2)));

q8:=h*((k1*(ca0+q7))-(k2*(cb0+q7)));

q9:=h*(k2*cb0);

q10:=h*(k2*(cb0+q9/2));

q11:=h*(k2*(cb0+q10/2));

q12:=h*(k2*(cb0+q10));

q13:=h*((k4*ca0)-(k3*cb0));

q14:=h*((k4*(ca0+q13/2))-(k3*(cb0+q13/2)));

q15:=h*((k4*(ca0+q14/2))-(k3*(cb0+q14/2)));

q16:=h*((k4*(ca0+q15))-(k3*(cb0+q15)));

ca:=ca0+((q1+q2+q3+q4)/6);

cb:=cb0+((q5+q6+q7+q8)/6);

cc:=cc0+((q9+q10+q11+q12)/6);

cd:=cd0+((q13+q14+q15+q16)/6);

writeln(f2,' ',x:8:4,' ',ca:8:4,' ',cb:8:4,' ',cc:8:4,' ',cd:8:4,' ');

ca0:=ca; cb0:=cb; cc0:=cc; cd0:=cd;

x:=x+h;

UNTIL x>=tk;

writeln(f2,' ',x:8:4,' ',ca:8:4,' ',cb:8:4,' ',cc:8:4,' ',cd:8:4,' ');

close(f2);

END.

 


ОСНОВЫ РАБОТЫ С WINDOWS

Эта глава предназначена, в первую очередь, для тех, кто впервые садится за персональный компьютер. В ней Вы получите обобщенную информацию, начальные знания, советы по работе в операционной среде WINDOWS и некоторых наиболее необходимых программных продуктах.

Прежде чем перейти к конкретному изучению работы в операционной системе WINDOWS ХР, хотелось бы привести некоторую информационную справку.

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

История Windows берет свое начало в 1986 году, когда появилась первая версия системы. Она представляла собой набор программ, расширяющих возможности существующих операционных систем для большего удобства в работе. Через несколько лет вышла вторая версия, но особой популярности система Windows не завоевала. Однако в 1990 году вышла новая версия - Windows 3.0, которая стала использоваться на многих персональных компьютерах. Популярность новой версии Windows объяснялась несколькими причинами. Графический интерфейс позволяет работать с объектами вашего компьютера не с помощью команд, а с помощью наглядных и понятных действий над значками, обозначающими эти объекты. Возможность одновременной работы с несколькими программами значительно повысила удобство и эффективность работы. Кроме того, удобство и легкость написания программ для Windows привели к появлению все больше разнообразных программ, работающих под управлением Windows. Наконец, лучше была организована работа с разнообразным компьютерным оборудованием, что также определило популярность системы. Последующие версии Windows были направлены на повышение надежности, а также поддержку средств мультимедиа (версия 3.1) и работу в компьютерных сетях (версия 3.11).

Параллельно с разработкой Windows компания Microsoft в 1988 году начала работу над новой операционной системой, названной Windows NT. Перед новой системой были поставлены задачи существенного повышения надежности и эффективной поддержки сетевой работы. При этом интерфейс системы не должен был отличаться от интерфейса Windows 3.0. Интересно, что самой распространенной версией Windows NT также стала третья версия. В 1992 году появилась версия Windows NT 3.0, а в 1994 году - Windows NT 3.5.

Процесс развития операционных систем не стоит на месте, и в 1995 появилась система Windows 95, ставшая новым этапом в истории Windows. По сравнению с Windows 3.1 значительно изменился интерфейс, выросла скорость работы программ. Одной из новых возможностей Windows 95 была возможность автоматической настройки дополнительного оборудования компьютера для работы без конфликтов друг с другом. Другой важной особенностью системы стала возможность работы с Интернетом без использования дополнительных программ.

Интерфейс Windows 95 стал основным для всего семейства Windows, и в 1996 появляется переработанная версия Windows NT 4.0, имеющая такой же интерфейс, как и Windows 95. Продолжением развития Windows 95 стала операционная система, появившаяся в 1998 году. При сохранившемся интерфейсе внутренняя структура была значительно переработана. Много внимания было уделено работе с Интернетом, а также поддержке современных протоколов передачи информации - стандартов, обеспечивающих обмен информацией между различными устройствами. Кроме того, особенностью Windows 98 является возможность работы с несколькими мониторами.

Следующим этапом в развитии Windows стало появление Windows 2000 и Windows Me (Millennium Edition - редакция тысячелетия). Система Windows 2000 разработана на основе Windows NT и унаследовала от нее высокую надежность и защищенность информации от постороннего вмешательства. Операционная система Windows Me стала наследницей Windows 98, но приобрела многие новые возможности. Прежде всего, это улучшенная работа со средствами мультимедиа, возможность записывать не только аудио, но и видеоинформацию, мощные средства восстановления информации после сбоев и многое другое. Постепенно разница между разными системами Windows стирается, и новая операционная система Windows XP предназначена для замены как Windows 2000, так и Windows Me.







Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...

Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...

Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...

Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.