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

Программные средства компьютерной математики. Практикум. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
804 Кб
Скачать

(A1)

(%i69)

(A2)

(%i70)

(A3)

(%i71)

(X1)

(%i72)

(X2)

(%i73)

(X3)

);1

−4

3

[2,−1,5]

4

3

−2

2

−1

5

 

A2: matrix(

[2,1,3],

 

[1,3,4],

3

);2

1

[3,2,5]

4

1

3

3

2

5

 

A3: matrix(

[2,−4,1],

 

[1,−2,3],

1

);2

−4

[3,−1,2]

3

1

−2

3

−1

2

−1

:determinant(A1)/determinant(A);

X

0X2:determinant(A2)/determinant(A);

1X3:determinant(A3)/determinant(A);

6. Решение систем уравнений в символьном виде

Во многих случаях решение системы уравнений может быть найдено не только численно, но и аналитически:

(%i78) ex1:x^2+x·y+y^2=a;+ =· + = ex2:x−y=b; (ex1)

(ex2)

(%i79) solve([ex1,ex2],[x,y]);

31

(%o79)

=

·

 

 

·√

·

 

,

=

 

 

·√

·

 

 

 

·

, .

 

 

 

 

 

=

 

·√ ·

·

 

, =

 

 

· √

 

·√ ·

 

 

Задания

1. Дано уравнение. Построить график для определения начальных значений корня. Определить один из корней с помощью задания начального значения, другой – с помощью задания интервала, которому принадлежит корень. Найти вектор корней уравнения.

1)

, 10)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

2 = 2√

 

+ 2 − 2

;

 

 

 

 

4), 13)

 

 

 

 

 

 

2)

, 11)

 

 

 

 

 

 

+

 

 

 

 

 

 

=

 

 

 

 

 

;

 

 

 

 

 

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5)

, 14)3

 

+

 

 

 

 

− 7

 

 

 

 

 

 

= 0

 

 

 

 

 

 

 

 

 

1 +;

 

 

 

 

 

 

 

3), 12)

 

 

 

 

 

 

 

 

 

 

 

 

= 2 −

 

 

 

;

 

 

 

 

 

 

 

 

 

 

(

 

)(

 

 

 

 

)(

 

 

 

 

)

= 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6), 15)

(

 

)(

 

 

 

 

)(

 

 

 

 

)

 

 

 

 

 

28

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

;

 

 

 

 

 

 

8), 17)

 

 

 

 

 

+

 

 

 

 

 

 

 

= 2,9

 

 

 

 

 

 

 

 

7)

, 16)

 

 

 

+

 

 

 

 

=

 

 

 

 

 

+;

 

 

 

 

 

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9)

, 18)

 

 

 

 

 

 

 

 

 

=

3 −

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2)

 

 

− 4

 

 

+

 

 

 

+ 6 = 0

 

 

 

 

 

;

 

 

 

;

 

 

 

3)

 

 

+ 9

 

 

+ 23 + 15 = 0

 

 

 

 

 

 

 

2. Найти все корни полиномиального уравнения.

1)

(

 

− 1)

 

+ (2

 

 

+ 3)

 

 

;

 

 

 

 

 

 

+ 8

 

 

 

 

4)

 

 

 

 

 

 

= 27

 

;

 

 

5)

2

− 21

 

 

 

 

+ 74

 

 

 

 

− 105 + 50;

= 0

 

 

6)

 

 

+ 5

 

+ 4 − 24 − 24 = 0

 

;

 

 

7)

 

 

− 4 + 4 −

 

 

 

+ 4 − 4 = 0

 

0

;

8)

(

 

+ 4

 

 

− 6

 

 

 

 

− 24

 

 

 

− 27

 

− 108 =;

 

9)

 

+ 1)(

 

+ 2) + (

 

 

+ 2)( ;

+ 1) = 2

 

 

10)2

 

 

+ 5

 

 

 

 

 

 

 

+ 3 = 0

 

 

;

 

 

 

 

2 − 4

 

 

 

 

+ 13 − 6 + 15 = 0

 

 

 

32

12)

(

 

− 5

+ 7)

− (

− 2)(

− 3) = 1;

;

13)

(

(

− 2

− 5)

− 2(

− 2

. 3) − 4 = 0

 

11)

 

 

 

 

 

 

 

 

 

3.

Решить

аналитически уравнение, заданное в первом

задании.

sin(

+ 1) −

 

= 1.2;

 

 

4. Найти одно из решений системы уравнений численно.

1.

 

2

+ cos(

)

= 3.

 

 

 

2.

cos(

− 1) +

 

= 0.5;

 

 

 

 

− cos (

) = 3.

 

 

 

3.

 

sin( ) + 2

 

= 2;

 

 

 

 

+ cos(

− 1) = 0.7.

 

 

4.

2

cos( )

+

= 1.5;

 

 

 

− sin ( − 0.5) = 1.

 

 

5.

sin(

+ 0.5) −

= 1;

 

 

 

+ cos(

− 2) = 2.

 

 

 

6.

cos(

+ 0.5)

+

= 0.8;

 

 

 

sin( )

− 2

 

= 1.6.

 

 

 

7.

sin(

− 1) +

 

= 1.3;

 

 

2

− sin(

+ 1)

= 0.8.

 

 

8.

− cos( + 1) = 0;

 

 

 

 

+ sin(

) = −0.4.

 

 

 

9.

cos(

+ 0.5)

= 2;

 

 

 

sin( )

− 2

 

= 2.

 

 

 

5. Решить систему линейных уравнений численно, матричным методом, по формулам Крамера.

33

Последняя

Коэффициенты системы уравнений

Свободные

цифра шифра

 

 

 

члены

зачетной

a11 - a13

a21 - a23

a31 - a33

b1 - b3

книжки

 

 

 

 

 

2,58

2,98

3,13

- 6,66

1

1,32

1,55

1,58

- 3,58

 

2,09

2,25

2,34

- 5,01

 

2,18

2,44

2,49

- 4,34

2

2,17

2,31

2,49

- 3,51

 

3,15

3,22

3,17

- 5,27

 

1,54

1,70

1,62

- 1,97

3

3,65

3,73

3,59

- 3,74

 

2,45

2,43

2,25

- 2,26

 

1,53

1,61

1,43

- 5,13

4

2,35

2,31

2,07

- 3,69

 

3,83

3,72

3,45

- 5,98

 

2,36

2,37

2,13

1,48

5

2,51

2,40

2,10

1,92

 

2,59

2,41

2,06

2,16

 

3,43

3,38

3,09

5,32

6

4,17

4,00

3,55

6,93

 

4,30

4,10

3,67

7,29

 

3,88

3,78

3,45

10,41

7

3,00

2,79

2,39

8,36

 

2,67

2,37

1,96

7,62

 

3,40

3,26

2,90

13,05

8

2,64

2,39

1,96

10,30

 

4,64

4,32

3,85

17,86

 

2,53

2,36

1,93

12,66

9

3,95

4,11

3,66

21,97

 

2,78

2,43

1,56

13,93

 

1,84

2,25

2,53

- 6,09

0

2,32

2,60

2,82

- 6,98

 

1,83

2,06

2,24

- 5,52

34

6. Решить однородную систему линейных уравнений.

1), 7), 13)

2), 8), 14)

3), 9), 15)

4), 10), 16)

5), 11), 17)

6), 12), 18)

ìï5x1 - 5x2 +10x3 - 4x4 = 0,

í3x1 + x2 + 7 x3 + x4 = 0, ïîx1 + 7 x2 + 4x3 + 3x4 = 0; ìï2x1 + x2 + 4x3 = 0,

í3x1 + 5x2 + 7x3 = 0,

ïî4x1 + 5x2 + 6x3 = 0;

ìï2x1 + x2 + 5x3 + 7x4 = 0,

í4x1 + 2x2 + 7 x3 + 5x4 = 0,

ïî2x1 + x2 + x3 + 5x4 = 0;

ìïx1 + 2x2 + x3 = 0, í3x1 - x2 + x3 = 0,

ïî2x1 + 4x2 + 2x3 = 0;

ìïx2 + 2x3 - 3x4 = 0,

í2x1 - x2 + 3x3 + 4x5 = 0, ïî2x1 + 5x3 - 3x4 + 4x5 = 0; ì2x1 + 3x2 - x3 + 5x4 = 0,

ïï3x1 - 2x2 + x4 = 0,

í

ï5x1 + x2 - x3 + 6x4 = 0, ïîx1 - 3x3 - x4 = 0.

Практическая работа № 5. Решение дифференциальных уравнений

Цель работы: изучить способы решения дифференциальных уравнений и систем.

35

Теоретические сведения

Дифференциальные уравнения - это уравнения, в которых неизвестными являются не переменные(т. е. числа), а функции одной или нескольких переменных. Эти уравнения (или системы) включают соотношения между искомыми функциями и их производными. Если в уравнения входят производные только по одной переменной, то они называются обыкновенными дифференциальными уравнениями (далее чаще используется сокращение ОДУ). В противном случае говорят об уравнениях в частных производных. Таким образом, решить (иногда говорят проинтегрировать) дифференциальное уравнение - значит определить неизвестную функцию на определенном интервале изменения ее переменных. Как известно, одно обыкновенное дифференциальное уравнение или система ОДУ имеет единственное решение, если помимо уравнения определенным образом заданы начальные или граничные условия. В соответствующих курсах высшей математики доказываются теоремы о существовании и единственности решения в зависимости от тех или иных условий.

1. Решение ОДУ с помощью группы решения

В Maxima предусмотрены специальные средства решения задачи Коши для систем обыкновенных дифференциальных уравнений, заданных как в явной форме dx/dt= F(t,x) , так и в неявной Mdy/dt=F(t,x), где М - матрица, - т.н. решатель ОДУ (solverODE), обеспечивающий пользователю возможность выбо-

ра метода, задания начальных условий и др. Функция ode2 позволяет решить обыкновенные дифференциальные уравнения первого и второго порядков. Синтаксис вызова

ode2 (eqn, dvar, ivar),

где eqn - выражение, определяющее само дифференциальное уравнение, зависимая переменная - dvar, независимая переменная

- ivar.

Дифференциальное уравнение представляется в форме с "замороженной" производной (т.е. с производной, вычисление которой запрещено с помощью одиночной кавычки: “diff(y,x)”). Другой вариант явно указать зависимостьy = y(x) - использовать функцию depends (в этом случае можно не использовать началь-

36

ный апостроф см. пример). Если ode2 не может получить решение, она возвращает значение false. Посредством функции ode2 могут быть решены следующие типы ОДУ первого порядка: линейные, ОДУ с разделяющимися переменными, однородные ОДУ, уравнения в полных дифференциалах, уравнения Бернулли, обобщённые однородные уравнения.

Кроме того, при помощи функции ode2 могут быть решены следующие типы уравнений второго порядка: с постоянными коэффициентами; в полных дифференциалах; линейные однородные с переменными коэффициентами, которые могут быть сведены к уравнениям с постоянными коэффициентами; уравнения Эйлера; уравнения, разрешимые методом вариации постоянных; уравнения, свободные от независимой переменной, допускающие понижение порядка. Тип используемого метода сохраняется в переменной method. При использовании интегрирующего множителя он сохраняется в переменнойintfactor. Частное решение неоднородного уравнения сохраняется в переменной yp. Для отыскания частных решений задач Коши с начальными условиями используются функции ic1(для уравнений первого порядка) и ic2 (для уравнений второго порядка). Частные решения граничных задач для уравнений второго порядка используют функцию bc2.

2. Решение дифференциальных уравнений без помощи блока решений

Метод Рунге-Кутта реализует функция rk. Синтаксис вызова её вызова:

rk([eq], [vars],[init],[t_range]),

где eq - список правых частей уравнений; vars - список зависимых переменных; init - список начальных значений; t-range - список [t, t0, tend, ht], содержащий символьное обозначение независимой переменной (t), её начальное значение (t0), конечное значение (tend), шаг интегрирования (ht).

 

: −5.41.0 . 0

.

 

Например:

 

(%i92)

load(dynamics);

 

(%o92)

[0.5,1.107197190645013,0.4355452870692176],

(sol)

(%i96)

sol: rk([y,sin(y−x·y+x^2)],[x,y],[1,0],[t,0,5,0. );

37

[1.0,1.445287684147986,0.922658601590302], [1.5,2.019954254848174,1.32744765322062], [2.0,2.651207169658332,1.096939606795625], [2.5,3.171829229439084,1.120434415569123], [3.0,3.819249594628475,1.304775497112828], [3.5,4.444735309931348,1.198872264953574], [4.0,5.012772697686723,1.135526195789148], [4.5,5.577287302234968,1.067180325470582], [5.0,6.130890313589012,1.090698381906139].

Для построения графика решения преобразуем полученный список, построив отдельно список значений t(список xg в примере), x(список yg1), y(список yg2). При построении графика используем опцию discrete (рис. 12).

(%i97) 11len:length(sol); (len)

(%i100) xg:makelist(sol[k][1],k,1,len)$;

(%i101) yg1:makelist(sol[k][2],k,1,len)$

(%i102) yg2:makelist(sol[k][3],k,1,len)$

(%i104) plot2d([[discrete,xg,yg1],[discrete,xg,yg2]]);

Рис. 12

38

Рассмотрим решение системы дифференциальных уравнений на примере системы ВольтерраЛотки. Эта система описы-

вает динамику численности хищников и жертв на замкнутой тер-

 

 

 

 

dNdt

=

(

) ,

ритории и задается следующими уравнениями:

где

N1

– количество

хищников;

(

)

 

 

= −

 

N2 – количество жертв;

 

 

 

 

Запишем, , ,

- параметры системы.

 

 

данные уравнения, параметры системы и началь-

ные значения

количества

хищников

и

жертв в группу решения

(рис.13):

0.1

 

 

 

 

 

 

(e2)

 

 

 

 

 

 

 

(γ1)

 

0.3

 

 

 

 

 

 

(%i4)

 

ε :0.1; ε2:0.3;γ1:0.03; γ2:0.04;

 

(γ2)

 

0.03

 

 

 

 

 

(e1)

 

0.04

 

 

 

 

 

(ode2)

 

 

 

 

 

 

 

1(0,1 − 0,04 · N2)

 

 

 

(%i6)

 

ode1:N1·(ε1 − γ2·N2);

 

 

 

 

 

− 2(0,3 − 0,03 · N1)

 

 

 

(ode1)

 

ode

:−N2·(ε2 − γ1·N1);

 

 

 

 

C:\maxima − 5.42.1\share\maxima\5.42.1\share\

(%o7)

 

(%i12)

dynamics\dynamicst1:[]$ xN1:[]$; yN2:[]. mac$

 

 

(%i7)

 

load("dyn mics");

 

 

 

(%i8)

 

 

l1:rk([ode1,ode2],[N1,N2],[5,10],[t,0,200,2])$

 

 

for i:1 thru length(l1) do

 

 

 

 

 

(t1:append(t1,[l1[i][1]]),xN1:append(xN1,[l1[i][2]]),yN2:ap

 

 

pend(yN2,[l1[i][3]]));

 

 

 

(%o12)

done

 

 

 

 

 

(%i13)

xN1:makelist(l1[k][2],k,1,len);

 

39

(%o13)

(%i14) yN2:makelist(l1[k][3],k,1,len);

(%o14)

(%i15) t1:makelist(l1[k][1],k,1,len);

(%o15)

(%i17) plot2d([[discrete,t1,xN1],[discrete,t1,yN2]]);;

40

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]