Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа N 8,9.doc
Скачиваний:
1
Добавлен:
15.08.2019
Размер:
86.53 Кб
Скачать

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

Решение нелинейных алгебраических уравнений

Общие сведения

В практических вычислениях часто приходится решать уравнения вида: f(x)=0 (1), где функция f(x) определена и непрерывна на некотором конечном или бесконечном интервале Хнач<Х<Хкон.

Если функция f(x) - многочлен, то уравнение (1)называют алгебраическим, если же в f(x) входят элементарные (тригонометрические, логарифмические, показательные и т.п.) функции, то такое уравнение называют трансцендентными.

Найти корни уравнения вида (1) точно удается не всегда. Однако разработано множество методов численного решения таких уравнений, которые позволяют отыскать приближенные значения корней этого уравнения. Найти корни уравнения вида (1) точно удается не всегда. Однако разработано множество методов численного решения таких уравнений, которые позволяют отыскать приближенные значения корней этого уравнения. Непрерывная функция f(x) принимает значения разных знаков, то на этом отрезке уравнение f(x) имеет хотя бы один корень.

приближенные значения корней этого уравнения. Найти корни уравнения вида (1) точно удается не всегда. Однако разработано множество методов численного решения таких уравнений, которые позволяют отыскать приближенные значения корней этого уравнения. Непрерывная функция f(x) принимает значения разных знаков, то на этом отрезке уравнение f(x) имеет хотя бы один корень.

Для решения второй задачи существуют многочисленные методы, такие как метод итераций, метод Ньютона, метод половинного деления [1].

Решение нелинейного уравнения ( НАУ ) разбивается на два этапа

  1. Отделяется корень, т.е. отыскивается интервал аргумента х, на котором есть 1 корень.

  2. Уточняется значение корня в полученном интервале с заданной точностью и заданным итерационным методом .

1 -я часть этой задачи решается в лабораторной работе N 8

2-я часть этой задачи решается в лабораторной работе N 9

В таблице приведено задание на обе лабораторные работы

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

ОТДЕЛЕНИЕ КОРНЕЙ НЕЛИНЕЙНЫХ АЛГЕБРАИ ЧЕСКИХ УРАВНЕНИЙ

Постановка задачи

Дано уравнение вида F(x)=0. Найти интервал изменения аргумента х, на котором есть один и только один корень .

Для выполнения этой работы, т.е. отделения корня, необходимо:

  • Привести уравнение к каноническому виду F(x)=0;

  • Найти такой интервал значения x, на концах которого F(x)имеет разные знаки, а сама функция F(x) пересекает ось x один раз. Достаточно протабулировать функцию, тюею построить таблицу или график зависимости F(x) от x, изменяя x от xнач до xкон с шагом dx.

Уравнение

Интервал

Способ табулирован

ия

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

1

2e-5x = х2

0..3.5

График, таблица

Дихотомии

2

2e-5x = х2

-1..4

Таблица, график

Ньютон

3

2e-5x = х2

0..5

Таблица, график

Итераций

4

2e-5x = х2

0..3.4

График, таблица

Дихотомии

5

х-2Ln(x + 2) = 0

1..8

Таблица, график

Итераций

6

х-2 - Ln(x + 2) = 0

1..8

График, таблица

Ньютона

7

х-2 - Ln(x + 2) = 0

1..10

График, таблица

Дихотомии

8

х-2 - Ln(x + 2) = 0

1..10

Таблица, график

Ньютона

9

Lnx+1.8=x

1..5

График, таблица

Итераций

10

Lnx-x+ 1.8=0

2.. 6

График, таблица

Дихотомии

11

Lnx-x=-1.8

1..6

Таблица, график

Ньютона

12

Lnx-x=-1.8

2. .6

График, таблица

Итераций

13

l-x+sinx-ln(l+x)=0

0..4

Таблица, график

Ньютона

14

l-x+sinx-ln(l+x)=0

0..4

График, таблица

Дихотомии

15

l+sinx-ln(l+x)=x

-0.5. .4

График, таблица

Итераций

16

l+sinx-ln(l+x)=x

-0.5..4

График, таблица

Ньютона

17

X3+* = 100

-6.. 12

Таблица, график

Ньютона

18

x3+x-100=0

-6.. 12

График, таблица

Дихотомии

19

x3+x=100

-4.. 9

График, таблица

Итерации

20

x3+x=100

-4.. 9

Таблица, график

Дихотомии

Рекомендации к выполнению работы:

Для выполнения 1 части работы, т.е. отделения корня, необходимо найти такой интервал значения X, на концах которого F(x) имеет разные знаки, а сама функция F(x) пересекает ось X один раз. Достаточно протабулировать функцию, т.е. построить таблицу и график зависимости F(x) от X ,изменяя X от Хнач до Хкон с шагом dx. В полученной таблице выбрать необходимый интервал.

Табулирование с использованием таблицы:

Шаг табулирования dx вычислять в программе из условия: выводить в таблицу 10 точек интервала, т.е. dx=(Хкон-Xнач )/10.

Вывод протабулированной функции производить на компоненту MEMO или StringGrid.

Значения Хнач и Хкон лучше вводить с экрана.

Табулирование с использованием графика:

График функции можно построить используя метод Canvas.TextOut(j,i,S) или Canvas.Pixels(j,i), но проще использовать специальный компонент Chart из страницы Additional.

В любом случае для выбора интервала потребуется значение Х в некоторых точках оси Х. Проще всего для этого отградуировать только ось Х, т.к. для У достаточно проследить изменение знака.

Пример: построить график функции F(x)=sinX на интервале –1..7. Значения Хнач=-1 и Xкон =7 зададим константой. Для этого на этапе конструирования проекта следует:

поместить на форму со страницы Additional:

кнопку BitBtn1, сделав свойство Caption этой кнопки – ГРАФИК,

кнопку BitBtn2, сделав свойство Kind этой кнопки Close.

компоненту Chart1 - щелкнуть на ней правой кнопкой, в появившемся меню выбрать пункт Edit Chart, добавить серию графика (т.е. номер графика ) щелкнув кнопкой ADD, выбрать из предлагаемых вид графика, щелкнув последовательно OK, CLOSE. В окне компоненты Chart1 появится вид будущего графика. Для своего графика в программе удобно использовать свойство SeriesList[0] и метод Addxy с параметрами: X,Y – координаты отрезка графика, значения аргумента Х на оси Х, цвет графика.

Двойным щелчком на кнопке BitBtn1 создать обработчик события и набрать фрагмент программы:

{ обработчик события кнопки BitBtn1 }

Procedure TForm1.BitBtn1Click(Sender:Tobject)

Function F(x:Real):Real;

Begin

F:=sin(x);

End;

Const Xn=-1; Xk=7; N=10;

Var X,Dx:Real;

Begin

Dx:=(Xk-Xn)/N; X=Xn;

While X<=Xk Do

Begin

Chart1.SeriesList[0].Addxy( X,F(X), FormatFloat(‘#.#’,X),clred):

X:=X+Dx;

End;

Содержание отчета:

• постановка задачи;

• описание алгоритма задачи отделения корня;

• текст программы;

• результат решения, анализ результата, определение интервала;

Контрольные вопросы

1 Какие свойства стандартных компонент Вы использовали в Вашем проекте ?

2 Какие методы стандартных компонент Вы использовали в Вашем проекте ?

3 Какие методы принадлежат созданному Вами классу TForml ?

4 Назовите родительский класс для TForml .

ЛАБОРАТОРНАЯ РАБОТА N9

Исследование программы решения нелинейных алгебраических уравнений