Студопедия — Передача данных в модель Simulink
Студопедия Главная Случайная страница Обратная связь

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

Передача данных в модель 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; просмотров: 1090. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

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

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов...

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

Индекс гингивита (PMA) (Schour, Massler, 1948) Для оценки тяжести гингивита (а в последующем и ре­гистрации динамики процесса) используют папиллярно-маргинально-альвеолярный индекс (РМА)...

Методика исследования периферических лимфатических узлов. Исследование периферических лимфатических узлов производится с помощью осмотра и пальпации...

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

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