Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Лекция No 3
Работа с последовательностями.
Законы вычисления элементов матриц
MathCAD позволяет задавать значения элементов матриц не только по
отдельности, но и путем определения общих законов вычисления элементов. При
этом возникает необходимость определить границы действия законов, то есть
диапазоны изменения индексов матриц. Для этого широко используются
последовательности.
Замечание: в MathCAD нумерация элементов векторов и матриц начинается с
нуля.
Пример. Ряд чисел Фибоначчи определяется по следующим правилам:
F1 = 1; F2 = 1;
Fi = Fi-1 + Fi-2; i>2.
Данный ряд бесконечен. Но мы не можем определить в MathCAD бесконечные
последовательности, возможно лишь нахождение части ряда. Поэтому вместо
указания i>2 необходимо задать конкретный диапазон изменения индекса i,
например нас могут интересовать члены ряда со третьего по восьмой. Решение
показано на рис. 9.
Рис. 9. Вычисление части ряда чисел Фибоначчи в MathCAD
Здесь сначала определен диапазон изменения индекса i, затем заданы значения
двух первых членов ряда и записана общая формула для вычисления члена с
индексом i. Последняя часть (столбец значений) есть часть ряда F3 .. F8,
вычисленная системой. Такой порядок записи выражений объясняется тем, что
MathCAD вычисляет формулы последовательно, в порядке «слева направо и
сверху вниз». При вычислении члена F3 по заданной рекуррентной формуле
системе уже должны быть известны реальные значения F1 и F2. Поэтому они
должны быть записаны до этой формулы.
Пример. Рассмотрим численное интегрирование явным методом Эйлера.
Сначала кратко рассмотрим суть метода. Пусть дано дифференциальное
уравнение в общем виде:
; x(t0) = x0;
.
Необходимо проинтегрировать данное уравнение. Если функция F(x,t)
достаточно сложна, то такое уравнение может не иметь очевидного
аналитического решения. В таких случаях необходимо использовать
приближенные численные методы, к которым и относится метод Эйлера.
Прежде всего необходимо заменить производную каким-либо приближенным
соотношением. Воспользуемся определением производной:
.
К сожалению, компьютеры не могут непосредственно работать с бесконечно
малыми величинами. Поэтому перейдем к конечным величинам:
.
Такая простая формула будет тем точнее, чем меньше . В любом случае в
решение вносится погрешность, которая будет оказывать более или менее
существенное влияние на соответствие результата точному решению.
Рассмотрение этого вопроса выходит за рамки данного пособия. В первом
приближении можно рекомендовать выбирать
Далее вводится дискретное время:
в диапазоне
.
где
- шаг интегрирования по времени;
- номер конечного шага
интегрирования. Функцию F(x,t) можно вычислять как в точке (xi,ti), так и в точке
(xi+1,ti+1) - это не влияет на точность метода, хотя может влиять на характер роста
погрешности. Первый вариант соответствует явному методу Эйлера, второй неявному.
Получаем выражение
,
из которого следует расчетная формула явного метода Эйлера
.
Рассчитаем переходный процесс в электрической цепи:
Учитывая, что здесь сумма напряжений на резисторе и конденсаторе равна
нулю, а ток, протекающий через резистор, равен току через конденсатор, то
есть
, можно вывести дифференциальное уравнение
.
Пусть R = 1, C = 1 с начальным условием Uc(0) = 1. Введем дискретное время:
;
где h - шаг интегрирования по времени; N - номер конечного шага
интегрирования. Воспользуемся расчетной формулой явного метода Эйлера
;
;
.
Предположим, что нас интересуют пять итераций с шагом по времени 0,1.
Решение можно записать в двух формах (рис. 10).
а)
б)
Рис. 10. Две формы записи решения в MathCAD
Форма (а) более проста, но не позволяет записывать решения систем
дифференциальных уравнений, правые части которых
являются взаимозависимыми. Вторая форма (б) более универсальна.
Полученный вектор Uc содержит значения Uc(ti) для заданных дискретных
моментов времени. Можно легко убедиться, что полученное численное решение
похоже на точное аналитическое
. Добавим следующие выражения:
и сравним полученные значения R (точное решение) и Uc. В MathCAD
существуют специальные стандартные средства интегрирования
дифференциальных уравнений (функция rkfixed, блок Given-Odesolve), которые
будут рассмотрены далее.