Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Передача данных в модель Simulink





Если параметры блоков модели часто изменяются, удобнее сделать так, чтобы их можно было менять прямо в командном окне Matlab или даже из скрипта. Для этого при задании параметров блоков надо использовать не числовые значения, а имена переменных. При запуске моделирования Simulink будет искать переменные с такими именами в рабочей области Matlab и подставлять их значения. Например, в параметрах блока Transfer Fcn можно задать

Numerator: n

Denominator: d

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

>> n = [1 2]

n = 1 2

>> d = [2 3 1]

d = 2 3 1

При любом изменении этих массивов в рабочей области меняются и свойства соответствующего блока в модели. Можно использовать и более сложные выражения, например, в поле Numerator можно ввести Kc*[Ts 1 0]. Это означает, что числитель имеет вид , при старте моделирования из рабочей области Matlab будут загружены значения двух переменные с именами Kc и Ts.

Функции Matlab

Все М-файлы, с которыми работает система Matlab, делятся на две категории: скрипты и функции. Скрипт – это просто последовательность команд, в которой используются переменные из основного рабочего пространства Matlab. Функция – это подпрограмма, которая принимает аргументы (параметры) и возвращает результаты. В отличие от функций в большинстве языков программирования, функция Matlab может возвращать несколько результатов (а не один). Функция отличается от скрипта тем, что имеет заголовок, который начинается словом function. Например, заголовок

function [a,b,c,d] = qq (x, y, z)

определяет функцию с именем qq, которая принимает три параметра (x, y и z) и возвращает 4 результата (a, b, c и d). В отличие от большинства современных языков, типы переменных (целая, вещественная, символьная, массив и т.д.) не определяются заранее, каждая из них содержать любые допустимые в Matlab данные.

Функция записывается в М-файл (с расширением .m), имя которого должно совпадать с именем функции. Например, функция qq должна быть записана в файл qq.m. Современные версии Matlab вообще не обращают внимание на имя функции (в заголовке), важно только имя файла.

Функция имеет своё пространство переменных и не может напрямую обращаться к переменным основного рабочего пространства. Внутри функции доступны аргументы, кроме того, можно вводить и использовать новые переменные. Для того, чтобы вернуть нужные значения, надо записать их в переменные a, b, c и d. Оператор return используется для досрочного возврата из функции (до этого во все выходные переменные должны быть записаны нужные значения).

Функции могут вызываться по имени из командной строки Matlab, из скрипта или из другой функции. Например, для вызова рассмотренной выше функции qq надо набрать команду вида

[w,e,r,t] = qq (x1, 4*x2, 3)

В данном случае при работе функции вместо x используется значение переменной x1, вместо y – значение выражения 4*x2, а вместо z – число 3. Результаты функции записываются в переменные w, e, r и t.

При вызове функции количество входных и выходных переменных может быть меньше (но не больше!), чем в заголовке функции. Внутри функции число входных параметров хранится в специальной переменной nargin, а число выходных величин – в переменной nargout.

Некоторые стандартные функции Matlab

Система Matlab включает большой набор стандартных функций. Большинство этих функций также оформлены в виде М-файлов, их адрес можно узнать с помощью команды which. В этой работе используются три функции:

· abs – вычисление модуля числа или модуля каждого элемента массива

· max – вычисление максимального значения в массиве (есть также функция min для вычисления минимального значения)

· find – поиск элементов массива, соответствующих заданному условию.

Работа с функциями abs и max достаточно очевидна, поэтому рассмотрим только функцию find. Она возвращает индексы (номера) элементов массива, которые удовлетворяют заданному условию. Например, если A – массив, а b – число, то команда >> ind = find (A > b) выполняется так:

в переменную ind записывается массив номеров элементов массива A, которые больше b. В условии можно использовать знаки <;, >;, <=, >=, = = (равно), ~= (не равно). Сложные условия строятся с помощью операций ~ (НЕ), &; (И) и | (ИЛИ) так же, как и в других языках программирования.







Дата добавления: 2015-09-19; просмотров: 1141. Нарушение авторских прав; Мы поможем в написании вашей работы!




Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


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


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Определение трудоемкости работ и затрат машинного времени На основании ведомости объемов работ по объекту и норм времени ГЭСН составляется ведомость подсчёта трудоёмкости, затрат машинного времени, потребности в конструкциях, изделиях и материалах (табл...

Гидравлический расчёт трубопроводов Пример 3.4. Вентиляционная труба d=0,1м (100 мм) имеет длину l=100 м. Определить давление, которое должен развивать вентилятор, если расход воздуха, подаваемый по трубе, . Давление на выходе . Местных сопротивлений по пути не имеется. Температура...

Огоньки» в основной период В основной период смены могут проводиться три вида «огоньков»: «огонек-анализ», тематический «огонек» и «конфликтный» огонек...

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

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

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия