Моделирование задач радиофизики и электроники в системе Mathcad. Радченко Ю.С - 30 стр.

UptoLike

30
Стандартные средства системы MathCAD-2001предусматривают
решение обыкновенных дифференциальных уравнений (ОДУ) при помощи
встроенных функций и вычислительного блока Given - Odesolve.
При применении встроенных функций считается, что ОДУ задано в виде
задачи Коши: y= D(x y) при заданном значении y0 для x0 = 0. Задаются
также начало интервала x1, конец интервала x2, число шагов N. Приведём
встроенные функции, наиболее часто применяющиеся для решения ОДУ:
rkfixed(y0, x1, x2, N, D) - функция реализует метод Рунге - Кутта четвёртого
порядка;
rkadapt(y0, x1, x2, N, D) - функция реализует адаптивный алгоритм метода
Рунге - Кутта с зависящим от скорости изменения функции шагом (удобна для
осциллирующих функций);
Bulstoer(y0, x1, x2, N, D) - функция реализует метод Булирша-Штера,
обеспечивающий для гладких функций более точное решение за меньшее
время, чем РК4.
Функции предназначены для решения линейного ОДУ первого порядка.
При необходимости решения уравнения более высокого порядка оно может
быть сведено к системе уравнений первого порядка.
Применение приведённых функций для решения ОДУ показано на
рис .3.1.
Для решения системы линейных дифференциальных уравнений в
указанных функциях используется вектор переменных Y=[y
1
,y
2
y
n
],
векторная функция D(x, Y), вектор начальных условий Y0 ==[y0
1
,y0
2
y0
n
].
В ряде случаев удобно применять другие специальные встроенные
функции для решения ОДУ. Они описаны в [6 ].
Применение вычислительного блока Given - Odesolve предполагает решение
линейного ОДУ методом РК4. При реализации решения выполняется
следующая последовательность действий:
- Задаётся вводное слово Given (дано).
- Ниже вводного слова задаётся уравнение. Для задания
производных используются специальные операторы панели
Calculs или метки-штрихи вводятся при помощи сочетания [Ctrl]
+ [F7].
- В качестве знака равенства используется логическое равенство
(панель Bold Equal).
- Задаются начальные условия.
- Вызывается специальная функция odesolve(x,b,[step]), где x -
переменная, от которой зависит данная функция, b - верхняя
граница интервала поиска решения (нижняя граница задаётся в
начальных условиях ), step - число шагов (если оно не задано, то
по умолчанию параметр задаётся так , что длина шага h = 0,1).
Пример решения линейного дифференциального уравнения с
использованием вычислительного блока приведён на рис . 3.1.
                                          30

      Стан дартн ы е средств а системы MathCAD-2001пред ус мат риваю т
реш ение обык новенных д иф ф еренциаль ных уравнений (О Д У ) при помощ и
вс т роенных ф унк ций и вычис лит ель ного блок а Given - Odesolve.
      При приме нении вс т роенных ф унк ций с чит ает с я, чт о О Д У зад ано в вид е
зад ачи Кош и: y′= D(x y) при зад анном значении y0 д ля x0 = 0. Зад аю т с я
т ак же начало инт ервала x1, к онец инт ервала x2, чис ло ш агов N. Привед ё м
вс т роенные ф унк ции, наиболее час т о применяю щ иес я д ля реш ения О Д У :
   rkfixed(y0, x1, x2, N, D) - ф унк ция реализует мет од Рунге-Кут т а чет вё рт ого
поряд к а;
   rkadapt(y0, x1, x2, N, D) - ф унк ция реализует ад апт ивный алгорит м мет од а
Рунге-Кут т а с завис ящ им от с к орос т и изменения ф унк ции ш агом (уд обна д ля
ос циллирую щ их ф унк ций);
   Bulstoer(y0, x1, x2, N, D) - ф унк ция реализует мет од Б улирш а-Ш т ера,
обес печиваю щ ий д ля глад к их ф унк ций более т очное реш ение за мень ш ее
время, чем РК4.
      Ф унк ции пред назначены д ля реш ения линейного О Д У первого поряд к а.
При необх од имос т и реш ения уравнения более выс ок ого поряд к а оно может
быт ь с вед ено к с ис т еме уравнений первого поряд к а.
      Применение привед ё нных ф унк ций д ля реш ения О Д У пок азано на
рис .3.1.
      Д ля реш ения с ис т емы линейных д иф ф еренциаль ных уравнений в
ук азанных ф унк циях ис поль зует с я век т ор переменных Y=[y1,y2… yn],
век т орная ф унк ция D(x, Y), ве к т ор началь ных ус ловий Y0 ==[y01,y02 … y0n].
      В ряд е с лучаев уд обно применят ь д ругие с пециаль ные вс т роенные
ф унк ции д ля реш ения О Д У . О ни опис аны в [6 ].
Применение вычис лит ель ного блок а Given - Odesolve пред полагает реш ение
линейного О Д У мет од ом РК4. При реализации реш ения выполняет с я
с лед ую щ ая пос лед оват ель нос т ь д ейс т вий:
          - Зад аё т с я ввод ное с лово Given (д ано).
          - Н иже ввод ного с лова зад аё т с я уравнение. Д ля зад ания
             производ ных ис поль зую т с я с пециаль ные операт оры панели
             Calculs или мет к и-ш т рих и ввод ят с я при помощ и с очет ания [Ctrl]
             + [F7].
          - В к ачес т ве знак а раве нс т ва ис поль зует с я логичес к ое равенс т во
             (панель Bold Equal).
          - Зад аю т с я началь ные ус ловия.
          - Вызывает с я с пециаль ная ф унк ция odesolve(x,b,[step]), гд е x -
             переменная, от к от орой завис ит д анная ф унк ция, b - верх няя
             граница инт ервала поис к а реш ения (нижняя граница зад аё т с я в
             началь ных ус ловиях ), step - чис ло ш агов (ес ли оно не зад ано, т о
             по умолчанию парамет р зад аё т с я т ак , чт о д лина ш ага h = 0,1).
      Пример реш ения лине йного д иф ф еренциаль ного уравне ния с
ис поль зованием вычис лит ель ного блок а привед ё н на рис . 3.1.