mas.exponenta.ru mas.exponenta.ru mas.exponenta.ru
он-лайн расчеты в Mathcad
Перейти на главную страницу
новости | о проекте | сотрудничество совместный проект Exponenta.ru и СПбГПУ
Рубрикатор


Ссылки

Прислать работу

Инструкции


МАТЕРИАЛЫ ПРОШЛЫХ ЛЕТ

В начало

Некоторые особенности реализации рекуррентных процедур в MathCAD 11 Pro

Пользователи MathCAD Pro наверняка обратили внимание на то, что от версии к версии системы этого вида приобретают некоторые особенности, иногда не позволяющие в новых версиях MathCAD впрямую использовать файлы, созданные в предыдущих версиях. Это касалось, например, перехода от 7-ой версии к 2000-ой и 2001-ой (эти версии, в отличие от 7-ой, не позволяли в циклах перечисление начальных установок в строчку через запятую; требовали дополнительных операторов при символьных вычислениях выражений типа резольвенты.

Подобная картина сопровождает и переход от 2001-ых версий MathCAD к 11-ой. В 2001-ой и более ранних версиях, при реализации рекуррентных процедур были допустимы следующие конструкции:

Рис. 1.

 

Этот фрагмент вычисляет реакции (линейная форма от векторов состояний, объединенных матрицей х) дискретного динамического звена на некоторое входное воздействие (в данном случае на входные величины – элементы вектора r) при заданных начальном векторе переменных состояния х0 и числе тактов k. Внутри цикла (см. рис.1) эти реакции последовательно формируются как столбцы матрицы у (в данном случае – строки). Конечно, это не единственно возможная структура цикла для реализации подобной процедуры, но она понятна и удобна в практике решения прикладных задач.

При переходе к 11-ой версии MathCAD подобные структуры не работают. Реакцию в 11-ой версии лучше формировать простым умножением матрицы Н на получающееся объединение столбцов в матрице х. Это можно осуществлять как в теле цикла, так и на его выходе или даже за пределами программного блока.

В файле С_11 (11-ая версия MathCAD, C_11.mcd) приведены четыре равноценных варианта из множества возможных для реализации процедур подобного вида. Варианты могут быть использованы и в более ранних версиях MathCAD.

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

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

В начало




новости | форум | о проекте | сотрудничество | Exponenta.ru

Copyright © 2000-2016. Exponenta.ru