реклама на сайте
подробности

 
 
> Simulink и исходный массив, Как привязать массив к модели
PavPro
сообщение Oct 23 2015, 08:09
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 127
Регистрация: 24-02-11
Пользователь №: 63 222



Добрый день. Вопрос относительно простой. Имеется симулинк модель. В качестве входящих данных для модели используется блок Signal From Workspase, в котором указанно имя массива с данными. Сейчас приходится каждый раз при открытии файла модели, этот массив загружать в ручную в рабочее поле матлаб. Как мне сделать так, что бы при загрузки файла модели, этот массив автоматом загружался в рабочее поле матлаб. Я так подозреваю что где то в модели или ее настройках должен быть прописан путь к этому массиву, но никак не могу найти, где?
Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
Grizzzly
сообщение Oct 23 2015, 08:50
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 565
Регистрация: 22-02-13
Пользователь №: 75 748



View -Model Explorer - Model Workspace. Там можно подключить mat-файл, m-код или модель.
Go to the top of the page
 
+Quote Post
PavPro
сообщение Oct 23 2015, 09:28
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 127
Регистрация: 24-02-11
Пользователь №: 63 222



Цитата(Grizzzly @ Oct 23 2015, 11:50) *
View -Model Explorer - Model Workspace. Там можно подключить mat-файл, m-код или модель.

Спасибо большое, вроде разобрался.
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Oct 24 2015, 11:37
Сообщение #4


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



Хороший стиль - это когда все параметры модели и ее блоков берутся из workspace. Для этого они рассчитываются скриптом при загрузке или при старте модели.
Для запуска скриптов на разных этапах работы модели используются Model Callback Functions.
Теми же методами можно сохранять результаты работы модели из workspace в файл
Go to the top of the page
 
+Quote Post
PavPro
сообщение Oct 25 2015, 17:34
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 127
Регистрация: 24-02-11
Пользователь №: 63 222



Дабы не плодить новую тему, спрошу здесь. Есть модель АРУ, есть два режима моделирования: 1) данные в АРУ идут в режиме последовательных выборок,
2) данные поступают в виде вектора.
1-й вариант симулируется без проблем, на ура. Во втором варианте в зависимости от длины вектора, довольно часто вываливается следующая ошибка,
(To rule out solver convergence as the cause of this error, either
a) switch to LineSearch-based algorithm using
set_param('agc','AlgebraicLoopSolver','LineSearch')
cool.gif reducing the fixed step size.
If the error persists in spite of the above changes, then the model is likely ill-defined and requires modification.)
правда при определенных размерностях вектора, симуляция проходит корректно но очень долго. Пробовал различные режимы Solver, и step size - не помогает.
Не понятно, по поводу AlgebraicSolver, куда лезть чтобы его отключить, перенастроить? Что я делаю не так?

Сообщение отредактировал PavPro - Oct 25 2015, 17:34
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Oct 26 2015, 16:25
Сообщение #6


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



Ошибка скорее всего связана с тем, что в систему с обратной связью закрался неразрешимый алгебраический цикл (model is ill-defined). Например, применительно к петле ару, такая ситуация может возникнуть, если сигнал с выхода управляемого усилителя поступает на управляюций вход управляемого усилителя после ряда простых функциональных преобразований (например: возвели в квадрат, взяли логарифм, затем умножили, затем прибавили и т.п. ).

В этом случа алгебраический цикл надо разорвать, поставив элемент задержки в цепь обратной связи.
Go to the top of the page
 
+Quote Post
PavPro
сообщение Oct 26 2015, 17:50
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 127
Регистрация: 24-02-11
Пользователь №: 63 222



Цитата(Fat Robot @ Oct 26 2015, 19:25) *
Ошибка скорее всего связана с тем, что в систему с обратной связью закрался неразрешимый алгебраический цикл (model is ill-defined). Например, применительно к петле ару, такая ситуация может возникнуть, если сигнал с выхода управляемого усилителя поступает на управляюций вход управляемого усилителя после ряда простых функциональных преобразований (например: возвели в квадрат, взяли логарифм, затем умножили, затем прибавили и т.п. ).

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

Спасибо большое за ответ. Насколько я понял из описания Simulink, не очень хорошо когда в модели присутствуют алгебраические циклы? Другой вопрос, как от них избавляться, ведь далеко не всегда можно безболезненно вести элемент задержки в цепь обратной связи (например я не уверен что для той же ФАПЧ, модель будет корректно работать, хотя надо пробовать)? Так же не понятно почему при скалярном типе данных Simulink не спотыкается, а при векторном есть
проблемы. Ведь алгебраический цикл присутствует в обоих случаях, модель то одна?
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Oct 26 2015, 18:02
Сообщение #8


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



Да, конечно. Вот здесь всё описано:
http://mathworks.com/help/simulink/ug/algebraic-loops.html
http://mathworks.com/help/simulink/ug/types-of-solvers.html
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 21:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01449 секунд с 7
ELECTRONIX ©2004-2016