Динамическая матрица

Обсуждение вопросов, связанных с Simulink

Модератор: Admin

ObeTufted
Пользователь
Сообщения: 1
Зарегистрирован: Вт авг 22, 2017 1:13 pm

Динамическая матрица

Сообщение ObeTufted » Вт авг 22, 2017 1:30 pm

Доброго времени суток!
Помогите, пожалуйста, разобраться с input и output в блоке MatlabFunction.
Есть два блока MatlabFunction: в одном с помощью intlinprog рассчитывается минимальное количество оборудования, необходимого для решения задачи. Например, получается матрица [4 2 0 0 0].
Второй блок MatlabFunction суммирует значения в этой матрице (получается 6, например) и это число подает на функцию intlinprog, где оно является ограничением. Т.е. задача состоит в максимизации количества изделий, получаемых каждым оборудованием, в зависимости от из производственной мощности. И каждый раз длина матрицы, получаемой в результате будет разной, в зависимости от суммы элементов из 1го блока.

Так как результат из 1го блока всегда разный, то Simulink ругается:
"Data 'b' is inferred as a variable size matrix, while its properties in the Model Explorer specify its size as inherited or fixed. Please check the 'Variable Size' check box and specify the upper bounds in the size field."

Окей, в Explore во 2м блоке Matlab ставлю галочку напротив "Variable Size". Вопрос: что надо ставить в окне "Size"??

chernykh
Эксперт
Сообщения: 4494
Зарегистрирован: Ср сен 22, 2004 4:49 pm

Re: Динамическая матрица

Сообщение chernykh » Чт авг 24, 2017 1:25 pm

Так, то что написано:
specify the upper bounds in the size field.

В переводе Google: "Укажите верхние границы в поле размера".
Черных И.В.
Уральский федеральный университет им. Б. Н. Ельцина
Приглашаю к сотрудничеству: http://urfu.ru/ru/science/stimul-pablik
Связь через ЛС.