Pavel Proskura 1 23 октября, 2015 Опубликовано 23 октября, 2015 · Жалоба Добрый день. Вопрос относительно простой. Имеется симулинк модель. В качестве входящих данных для модели используется блок Signal From Workspase, в котором указанно имя массива с данными. Сейчас приходится каждый раз при открытии файла модели, этот массив загружать в ручную в рабочее поле матлаб. Как мне сделать так, что бы при загрузки файла модели, этот массив автоматом загружался в рабочее поле матлаб. Я так подозреваю что где то в модели или ее настройках должен быть прописан путь к этому массиву, но никак не могу найти, где? Заранее спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Grizzly 0 23 октября, 2015 Опубликовано 23 октября, 2015 · Жалоба View -Model Explorer - Model Workspace. Там можно подключить mat-файл, m-код или модель. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Pavel Proskura 1 23 октября, 2015 Опубликовано 23 октября, 2015 · Жалоба View -Model Explorer - Model Workspace. Там можно подключить mat-файл, m-код или модель. Спасибо большое, вроде разобрался. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 3 24 октября, 2015 Опубликовано 24 октября, 2015 · Жалоба Хороший стиль - это когда все параметры модели и ее блоков берутся из workspace. Для этого они рассчитываются скриптом при загрузке или при старте модели. Для запуска скриптов на разных этапах работы модели используются Model Callback Functions. Теми же методами можно сохранять результаты работы модели из workspace в файл Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Pavel Proskura 1 25 октября, 2015 Опубликовано 25 октября, 2015 (изменено) · Жалоба Дабы не плодить новую тему, спрошу здесь. Есть модель АРУ, есть два режима моделирования: 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') B) 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, куда лезть чтобы его отключить, перенастроить? Что я делаю не так? Изменено 25 октября, 2015 пользователем PavPro Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 3 26 октября, 2015 Опубликовано 26 октября, 2015 · Жалоба Ошибка скорее всего связана с тем, что в систему с обратной связью закрался неразрешимый алгебраический цикл (model is ill-defined). Например, применительно к петле ару, такая ситуация может возникнуть, если сигнал с выхода управляемого усилителя поступает на управляюций вход управляемого усилителя после ряда простых функциональных преобразований (например: возвели в квадрат, взяли логарифм, затем умножили, затем прибавили и т.п. ). В этом случа алгебраический цикл надо разорвать, поставив элемент задержки в цепь обратной связи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Pavel Proskura 1 26 октября, 2015 Опубликовано 26 октября, 2015 · Жалоба Ошибка скорее всего связана с тем, что в систему с обратной связью закрался неразрешимый алгебраический цикл (model is ill-defined). Например, применительно к петле ару, такая ситуация может возникнуть, если сигнал с выхода управляемого усилителя поступает на управляюций вход управляемого усилителя после ряда простых функциональных преобразований (например: возвели в квадрат, взяли логарифм, затем умножили, затем прибавили и т.п. ). В этом случа алгебраический цикл надо разорвать, поставив элемент задержки в цепь обратной связи. Спасибо большое за ответ. Насколько я понял из описания Simulink, не очень хорошо когда в модели присутствуют алгебраические циклы? Другой вопрос, как от них избавляться, ведь далеко не всегда можно безболезненно вести элемент задержки в цепь обратной связи (например я не уверен что для той же ФАПЧ, модель будет корректно работать, хотя надо пробовать)? Так же не понятно почему при скалярном типе данных Simulink не спотыкается, а при векторном есть проблемы. Ведь алгебраический цикл присутствует в обоих случаях, модель то одна? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 3 26 октября, 2015 Опубликовано 26 октября, 2015 · Жалоба Да, конечно. Вот здесь всё описано: http://mathworks.com/help/simulink/ug/algebraic-loops.html http://mathworks.com/help/simulink/ug/types-of-solvers.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться