Справочная информация: У меня сложная механическая система колебаний. С аналогами я превратил его в электрическую цепь (каждый элемент - RLC-осциллятор). Единственный способ рассчитать схему - узловой анализ, и это слишком сложно, чтобы сделать это вручную.Пользовательская функция передачи на основе системной матрицы
Как Символического Math Toolbox и SimPowerSystems инструментов нет, нет удобного способа расчета передаточной функции G(s)
использовать передаточную функцию блок.
Итак, я подумал об использовании пользовательских функций, но после консультации с документацией я по-прежнему совершенно беспомощен. Надеюсь найти здесь некоторые первоначальные мысли.
Моя система может быть описана уравнением матрицы:
A*x = y
, где А представляет собой 8x8
матрицы, содержащей RLC-импедансы моей схемы, поэтому в основном каждый элемент является полином Z(s)
например, Z_11(s) = (s^1+2s^0)/(s^2+3s-s^-1)
где s
- переменная области лапласа. Вектор x
представляет собой вектор строки 8x1, содержащий 8 скалярных выходов. И y
является вектором строки 8x1, элементы которого либо являются одним из четырех входных сигналов, либо 0.
Наконец-то мне нужен блок Simulink с 4 входами и 8 выходами, который решает систему линейных уравнений с переменной s
.
Альтернатива Я мог бы предположить, что использовать 4 блока с одним входом каждый (установка других входов на «zero ») и наложение их. Также возможен выбор только одного выхода.
Есть ли способ реализовать это? Как я могу создать блок, который работает в Laplace-Domain, а не во временной области?
Это действительно не проблема.В настоящее время я работаю над решением, используя блок LTI-System Control Toolbox, который позволяет мне оценить мою системную матрицу, заполненную передаточными функциями. Если он наконец-то работает, я отправлю его здесь. – thewaywewalk
Каким образом это не поможет решить вашу проблему? Два подхода, к которым я предложил работу (я использовал их раньше), представление состояния пространства является лучшим способом моделирования системы MIMO. – am304
По нескольким причинам. 1) люди, которые не знакомы с моим кодом, также должны использовать модель, я уверен, что они могут создать квадратную системную матрицу, но я сомневаюсь, что они могут создать систему состояний. У меня также есть свои проблемы, так как некоторые дифференциальные уравнения 4-го порядка или даже выше. Одна единственная матрица для всего лишь самая прозрачная. 2) Я слышал, что преобразование в ss, которое может сделать matlab, не всегда надежное. 3) моя первая идея использования нескольких блоков SISO кажется сложной, так как размер системы обязательно равен, и я не хочу добавлять блоки для каждой конкретной проблемы. – thewaywewalk