Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







ВЫЧИСЛЕНИЕ ОБЫЧНЫХ дифФеренцИальнЫх УРАВНЕНИЙ





Дифференциальные уравнения - это уравнения, в которых неизвестными есть функции одной или нескольких переменных. Эти уравнения имеют соотношение между функциями, которые необходимо найти, и их производными. Если в уравнении присутствуют производные по одной переменной, то это есть обычные дифференциальные уравнения (ОДУ). Найти решение дифференциального уравнения (или проинтегрировать его) - это значит определить неизвестную функцию на заданном интервале изменения ее переменную. Дифференциальное уравнение имеет одно решение, вместе с уравнением заданы начальные условия.

С помощью MathCad можно найти решение задач Коши, для которых заданы начальные условия, и функции, которые необходимо отыскать, т.е. заданные значения этой функции в начальной точке интервала интегрирования уравнения. В большинстве случаев дифференциальное уравнение первого порядка можно записать в стандартной форме (форме Коши):

 

, (1)

 

и только с такой формою уравнения может работать вычислительный процессор MathCad. Вместе с уравнением (1) необходимо задать начальные условия – значение функции у(t0) в некоторой точке t0. Таким образом, необходимо найти функцию у(t) на интервале [t0, t].

Для числового интегрирования в MathCad есть возможность использовать блок Given/Odesolve или встроенные функции. Вычислительный блок Given/Odesolve, который реализовывает решение одного обычного дифференциального уравнения методом Рунге –Кутта, состоит из трех частей:

ключевое слово Given;

дифференциальное уравнение и начальное условие, которые записаны с помощью логических операторов, причем начальное условие должно записываться в форме

 

у(t0)=b;

 

Odesolve(t,t1) – встроенная функция для решения ОДУ относительно переменной t на интервале [t0, t].

Для решения ОДУ можно использовать также встроенные функции rkfixed, Pkadapt, Bestoer.

ПрограмМИРОВАНИЕ в MathCad

Для написания программ в среде MathCad [4,6] существует специальная панель Programmіng (Программирование) (рис.16, а), она относится к панели Math (Математические) (рис.16, б).

Язык программирования MathCad имеет предельно малое количество операторов (рис. 16, а). Чтобы написать программу, прежде всего для нее должен быть создан блок. Выглядит он как черная вертикальная линия с маркерами, в которые записывают те или иные выражения алгоритма.

а) б)

Рисунок 16–Панель программирования

 

Чтобы построить единичный элемент программного блока, используется кнопка команды Add Line (Добавить линию) панели Programming (Программирование). При этом в области курсора появится следующий объект: , в который можно занести две строки программы. Для создания большего числа строк программы необходимо последовательно нажимать несколько раз соответствующую кнопку на панели Programming. Программный блок можно создать и внутри уже заданного блока.

Для присвоения значений переменным и функциям в MathCad используется специальный оператор: (Local Defіnіtіon - Локальное присваивание), расположенный на панели Programmіng (Программирование). Использовать оператор обычного присваивания:= в программах нельзя. Локальные переменные и функции имеют приоритет над глобальными в рамках родной программы. Несколько переменных можно объявлять в одной строке через запятую.

Практически любая программа создается с использованием специальных управляющих операторов, таких как оператор цикла for или оператора условия іf.

Чтобы задать нужный оператор, используются соответствующие кнопки панели Programmіng (Программирование). Просто набрать оператор из клавиатуры нельзя - он будет воспринят системой MathCad как неизвестная функция. Такие операторы как: іf, for, whіle, активируют код, расположенный в левом верхнем маркере, в том случае, если выполняется условие в правом. Для задачи условия используются также операторы панели Boolean (Логические). Можно задать и комплекс условий.

С помощью оператора простого цикла for можно организовать выполнение операции или проверку условия для ряда конкретных значений переменной. Оператор for имеет три маркера: в двух верхних маркерах, соединенных символом принадлежности, задается имя переменной, по которой организуется цикл, и ряд принятых ею значений. В нижнем маркере определяется операция или комплекс операций, которые должны быть выполнены для каждого значения переменной.

С помощью второго оператора цикла whіle (Пока) можно организовать цикл, который будет работать до тех пор, пока некоторое условие будет выполняться. Оператор whіle имеет два маркера, в которые вводятся соответственно условия работы цикла и выражение для операций, которые будут выполняться на каждом шаге цикла whіle. Количество шагов выполнения цикла не нужно определять явным образом.

Если в некоторых ситуациях при работе программы необходимо прервать работу цикла, для этого надо использовать оператор break (Прервать). Этот оператор почти всегда работает с оператором іf (Если) или on error (Перехват ошибок).

Программный оператор условия іf (Если) используется практически во всех создаваемых алгоритмах. Условный оператор іf имеет два маркера: ٠ іf ۰. В правый маркер вводится условие, в левый - операция, которая выполняется в случае, если условие выполняется (если же оно не выполняется, то программа, пропускает данный фрагмент). В маркер оператора может быть внесено несколько условий.

Если алгоритм имеет несколько условий, при этом выполнение одного из них может привести к невыполнению или ошибке в других операторах условий, то можно использовать специальный оператор contіnue (Продолжить). Его применение аналогично применению оператору break (Прервать).

Оператор otherwіse (Иначе) предназначен для определения действия, которое должно быть выполнено, если условие оператора іf (Если) окажется ошибочным. Одновременно может быть использовано несколько условных операторов іf (Если). Оператор otherwіse (Иначе) в таком случае будет задействован, если не выполнятся условия всех операторов іf (Если).

С помощью оператора return (Возвратить) можно прервать работу программы и возвратить некоторое значение. Этот оператор используется при ошибочной ситуации в программе.

В MathCad существует возможность использовать специальный оператор on error (Перехват ошибок). Он дает возможность в программах избегать ошибок и обходить их. Этот оператор по синтаксису полностью отвечает оператору іf.







ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между...

ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...

Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...

Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.