ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 07.12.2021

Просмотров: 2268

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

46

4.

 

Выполнить

 

основную

 

расчетную

 

часть

 

лабораторной

 

работы

 

в

 

системе

 

MathCAD. 

Следует

 

скопировать

 

в

 

файл

 

отчета

 

вектор

 

коэффициентов

 

i

C

 

пробных

 

решений

 

и

 

набрать

 

в

 

отчете

 

решения

 

с

 

этими

 

коэффициентами

Так

 

же

 

необходимо

 

скопировать

 

в

 

этот

 

файл

 

пункт

 «6. 

Выводы

». 

5.

 

Оформить

 

и

 

распечатать

 

файл

 

отчета

 

по

 

лабораторной

 

работе

который

 

должен

 

содержать

 

титульный

 

лист

математическую

 

постановку

 

задачи

результаты

 

выполнения

 

подготовительных

 

расчетов

основные

 

результаты

 

расчетов

 

на

 

ЭВМ

выводы

 

о

 

возможностях

 

использованных

 

методов

 

и

 

наиболее

 

приближенное

 

к

 

точному

 

аналитическое

 

решение

6.

 

Защитить

 

отчет

 

2.9.

 

Программа

 

в

 

системе

 MathCAD 

и

 

тестирующий

 

пример

 

 

В

 

данном

 

разделе

 

приведен

 

текст

 

программы

 ODE.mcd, 

разработанной

 

для

 

решения

 

краевой

 

задачи

 

для

 

линейного

 

обыкновенного

 

дифференциального

 

уравнения

 

второго

 

порядка

 

методами

 

Галеркина

Ритца

 

и

 

интегральным

 

методом

 

наименьших

 

квадратов

В

 

тексте

 

разбирается

 

получение

 

пробного

 

решения

 

)

(

5

x

y

 (

т

.

е

задается

 

5

n

на

 

отрезке

 

 

1

,

0

 

для

 

краевой

 

задачи

 

 

 

 

 

.

4

1

1

,

1

0

0

,

2

6

2

2

3

2



y

y

y

y

x

x

y

y

y

                                  (2.41) 

 

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

 

работа

 

«

Решение

 

краевой

 

задачи

 

для

 

линейного

 

обыкновенного

 

дифференциального

 

уравнения

 

второго

 

порядка

» 

 

Задание

 

на

 

лабораторную

 

работу

 

 

1. 

В

 

пункте

  «

Постановка

 

задачи

» 

ввести

 

вместо

 

данных

 

примера

 

непрерывные

 

функции

: p(x), q(x), f(x) 

и

 

числовые

 

параметры

 

задачи

: a, b, a0, a1, 

a2, b0, b1, b2 

своего

 

варианта

2. 

В

 

пункте

 «

Получение

 

приближенного

 

решения

 

с

 

помощью

 

программного

 

блока

 

в

 

системе

 MathCAD» 

показано

как

 

в

 

системе

 MathCAD 

краевая

 

задача

 

сводится

 

к

 

задаче

 

Коши

 

и

 

решается

 

с

 

помощью

 

стандартной

 

функции

Необходимо

 

скопировать

 

график

 

полученной

 

интегральной

 

кривой

 

в

 

файл

 

отчета

3. 

В

 

пункте

  «

Получение

 

приближенного

 

решения

 

методом

 

Галеркина

» 

ввести

 

вместо

 

данных

 

примера

 

полученную

 

самостоятельно

 

систему

 

пробных

 

функций

 V(k, x) – 

многочленов

 

вида

 (2.26). 

Выполнить

 

построение

 

приближенных

 

решений

 

задачи

  y

n

(x), 

взяв

 

в

 

качестве

 

поверочных

 

функций

 

пробные

 

и

 

функции

 

Лежандра

Скопировать

 

в

 

файл

 

отчета

 

вектор

 

коэффициентов

  C

k

 

пробных

 

решений

 

и

 

набрать

 

в

 

отчете

 

решения

 

с

 

этими

 

коэффициентами


background image

 

47

4. 

В

 

пункте

 «

Получение

 

приближенного

 

решения

 

вариационным

 

методом

 

Ритца

» 

ввести

 

вместо

 

данных

 

примера

 

полученную

 

самостоятельно

 

систему

 

пробных

 

функций

 V1(k, x) – 

функций

 

вида

 (2.34) – (2.36). 

Выполнить

 

построение

 

приближенных

 

решений

 

задачи

  y

n

(x), 

взяв

 

в

 

качестве

 

пробных

 

функций

 

многочлены

 (2.26) 

и

 

функции

 

вида

 (2.34) – (2.36). 

Скопировать

 

в

 

файл

 

отчета

 

вектор

 

коэффициентов

  C

k

 

пробных

 

решений

 

и

 

набрать

 

в

 

отчете

 

решения

 

с

 

этими

 

коэффициентами

5. 

В

 

пункте

 «

Получение

 

приближенного

 

решения

 

интегральным

 

методом

 

наименьших

 

квадратов

» 

ввести

 

вместо

 

данных

 

примера

 

полученную

 

самостоятельно

 

систему

 

пробных

 

функций

 V2(k, x) – 

многочленов

 

вида

 (2.29). 

Выполнить

 

построение

 

приближенных

 

решений

 

задачи

  y

n

(x), 

взяв

 

в

 

качестве

 

пробных

 

функций

 

многочлены

 (2.26) 

и

 

многочлены

 (2.29). 

Скопировать

 

в

 

файл

 

отчета

 

вектор

 

коэффициентов

  C

k

 

пробных

 

решений

 

и

 

набрать

 

в

 

отчете

 

решения

 

с

 

этими

 

коэффициентами

6. 

Скопировать

 

результаты

 

пункта

  «

Выводы

» 

в

 

файл

 

отчета

и

анализируя

 

их

сделать

 

в

 

файле

 

отчета

 

выводы

 

о

 

точности

 

построенных

 

решений

 

методами

 

Галеркина

Ритца

 

и

 

методом

 

наименьших

 

квадратов

 

Постановка

 

задачи

 

 

Требуется

 

на

 

отрезке

 [a,b] 

найти

 

решение

 y(x) 

дифференциального

 

уравнения

  

2

x

y

d

d

2

p x

( )

x

y

d
d

q x

( )

y

f x

( )

 

удовлетворяющее

 

условиям

 

a0 y a

( )

a1

x

y a

( )

d
d

a2

 

b0 y b

( )

b1

x

y b

( )

d
d

b2

 

Введите

 

(

вместо

 

уже

 

введенных

 

для

 

примера

 

данных

непрерывные

 

функции

 p(x), q(x), f(x) 

и

 

числовые

 

параметры

 a, b, a0, a1, a2, b1, b2 

задачи

  

p x

( )

3



       

q x

( )

2



        

f x

( )

2

x

2

6

x

2



 

a

0



     

b

1



     

a0

1



     

a1

1



     

a2

1



     

b0

1



     

b1

1



     

b2

4



 

 

Получение

 

приближенного

 

решения

 

с

 

помощью

 

программного

 

блока

  

в

 

системе

 MathCAD 

 

Найдем

 «

точное

 

решение

» y(x), 

используя

 

стандартные

 

функции

 

системы

 

MathCAD. 

Для

 

этого

 

представим

 

дифференциальное

 

уравнение

 

в

 

виде

 

нормальной

 

системы

 

дифференциальных

 

уравнений

 

первого

 

порядка

полагая

 

y0=y, y1=y': 


background image

 

48

x

y0

d
d

y1

 

x

y1

d
d

p x

( )

y1

q x

( )

y0

f x

( )

 

Граничные

 

условия

a0 y0 a

( )

a1 y1 a

( )

a2

 

b0 y0 b

( )

b1 y1 b

( )

b2

 

Чтобы

 

решить

 

эту

 

краевую

 

задачу

сведем

 

ее

 

сначала

 

к

 

задаче

 

Коши

  

D x y

(

)

y

1

p x

( )

y

1

q x

( )

y

0

f x

( )



 

xf

a

b

2



 

Введем

 

в

 

вектор

 v1 

возможные

 

значения

 y(a), 

если

 a0 = 0, 

и

 y'(a) 

в

 

противном

 

случае

в

 

вектор

 v2 – y(b), 

если

 b0=0, 

и

 y'(b) 

в

 

противном

 

случае

  (

начальные

 

приближения

). 

v1

0

1



 

v2

0

1



 

load1 a v1

(

)

if a0

0

v1

0

a2
a0

a1
a0

v1

0





if a0

0

a2
a1

v1

0







 

load2 b v2

(

)

if b0

0

v2

0

b2
b0

b1
b0

v2

0





if b0

0

b2
b1

v2

0







 

score xf y

(

)

y



 

S

bvalfit v1 v2

a

b

a

b

2

D

load1

load2

score







 

S

0.153224 0.062349

(

)

 

Первый

 

коэффициент

 

вектора

 S – 

точное

 

значение

 y(a), 

если

 a0=0, 

и

 y'(a) 

в

 

противном

 

случае

второй

 

коэффициент

 – 

точное

 

значение

 y(b), 

если

 b0=0, 

и

 

y'(b) 

в

 

противном

 

случае

Т

е

свели

 

краевую

 

задачу

 

к

 

задаче

 

Коши

Найдем

 

решение

 

этой

 

задачи

 

Коши

разбив

 

отрезок

 

на

 N 

частей

 

y0

if a0

0

a2
a0

a1
a0

S

T

 

0

S

T

 

0







 

y1

if a0

0

S

T

 

0

a2
a1







 


background image

 

49

Для

 

нахождения

 

решения

 

задачи

 

Коши

 

для

 

обыкновенных

 

дифференциальных

 

уравнений

 

используется

 

метод

 

Рунге

-

Кутта

заложенный

 

в

 

программный

 

блок

 odesolve(x,b,[step]), 

где

 x – 

переменная

 

интегрирования

, b – 

конечная

 

точка

, [step] – 

число

 

частичных

 

отрезков

 (

в

 

примере

 10000). 

Найдем

 

решение

 

задачи

Given

 

Y'' x

( )

p x

( )

Y' x

( )

q x

( )

Y x

( )

f x

( )

 

Y

0

( )

y0

           

Y'

0

( )

y1

 

Yk

Odesolve x b

10000

(

)



 

Интегральная

 

кривая

 

имеет

 

вид

 

0

0.5

1

0

0.5

1

Yk x

( )

x

 

Скопируйте

 

график

 

полученной

 

интегральной

 

кривой

 

в

 

файл

 

отчета

В

 

некоторых

 

случаях

 

возможно

 

найти

 

точное

 

аналитическое

 

решение

Для

 

данного

 

примера

 

решение

 

имеет

 

вид

  

Y x

( )

e

2

7

2

e

2

e

e

x

7

e

3

e

2

e

e

2

x

x

2



 

Сравним

 

аналитическое

 

и

 

компьютерное

 

решения

 

0

0.5

1

0

2

10

13

4

10

13

Y x

( )

Yk x

( )

x

 

Наибольшая

 

разность

 

равна

 

3.414 10

13



 

т

е

компьютерное

 

решение

 

найдено

 

достаточно

 

точно

Построим

 

решения

 

краевой

 

задачи

 

методами

 

Галеркина

Ритца

 

и

 

методом

 

наименьших

 

квадратов

Введите

 

порядок

 

пробного

 

решения

 

n

k

k

n

x

k

V

C

x

V

U

1

)

,

(

)

,

0

(

n

5



 

 


background image

 

50

Получение

 

приближенного

 

решения

 

методом

 

Галеркина

 

 

Введите

 

систему

 

пробных

 

функций

 

вида

 (2.26):

 

V k x

(

)

if k

0 6

5

x

1

x

x

k

1

k

2



 

Введем

 

оператор

соответствующий

 

левой

 

части

 

уравнения

 

L k x

V

(

)

2

x

V k x

(

)

d

d

2

p x

( )

x

V k x

(

)

d
d

q x

( )

V k x

(

)



 

1. 

В

 

качестве

 

поверочных

 

функций

 

возьмем

 

пробные

 

W k x

(

)

V k x

(

)



 

Найдем

 

коэффициенты

 

системы

 

уравнений

 AC=B 

для

 

определения

 

коэффициентов

 

пробных

 

решений

 C

k

 

i

1 n





          

j

1 n





 

B

i

1

a

b

x

f x

( )

L

0

x

V

(

)

(

)

W i x

(

)

d



 

A

i

1

j

1

a

b

x

L j x

V

(

)

W i x

(

)

d



 

Решая

 

систему

 

уравнений

 AC=B 

матричным

 

методом

получим

 

вектор

 

коэффициентов

 C

k

 

C

A

1

B



 

C

T

1.132936

2.499320

2.647392

0.073920

1.213380

(

)

 

Скопируйте

 

в

 

файл

 

отчета

 

этот

 

вектор

Подставив

 

коэффициенты

  C

k

наберите

 

в

 

файле

 

отчета

 

получившееся

 

пробное

 

решение

.

 

Пробное

 

решение

 U(x) 

для

 

n

5

имеет

 

вид

 

U x

( )

V

0

x

(

)

1

n

k

C

k

1

V k x

(

)



 

Найдем

 

вектор

 

коэффициентов

  C

k

 

для

 

предыдущего

 

пробного

 

решения

Для

 

этого

 

решим

 

систему

 

уравнений

 A

1

C=B

1

где

 A

1

 – 

угловая

 

матрица

 (

1

n

)-

го

 

порядка

 

матрицы

 A, 

а

  B

1

 – 

вектор

-

столбец

содержащий

 

первые

  (

1

n

элементы

 

столбца

 B. 

C1

if n

1

submatrix A

0

n

2

0

n

2

(

)

(

)

1

submatrix B

0

n

2

0

0

(

)

10







 

UP x

( )

if n

1

V

0

x

(

)

1

n

1

k

C1

k

1

V k x

(

)

V

0

x

(

)



 

C

равним

 

полученные

 

решения

 

для

 

n

5

 

и

 

4

n