Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.0.0 - Русский


bloc2ss

преобразование блок-схемы в пространство состояний

Синтаксис

sl = bloc2ss(blocd)

Аргументы

blocd

список

sl

список

Описание

Заданную линейную систему в виде блок-схемы bloc2ss преобразует в линейную систему пространство состояний. Первый элемент списка blocd должен быть строкой 'blocd'. Остальные элементы этого списка должны сами по себе быть списками одного из следующего типа:

list('transfer','name_of_linear_system')
list('link','name_of_link',
             [number_of_upstream_box,upstream_box_port],
             [downstream_box_1,downstream_box_1_portnumber],
             [downstream_box_2,downstream_box_2_portnumber],
             ...)

Строки 'transfer' и 'link' являются ключевыми словами, которые указывают тип элемента в блок-схеме.

Случай 1: второй параметр списка является символьной строкой, которая может ссылаться (для возможного дальнейшего вычисления) на Scilab-имя линейной системы, заданной в виде пространства состояний (список syslin) или в передаточной форме (матрица или рациональные дроби).

Каждому передаточному блоку присваивается целое число. Каждому входу и выходу передаточного блока также присваивается свой номер, целое число (см. примеры).

Случай 2: второй вид элемента в представлении блок-схемы - это связь (link). Связь связывает один выход блока, представленного парой [number_of_upstream_box,upstream_box_port] (то есть [номер_предшествующего_блока,порт_предшествующего_блока]), с различными входами других блоков. Каждый такой вход предсталяется парой [downstream_box_i,downstream_box_i_portnumber] (то есть [последующий_блок_i,номер_порта_последующего_блока_i]).

Различные элементы блок-схемы могут определяться в произвольном порядке.

Например

[1] S1*S2 с обратной связью блока.

Есть три передаточных звена S1 (число n_s1=2) , S2 (число n_s2=3) и сумматор (число n_add=4) с символической передаточной функцией ['1','1'].

Есть 4 связи :

  • Первая (с именем 'U') связывает вход (порт 0 условного блока -1 не рассматривается) с портом 1 сумматора.
  • Вторая и третья связи соответственно (выходной) порт 1 сумматора с (входным) портом 1 системы S1, а (выходной) порт 1 S1 с (входным) портом 1 S2.
  • Четвёртая связь (названная 'Y') связывает (выходной) порт 1 S2 с выходом (порт 0 условного блока -1 не рассматривается) и с (входным) портом 2 сумматора.

Examples

//Инициализация
syst=list('blocd'); l=1;

//Системы
l=l+1;n_s1=l;syst(l)=list('transfer','S1');  //Система 1
l=l+1;n_s2=l;syst(l)=list('transfer','S2');  //Система 2
l=l+1;n_adder=l;syst(l)=list('transfer',['1','1']);  //сумматор

//Связи
// Выходы  -1 --> выход 1
l=l+1;syst(l)=list('link','U1',[-1],[n_adder,1]);

// Внутренние
l=l+1;syst(l)=list('link',' ',[n_adder,1],[n_s1,1]);
l=l+1;syst(l)=list('link',' ',[n_s1,1],[n_s2,1]);

// Выходы // -1 -> output 1
l=l+1;syst(l)=list('link','Y',[n_s2,1],[-1],[n_adder,2]);

Для s=poly(0,'s');S1=1/(s+1);S2=1/s; результатом вызова исполнения sl=bloc2ss(syst); является представление в пространстве состояний для 1/(s^2+s-1).

[2] Пример LFT (Linear Fractional Transformation) :

// Инициализация
syst=list('blocd'); l=1;

// Система (установка блоков 2x2)
l=l+1;n_s=l;syst(l)=list('transfer',['P11','P12';'P21','P22']);

// Контроллер
l=l+1;n_k=l;syst(l)=list('transfer','k');

// Связи
l=l+1;syst(l)=list('link','w',[-1],[n_s,1]);
l=l+1;syst(l)=list('link','z',[n_s,1],[-1]);
l=l+1;syst(l)=list('link','u',[n_k,1],[n_s,2]);
l=l+1;syst(l)=list('link','y',[n_s,2],[n_k,1]);

С

A=[0,1;0,0];
B=[1;1];
C=[1,1];
D=poly(0,'s');
P=syslin('c',A,B,C,D);

Смотрите также

  • poly — Определение полинома через указанные корни или коэффициенты или определение характеристического полинома квадратной матрицы.
Report an issue
<< armac Linear System Representation cont_frm >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Oct 24 14:37:07 CEST 2023