Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №3 ПРИБЛИЖЕННОЕ РЕШЕНИЕ ЗА...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
789.5 Кб
Скачать

X точн.Реш. Числ.Реш. Абс.Ош. Отн.Ош.

1.00000 1.000000 1.000000 0.000000 1.000000

1.40000 1.336472 1.400000 0.063528 0.047534

1.80000 1.587787 1.703865 0.116078 0.073107

2.20000 1.788457 1.951882 0.163425 0.091378

2.60000 1.955511 2.163414 0.207903 0.106316

3.00000 2.098612 2.349246 0.250633 0.119428

Замечания.

1. Для получения «красивых» таблиц в PASCALе

а) в строковых константах (в кавычках) при наборе их латиницей количество символов должно быть таким же, как и в примере, где они набраны кириллицей;

б) количество пробелов в строковых константах также должно быть таким же, как и в примере. Для этого последовательность количества пределов в строковой константе представлена в комментарии.

  1. Так как возможности по объему «черного экрана» в Паскале

ограничены, желательно в программе задавать размер «сетки» с n ≤ 10.

  1. Следует обратить внимание на запись операции деления.

Например, правильная запись дроби может иметь вид sqr(a)*a*b*c/(r*t*sqr(s)), или sqr(a)*a*b*c/ r / t / sqr(s), или a*a*a*b*c/(r*t*s*s), или какой-либо другой, но обязательно знаменатель должен быть в скобках или его множители должны быть отделены друг от друга операцией / (деление). Числитель брать в скобки нужно в случае, если это многочлен.

  1. Другая особенность данного этапа состоит в ограниченности

библиотеки встроенных функций PASCALя. Для записи встречающихся в заданиях функций используются функции

sin(x), cos(x), sqr t(x) ( ), sqr(x) (x2), atan(x) (arctg x), ln(x), abs(x) (|x|), а также постоянная pi (π).

Для записи других функций следует пользоваться тождественными формулами :

tg x = , arcsin x = arctg , xa = ealnx,

arcctg x = – arctg x, arccos x = arcctg .

Еще два замечания:

  1. Так как встроенная функция sqr(x) выполняется значительно дольше, чем операция * (умножение), то при возведении в целую степень при небольших значениях показателя степени желательно использовать операцию умножения.

  2. Если в выражении функции некоторая степень встречается несколько раз, ее желательно вычислить один раз и в дальнейшем использовать вычисленное значение. Например, функцию

y = x5 + sin(x5 + x4x3) можно описать так:

function primer (x:real):real;

y:real;

begin

y:= x*x*x*x*x;

primer:= y+sin(y+y/x–y/x/x)

end;

Рабочая область Mathcad’а нахождения частного решения дифференциального уравнения y´ = + 1 + x2 с начальными условиями у(1) = 1 представлена ниже. Однако, вначале найдем

аналитическое решение данной задачи Коши.

Это линейное уравнение вида у + p(x) y = q (x), в котором

p(x) = – , q (x) = 1 + x2. Общее решение ищем в виде y = uv . Тогда y = uv + uv . Имеем:

uv + uv – uv = 1 + x2 => uv + u = 1 + x2.

Подберем функцию v так, чтобы v – = 0; тогда uv = 1 + x2. Интегрируя первое из этих уравнений, получим: v – = 0 => => = => = => ln |v| = ln |1 + x2| => v = 1 + x2.

Подставив полученное выражение для v во второе уравнение, получим:

u(1 + x2) = 1 + x2 или = 1 .

Таким образом, u = х + C, а общее решение исходного уравнения

y = uv = (х + C) (1 + x2) = x3 + C x2 + х + С .

Подставим в это общее решение начальное условие и получим:

1 = 1 + С + 1 + С => C = – .

Искомое частное решение имеет вид y = x3x2 + х – .

В ы ч и с л е н и я в M a t h c a d’ е

Задание: найти частное решение диф.ур. у´ = f(x,y) с нач. условиями у(x0) = у0

f(x,y) := + 1 + x2 x0 := 1 y0 := 1

Аналитическое решение: u(x) := x3 + х –

Решение ищем на интервале (x0, xn)

Численное решение: n := 5 xn := 3 h :=

k := 1 .. n yk := yk-1 + h· f(xk-1, yk-1)

k := 0 .. n zk := u(xk)

Результаты:

k=

xk=

yk=

zk=

0

1

1

1

1

1.4

2.2

2.664

2

1.8

4.216

5.512

3

2.2

7.344

9.928

4

2.6

11.894

16.296

5

3

18.186

25