Элементарные математические функции Трехмерный контурный график

Электротехнические расчеты в MATLAB

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

Сообщения об ошибках и исправление ошибок

Важное значение при диалоге с системой MATLAB имеет диагностика ошибок. Вряд ли есть пользователь, помнящий точное написание тысяч операторов и функций, входящих в систему MATLAB и в пакеты прикладных программ. Поэтому никто не застрахован от ошибочного написания математических выражений или команд. MATLAB диагностирует вводимые команды и выражения и выдает соответствующие сообщения об ошибках или предупреждения. Пример вывода сообщения об ошибке (деление на 0) только что приводился. Рассмотрим еще ряд примеров. Введем, к примеру, ошибочное выражение » sqr(2) и нажмем клавишу ENTER.

Система сообщит об ошибке:

??? Undefined function or variable 'sqr'. Это сообщение говорит о том, что не определена переменная или функция, и указывает, какая именно - sqr. В данном случае, разумеется, можно просто набрать правильное выражение. Однако в случае громоздкого выражения лучше воспользоваться редактором. Для этого достаточно нажать клавишу вниз для перелистывания предыдущих строк. В результате в строке ввода появится выражение » sqr(2) с курсором в его конце. В версии MATLAB 6 можно теперь нажать клавишу Tab. Система введет подсказку, анализируя уже введенные символы. Если вариантов несколько, клавишу Tab придется нажать еще раз. Из предложенных системой трех операторов выбираем sqrt. Теперь с помощью клавиши вниз вновь выбираем нужную строку и, пользуясь клавишей влево, устанавливаем курсор после буквы г. Теперь нажмем клавишу вверх, а затем клавишу ENTER.

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

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

» hsin(1)

??? Undefined function or variable 'hsin'.» sinh(1) ans= 1.1752

В этом примере мы забыли (нарочно), какое имя имеет внешняя функция, вычисляющая гиперболический синус. Система подсказала, что функция или переменная с именем hsin не определена ни как внутренняя, ни как М-функция. Зато далее мы видим, что функция с именем sinh есть в составе функций системы MATLAB - она задана в виде М-функции. Между тем в последнем примере мы не давали системе никаких указаний на то, что следует искать именно внешнюю функцию! И это вычисление прошло так же просто, как вычисление встроенной функции, такой как sin. Разумеется, скорость вычислений по внешним определениям несколько ниже, чем по встроенным функциям или операторам.

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

Иногда в ходе вывода результатов вычислений появляется сокращение NaN (от слов Not a Number - не число). Оно обозначает неопределенность, например вида 0/0 или Inf/Inf, где Inf - системная переменная со значением машинной бесконечности. Например, при делении на 0 конечного числа появляется предупреждение «Warning: Devide by Zero.» («Внимание: Деление на ноль»). Диапазон чисел, представимых в системе,

308 i л i 308

лежит от 10- до 10+ .

Вообще говоря, в MATLAB надо отличать предупреждение об ошибке от сообщения о ней. Предупреждения (обычно после слова Warning) не останавливают вычисления и лишь предупреждают пользователя о том, что диагностируемая ошибка способна повлиять на ход вычислений. Сообщение об ошибке (после знаков ???) останавливает вычисления.

Вряд ли есть пользователь, помнящий точное написание тысяч операторов и функций, входящих в систему MATLAB и в пакеты прикладных программ Пакет расширения Simulink служит для имитационного моделирования моделей, состоящих из графических блоков с заданными свойствами (параметрами). В состав моделей могут включаться источники сигналов различного вида, виртуальные регистрирующие приборы, графические средства анимации После инсталляции Simulink (отдельно от MATLAB или в его составе) он автоматически интегрируется с MATLAB Для загрузки примеров используется (как обычно) команда Open в меню File браузера библиотеки Simulmk Как можно заметить из примера, графическая модель содержит ряд блоков Перед запуском модели нужно установить общие параметры моделирования Первостепенное значение имеют две опции решателя в поле Solver options: тип решения и метод решения В конце панели инструментов Simulink находятся две важные кнопки управления моделированием Вернемся к уже описанному аттрактору Лоренца Использование субмоделей

После перехода к разделу Sinks на экране появляется окно изображенное на рисунке Блок Scope (виртуальный осциллограф) пожалуй, самое важное из регистрирующих устройств При нажатии на пиктограмму Parameters (Параметры) открывается окно изображенное на рисунке Блок XY Graph Блоки То File и То Workspace Раздел Sources (Источники) Блок Constant Блок предназначен для установки констант, применяемых при моделировании. Блок Step Блок обеспечивает формирование управляющего сигнала в форме ступеньки (или, как говорят, скачкообразного постоянного сигнала) Блок Ramp Блок формирует постоянно нарастающий сигнал Блок Repeating Sequence Блок Pulse Generator Блок генерирует последовательности прямоугольных импульсов Блок Chirp Signal Этот блок генерирует синусоидальный сигнал единичной амплитуды и переменной частоты, причем частота колебаний изменяется во времени по линейному закону Блоки Random Number, Uniform Random Number и Band Limited White Noise Раздел Continuous Непрерывные (Continuous) блоки также играют важную роль в создании математических моделей многих устройств. Блок интегрирования Integrator выполняет функции интегрирования входных данных (сигналов) Блоки фиксированной задержки Transport Delay и управляемой задержки Variable Transport Delay Раздел Discontinuous Блоки вычисления элементарных функций Блоки для выполнения логических операций В раздел Discrete (Дискретные элементы) входят блоки, с помощью которых в модели может быть описано поведение дискретных систем.

При анализе работы многих электротехнических устройств приходится иметь дело со сложными электрическими цепями, схемы замещения которых содержат как активные так и пассивные элементы.
Сообщения об ошибках и исправление ошибок в MATLAB