Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Аналитический способ с использованием МС.






1.Вводим данные переменных по варианту, выбирая их из раздела Б.

2.Формируем дифференциальное уравнение, записываем начальные условия.

3. Решаем характеристическое уравнение, находим значения λ 1 и λ 2.

4. Поскольку решение характеристического уравнения есть действительные и различные корни, то общее решение диф. уравнения принимает вид:

5.Записываем вид частного решения диф. ур-ния.

6. Подставляем частное решение в левую часть, получаем вид функции.

7. Выделяем коэффициенты при функциях. Составляем систему уравнений и находим коэффициенты k1, k2.

8. Следовательно, мы имеем уже конкретное решение диф. уравнения, которое состоит из суммы общего решения (λ 1 и λ 2уже найдены) и частного решения (k1, k2) также уже найдены).

9. Значения коэффициентов с1 и с2 найдем, используя начальные условия:

y(1) = 1, y'(1) = - 4

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

Листинг решения из MathCad.

 

2.2.a. Вычислить «вручную» значения y(a+h), y'(a+h), где при разбиении N.

Рассмотрим заданное дифференциальное уравнение второго порядка.

-1*y''(x)-3*y’(x)= 3*x - 3 с начальными условиями y(1) = - 1; y’(1) = - 4

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

введем замену z(x) = y'(x), тогда z'(x) = y''(x);

дифференциальное уравнение примет вид

-1*z’(x) - 3*z(x) = 3*x - 3

y(1) = -1; y’(1) = - 4

сделаем подстановку и сформируем систему диф. уравнений 1-го порядка.

y(1) = -1; y’(1) = - 4

Вспомогательная функция примет вид:

D(x, y(x), z(x)) =

 

Используя формулы метода Рунге-Кутты IV порядка, вычислим значения функции y(1+h), y’(1+h) при h= (3-1)/8 = 1/4.

На начальном шаге имеем значения по условию: x0 = 1, y0 = - 1, z0 = - 4

Тогда на следующем шаге имеем:

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


2.2.б. Составить макрос (процедуру) в VBA и выполнить его в Еxcel с выводом результатов на рабочий лист при разбиении N.

1) В VBA составим процедуру, использующую метор Рунге-Кутты для вычисления значений функций, являющихся решением дифференциального уравнения по блок-схеме, предоставленной в методичке.

 

ub Met_RK()

a = Cells(1, 2)

b = Cells(2, 2)

n = Cells(3, 2)

h = (b - a) / n

Cells(4, 2) = h

ya = Cells(1, 5)

y1a = Cells(2, 5)

x = a: y = ya: z = y1a

Cells(7, 1) = x: Cells(7, 2) = y: Cells(7, 3) = z

Cells(7, 4) = Fun_D(x, y, z)

 

For i = 1 To n

k1 = h * z

m1 = h * Fun_D(x, y, z)

k2 = h * (z + m1 / 2)

m2 = h * Fun_D(x + h / 2, y + k1 / 2, z + m1 / 2)

k3 = h * (z + m2 / 2)

m3 = h * Fun_D(x + h / 2, y + k2 / 2, z + m2 / 2)

k4 = h * (z + m3)

m4 = h * Fun_D(x + h, y + k3, z + m3)

 

dy = 1 / 6 * (k1 + 2 * k2 + 2 * k3 + k4)

dz = 1 / 6 * (m1 + 2 * m2 + 2 * m3 + m4)

 

x = x + h

y = y + dy

z = z + dz

 

Cells(7 + i, 1) = x

Cells(7 + i, 2) = y

Cells(7 + i, 3) = z

Cells(7 + i, 4) = Fun_D(x, y, z)

Next i

 

End Sub

 

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

 

Function Fun_D(x, y, z)

Fun_D = (3 * x - 3 + 3 * z) / (-1)

End Function

 

3) На листе Excel вводим данные для работы процедуры:

В1 - начальная точка

В2 – последняя точка

В3 – число разбиений

Е1 – начальное значение функции Y(1)

У2 – начальное значение производной Y’(1)

 

4). Запускаем процедуру и получаем таблицу значений искомых функций:

 

 

5) Построим графики полученных функций.

 


2.3. Встроенные возможности системы MathCad

 







© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.