41309

Численные методы и компьютерные технологии решения нелинейных уравнений

Лабораторная работа

Информатика, кибернетика и программирование

За приближенное значение корня принимается точка пересечения хорды АВ с осью абсцисс. Координата этой точки находится из уравнения этой хорды АВ рис. В точке пересечения хорды АВ с осью абсцисс . К уравнению хорды Далее сравниваются значения функции на левой границе и в точке пересечения хорды АВ с осью абсцисс по знаку.

Русский

2013-10-23

471 KB

3 чел.

Содержание

  1.  Цель работы…………………………………………………………….....3
  2.  Задание………………………………………………………………….....3
  3.  Основные сведения о методе Хорд…….………………………………..3
  4.  Блок-схема алгоритма ...………………………………………………….5
  5.  Текст программы ….………………………………………………….......6
  6.  Результаты решения задачи в УМС MathCad………………………….....7
  7.  Список литературы…………………………………………………….…8


  1.  Цель работы

Изучение численных методов и компьютерных технологий решения нелинейных (алгебраических и трансцендентных) уравнений, приобретение практических навыков составления алгоритмов, программ и работы на ЭВМ..

  1.  Задание
  2.  Изучить численные методы и компьютерные технологии решения нелинейных уравнений.
  3.  Составить алгоритм и программу решения уравнения. Предусмотреть ограничение допустимого количества итераций и вывод числа итераций на печать.
  4.  Ввести программу в ЭВМ, отладить и выполнить программу на ЭВМ для различных значений точности.
  5.  Построить зависимость числа итераций от точности решения уравнения
  6.  Решить данное уравнение с использованием универсальной математической системы (УМС) Mathcad.

№ вар

Уравнение

Интервал

[a;b]

Метод решения

Точность

2

[0; 2]

Хорд

  1.  Основные сведения о методе Хорд

Процесс уточнения корня уравнения методом хорд иллюстрируется построениями на рис. 1.7. В этом методе нелинейная функция на заданном отрезке интерполируется уравнением прямой. За приближенное значение корня принимается точка пересечения хорды АВ с осью абсцисс. Координата этой точки находится из уравнения этой хорды АВ (рис. 1.8):

.

В точке пересечения хорды АВ с осью абсцисс . Тогда

 

или

.   (1.3)

y

a

f(a)

f(x)

A

B

b

x

x0

f(b)

x1

x2

a

f(b)

f(x)

A

B

b

x

x

f(a)

Рис. 1.7. Метод хорд  Рис. 1.8. К уравнению хорды

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

Аналогичную (1.3) формулу для нахождения точки пересечения хорды АВ с осью абсцисс можно получить, если за базовую принять правую границу. В этом случае координата точки пересечения хорды АВ с осью абсцисс также находится из уравнения прямой АВ (рис. 1.8):

.

В точке пересечения хорды АВ с осью абсцисс значение . С учетом этого

.

Или

.   (1.4)

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

Применяя формулу (1.3) или (1.4) многократно, последовательно находят приближения корней . Условием окончания процесса уточнения корня служат неравенства

.  (1.5)

Алгоритм метода хорд представлен на рис. П1,б.

Метод хорд в ряде случаев обеспечивает более быструю сходимость, чем метод половинного деления.

  1.  Блок-схема алгоритма

Рис.1 Решение нелинейного уравнения методом хорд

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

program lab5;

uses crt;

label 1,2,3;

var a,b,x,x1,y1,y2,y3,e1,e2:real;

   n1,n:integer;

begin

clrscr;

writeln('Нахождение f(x)=0.25*exp(3*ln(x))+x-1.2502=0') ;

writeln('интервал от О до 2') ;

a:=0; b:=2;

write('Введите e1=');

readln(e1);

write('Введите e2=');

readln(e2);

write('Введите n1 =');

readln(n1);

y1:=0.25*a*a*a+a-1.2502;

x1:=a;

y2:=0.25*exp(3*ln(b))+b-1.2502;

n:=0;

2:

n:=n+1;

if n>n1 then begin writeln('n>n1'); goto 3;end;

x:=a-y1*(b-a)/(y2-y1);

y3:=0.25*exp(3*ln(x))+x-1.2502;

if abs(y3)<=e1 then begin writeln('по е1'); goto 1;end

  else        begin

              if y1*y2<0 then begin b:=x; y2:=y3; end

                         else begin a:=x; y1:=y3; end;

              if abs(x-x1)<=e2 then begin writeln('по е2'); goto 1;end

              else begin x1:=x; goto 2; end;

              end;

1:

writeln('Ответ: x=',x:5:2,' y3=',y3);

writeln('количество циклов =',n);

3:end.

  1.  Результаты решения задачи в УМС MathCad

Рис.2 График зависимости

Список литературы

1. Турчак Л.И. Основы численных методов: учеб. пособие для вузов/ Л.И. Турчак, П.В. Плотников. – 2-е изд., перераб. и доп. – М.: Физматлит, 2003. – 304 с.: ил. (Первое издание – 1987 г.)

2. Амосов А.А. Вычислительные методы для инженеров: учеб. пособие/ А.А. Амосов, Ю.А. Дубинский, Н.В. Копченова. – 2-е изд., доп. – М.: Изд-во МЭИ, 2003. – 596 с.: ил. (Первое издание – 1994 г.)

3. Макаров Е.Г. Инженерные расчеты в Mathcad (+СD)/ Е.Г. Макаров. – СПб.: Питер, 2007. – 592 с.: ил. +CD-ROM

4. Поршнев С.В. Численные методы на базе Mathcad/ С.В. Поршнев, И.В. Беленкова. – СПб.: БХВ-Петербург, 2005. – 464 с.: ил.

5. Николаев Н.Н. Вычислительная математика (Линейная алгебра. Приближенное представление функций): конспект лекций/ Н.Н. Николаев. Чуваш. ун-т. – Чебоксары, 1996. – 64 с.: ил.

6. Николаев Н.Н. Вычислительные методы. Определенные интегралы, нелинейные и дифференциальные уравнения: конспект лекций/ Н.Н. Николаев. Чуваш. ун-т. – Чебоксары, 2010. 96 с.: ил.

7. Николаев Н.Н. Основы работы в системе MATHCAD: вычислительные методы: лаб. практикум/ Н.Н. Николаев. – Чебоксары: Изд-во Чуваш. ун-та, 2011. – 116 с.