Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛАБ_ПРАК_MathCad

.pdf
Скачиваний:
29
Добавлен:
14.03.2016
Размер:
689.29 Кб
Скачать

 

 

y’(0)=1/2

 

 

 

 

23

 

y''+y = x + 2ex

 

 

 

 

y(0)=1/3

 

 

 

 

 

 

y’(0)=1/2

 

 

 

 

24

 

y''+4 y'+5y = 5x2 32x +5

 

 

 

 

y(0)=1

 

 

 

 

 

 

 

y’(0)=1

 

 

 

 

25

 

y''3y'+2y = ex

 

 

 

 

y(0)=1

 

 

 

 

 

 

 

y’(0)=2

 

 

 

 

26

 

y''+3y'= 9x

 

 

 

 

 

 

y(0)=0

 

 

 

 

 

 

 

y’(0)=1

 

 

 

 

27

 

y''+4 y = 8sin(2x)

 

 

 

 

y(0)=1/2

 

 

 

 

 

 

 

y’(0)=0

 

 

 

 

28

 

y''2y'= x2 x

 

 

 

 

y(0)=3

 

 

 

 

 

 

 

y’(0)=2

 

 

 

 

29

 

y''+5y'+6y = ex + e2 x

 

 

 

 

y(0)=1

 

 

 

 

 

 

 

y’(0)=1

 

 

 

 

30

 

y''+4y'+4y =

e

2 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3

 

 

 

y(0)=1

y’(0)=1/2

 

 

 

Пример выполнения задания:

 

 

 

Задание:

 

 

 

 

 

 

 

 

 

 

ДУ с разделяющимися

 

Неоднородное ДУ

 

переменными

 

первого порядка

61

y'= y sin(x)

y'+2xy = xe

x2

sin(x)

y(0)=1

 

 

y(0)=1

 

x [0; 2π]

 

 

 

 

 

 

Неоднородное

ДУ

 

 

 

второго порядка

 

 

 

y''+x2 y'+xy = ex cos(x)

y(0)=-8 y’(0)=3

1. ДУ первого порядка с разделяющимися переменными можно представить как:

d

y(x)

 

f(x,y)

y(x0)

 

y0

 

 

dx

,

 

 

 

 

где y(x) – неизвестная функция, а функция f(x,y) – представляет собой неоднородную часть ДУ, которая здесь допускает представление f(x,y)=g(x)*h(y).

Для решения данного ДУ нужно задать правую часть f(x,y), начальные условия и интервал изменения x на котором следует найти решение,

f(x,y) := y sin(x)

x0 := 0

y0 := 1

x1 := 2π .

Далее записывается блок решения ДУ, который начинается командным словом Given и формируется при помощи панели инструментов «Булево»:

62

Given

 

 

 

y'(x)

 

f(x,y(x))

y(x0)

 

y0

 

 

 

 

y := Odesolve(x,x1)

,

 

 

 

где Odesolve(x,x1) – встроенная функция пользователя, которая формирует решение ДУ, заданного командным блоком Given. x – переменная дифференцирования, x1 – конечное значение интервала интегрирования.

2. Для записи разностной схемы ДУ необходимо задать количество итераций N, итерационный параметр i и шаг по переменной интегрирования dx:

N := 50

i := 0 ..N dx := (x1 x0) N .

Наберем вектор значений переменной интегрирования и начальное значение искомого решения y1:

xi := x0 + i dx y10

:= y0

 

.

Запишем разностную схему:

(y1i+1 y1i)

 

 

f(xi,y1i)

 

 

dx

 

 

 

 

,

 

где вид правой части f(x,y) был задан выше. Получаем, что разностное решение имеет вид:

63

y1i+1 := y1i + f(xi,y1i) dx.

3. Сравним два полученных выше решения графически:

10

10

 

 

 

 

 

 

 

y1

 

 

 

 

y(x2)

5

 

 

 

1

0

 

5

 

 

 

 

 

x0

x,x2

x1

.

Из графика следует, что при уменьшении параметра N точность полученного в пункте 2 решения будет ухудшаться,

апри увеличении N – улучшаться.

4.Найдем решение неоднородного ДУ первого порядка, для этого запишем его в общем виде: y’=a(x)*y+b(x) и применим к нему готовую математическую формулу, которую можно найти в любой книге, посвященной решению обыкновенных ДУ [6]

x

 

x

x

 

 

 

 

 

 

 

 

b(z)dz , (2)

y(x,C) = C exp

a(t)dt

+ exp a(t)dt

 

0

 

0

z

 

 

где С – константа интегрирования.

64

Заметим, что у нас a(x) = −2 x и b(x) = x ex2 , запишем формулу (2) в MathCad:

x

 

x

x

 

y(x,C) := C exp

2 t dt

+

exp

2 t dt z exp(z2) sin(z) dz

0

 

z

 

 

 

0

 

.

Получим следующий результат:

y(x,C) C exp(x2)+ (sin(x) x cos(x)) exp(x2).

Подставим начальное условие: Y0 := 1

y(x,Y0)exp(x2)+ (sin(x) x cos(x)) exp(x2).

Для графика полученного решения необходимо задать интервал изменения переменной x и шаг ее изменения:

x := −5 ,−4.95..5 .

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

1

1

 

 

 

 

 

 

 

 

 

 

 

y(x,Y0)

0.5

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

0.015 0.5

5

0

5

 

.

 

 

 

 

 

6

x

 

6

 

 

 

 

65

5. Сделаем проверку полученного в пункте 4 решения. Для этого подставим полученную функцию в исходное уравнение и воспользуемся символьной функцией simplify:

d y(x,C) + 2 x y(x,C) simplifyx sin(x) exp(x2)

 

dx

.

 

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

6. Для решения неоднородного ДУ второго порядка, как и пункте 1, используется блок начинающийся с командного слова Given и встроенная функция пользователя

Odesolve:

 

Given

 

 

 

 

 

 

 

 

 

 

 

d2

2

 

d

 

 

 

 

 

x

cos(x)

 

 

 

y(x) + x

 

 

 

y(x) + x y(x)

 

e

 

 

 

 

 

 

 

dx2

dx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y(0)

 

 

8

 

 

 

y'(0)

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y := odesolve(x,6 ,100)

 

 

 

 

,

где x – аргумент

функции,

6 – конечное значение

аргумента, 100 – количество шагов.

Для графического представления зададим x следующим образом

x := 0 ,0.06..6 .

Тогда график y(x) примет вид

66

5

2.681

0

y(x)

5

 

 

 

 

 

8 10

0

2

4

6

 

 

 

 

0

 

x

6

.

 

 

 

 

 

ЛАБОРАТОРНАЯ РАБОТА № 6 «Программирование в MathCad»

Цель работы: Познакомить читателя с возможностями программирования в системе MathCad.

Рекомендуемая литература: [1-4, 7].

Задание:

67

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

2.Построить поверхность, заданную формулой из пункта 1..

3.С помощью циклического оператора вычислить 10 значений ряда.

4.Вычислить сумму и произведение элементов ряда лежащих в заданном интервале.

5.Вычислить абсолютную и относительную разницу между i- частичной суммой и суммой ряда.

6.Найти разброс i – частичных сумм относительно суммы ряда.

Таблица № 6.1: Варианты лабораторной работы № 6 . «Программирование в MathCad»

 

 

Уравнение

 

 

 

 

 

 

 

 

вар.

 

 

Поверхности

 

 

 

 

 

 

1

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

если

x

2

+y

2

1

 

 

 

 

1

 

 

 

 

Z(x, y) = 0

 

если 1<x2 +y2 2

 

 

 

 

 

 

если

x

2

+y

2

>2

 

 

 

 

1

 

 

 

 

 

 

1

x + y

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

2

 

если

 

т.(x, y) I квадранту

 

Z (x, y) =

0

 

вост.

 

 

 

 

 

случаях

 

 

 

 

 

 

 

 

3

 

 

x

2

+y

2

если

x

2

 

+y

2

9

 

 

 

 

 

 

 

 

 

Z(x, y) =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

вост.

 

случаях

 

 

 

 

 

 

 

68

4

5

6

7

8

9

1

10

x

если

x и y четные

 

если

x и y нечетные

Z (x, y) = y

 

вост.

случаях

0

| x + y

|

если

 

|x + y|- четная

Z(x, y) =

 

 

 

 

если

|x + y|- нечетная

| x y |

 

 

 

+y

 

 

если

2

2

Z(x, y) = 2x

 

 

x

+y 16

x2y

 

 

вост.

случаях

 

1x2

+y2

если x <y

 

 

 

 

1

 

если x =y

Z(x, y) =

 

 

 

 

 

 

 

 

 

2

2

если x >y

 

1+x

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

2

+ y

если

xy < 3

Z(x, y) = x

 

 

 

 

 

 

y

 

 

вост.

случаях

 

2

 

+ y

2

если

x > y

Z(x, y) = x

 

 

 

 

y2 +x

вост.

случаях

xy

Z (x, y) = xy

x + y

2

 

если

x и y четные

если

x и y нечетные

вост.

случаях

69

11

12

13

14

15

16

17

1

18

Z(x, y)

Z(x, y)

sin(2x3 + y)

=

2x3 + y

x +sin(x + y)

= y +sin(x + y)

если

xy > 0

вост.

случаях

если

x > y

вост.

случаях

 

xy

 

если

2

2

 

 

x

+y 1

Z(x, y) = | x+y|

если 1<x2 +y2 2

 

 

 

 

если

2

2

| xy|

x

+y >2

Z(x, y) =

 

2

+ y

если

 

xy < 0

x

 

 

 

x2

y

вост.

случаях

Z(x, y) = x3 + y 1

если

0 < xy <3

y3 + x 1 вост.

 

 

случаях

 

 

2

если

x

2

+y

2

1

x

 

 

 

Z(x, y) = 1

если 1<x2 +y2 2

 

 

2

если

x

2

+y

2

>2

y

 

 

 

 

 

 

2

+ y +1

если

 

 

 

x > y

Z(x, y) = x

 

 

 

 

 

y x

вост.

случаях

 

 

 

2

 

 

 

 

 

 

 

 

 

 

3

+ y

если

 

 

 

x > y

Z(x, y) =

x

 

 

 

y2 x +2

вост.

 

случаях

70