2012-05-15 2 views
0

Я пытаюсь параметризовать одну из моих моделей Simulink, так что у меня будет коэффициент усиления в модели, значение которой равно элементу вектора рабочей области MATLAB, индексированного моделью параметр. То есть, я хочу определить аргумент модели WheelIndex и получить коэффициент усиления внутри модели со значением AxelLoads(WheelIndex).Выбор элемента MATLAB Vector на основе аргумента модели Simulink

Когда я делаю это точно так, как я описал выше, я получаю ошибку «векторные индексы должны быть реальными и положительными целыми числами». Когда я изменить модель аргумент AxelLoad (будет использоваться непосредственно в компоненте усиления) и присвоить его значение будет AxelLoads(1) (для первого колеса) я получаю:

Ошибка в 'Обзор/колесо1. Параметры «18000.0, 15000.0, 17000.0, 21000.0»: «18000.0, 15000.0, 17000.0, 21000.0» не могут быть оценены.

Я также попытался импортировать вектор в качестве постоянного блока в модель, и использовать блок селектора параметризованный с помощью аргумента WheelIndex направить правильный элемент в блок умножения (тем самым делая некрасивый блок усиления), но затем Simulink жалуется, что я пытаюсь использовать аргумент модели для определения «неперестраиваемого значения».

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

Благодаря

ответ

1

Не могли бы вы использовать lookup table для получения AxelLoads против WheelIndex?