2015-05-02 4 views
-1

Я хочу, чтобы два найти умножение двух матриц в Simulink. Можно ли читать A и B матрицы из Workspace и найти их умножение в simulink? Какой блок следует использовать для чтения этих данных? Это из рабочего пространства, предназначенного для этого?Умножение двух матриц в Simulink

Заранее спасибо

ответ

1

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

Чтобы ответить на ваш вопрос, вы должны использовать блоки Constant, параметризованные именами переменных матриц. Затем просто используйте блок Product, убедившись, что выпадающий параметр «Умножение» равен «Матрица», а не по умолчанию «Элементный».

+0

Матрица, в которой я собираюсь взаимодействовать, имеет переменный параметр, который должен быть оценен. P.S: Я имитирую проблему с адаптивным режимом скользящего режима. – Arjanizary

+0

Ваш вопрос непонятен и/или отсутствует информация. Если ваши матрицы постоянны, используйте постоянные блоки. Если у вас есть временные ряды, т. Е. Ваши матрицы являются функцией времени и уже определены в рабочем пространстве MATLAB, используйте блоки From From Workspace. Если вы построите свои матрицы на лету, используйте что-то вроде [Vector Concatenate или Matrix Concatenate blocks] (http://uk.mathworks.com/help/simulink/slref/vectorconcatenate.html). – am304

Смежные вопросы