getx0

Сопоставьте начальные условия из mechss объект в sparss объект

    Описание

    пример

    x0 = getx0(sys,q0,dq0) вычисляет соответствующее начальное условие x0 для эквивалентной разреженной модели первого порядка, использующей начальные условия для перемещения q0 и скорость dq0 от разреженной модели второго порядка в непрерывном времени sys. Можно опускать второй и третий входные параметры, когда q0 и dq0 являются нулем. Выходные выходы, x0=[q0dq0]=[q(0)dqdt(0)] когда [sys.M;sys.G] матрицы не имеют нулевых столбцов.

    В целом состояния sparss модель есть x=[qdq(jnz)] где jnz индексы ненулевых столбцов [sys.M;sys.G]. Получившееся количество nx состояний nx=nq+numel(jnz)2nq где nq - число узлов в mechss sys объекта.

    пример

    x0 = getx0(sys,q1,q2) вычисляет соответствующее начальное условие с использованием начальных значений q1 = q[k] и q2 = q[k+1] для систем в дискретном времени. Второй и третий входные параметры могут быть опущены при q0 и dq0 являются нулем. Выходные выходы, x0=[q1q2]=[q[k]q[k+1]] когда M и G матрицы mechss модели sys не имеет нулевых столбцов.

    Примеры

    свернуть все

    В данном примере рассмотрим разреженную модель второго порядка в непрерывном времени с 108 узлами. Область векторов-строк q0 и dq0 являются начальными условиями для перемещения и скорости, соответственно. Векторы q0 и dq0 имеют тот же размер, что и число узлов в sys.

    Загрузите данные в sparseSOC.mat и найти начальные условия для эквивалентной разреженной модели первого порядка используя getx0.

    load('sparseSOC.mat','sys','q0','dq0');
    x0 = getx0(sys,q0,dq0);
    size(x0)
    ans = 1×2
    
       216     1
    
    

    В этом случае векторные x0 содержит 216 состояний, с x0=[q0dq0]Формула начального условия в непрерывном времени.

    В данном примере рассмотрим дискретное время разреженную модель второго порядка с 7102 узлами. Область векторов-строк q1 и q2 являются начальными условиями для k и k+1 временные шаги, соответственно. Векторы q1 и q2 имеют тот же размер, что и число узлов в sys.

    Загрузите данные в sparseSOD.mat и найти начальные условия для эквивалентной разреженной модели первого порядка в дискретном времени используя getx0.

    load('sparseSOD.mat','sys','q1','q2');
    x0 = getx0(sys,q1,q2);
    size(x0)
    ans = 1×2
    
           14204           1
    
    

    В этом случае векторные x0 содержит 14204 состояния с x0=[q1q2]Формула начального условия в непрерывном времени.

    Входные параметры

    свернуть все

    Непрерывная или дискретная разреженная модель второго порядка для преобразования в разреженную модель первого порядка, заданную как mechss объект модели.

    Для получения дополнительной информации смотрите mechss страница с описанием.

    Начальные значения вектора перемещения, заданные как вектор-строка длины Nq, где Nq количество состояний в непрерывной разреженной модели второго порядка sys.

    Начальные значения вектора скорости, заданные как вектор-строка длины Nq, где Nq количество состояний в непрерывной разреженной модели второго порядка sys.

    Начальные значения вектора состояния в k, заданный как вектор-строка длины Nq, где Nq количество состояний в непрерывной разреженной модели второго порядка sys. Другими словами, q1 = q[k].

    Начальные значения вектора состояния в k, заданный как вектор-строка длины Nq, где Nq количество состояний в непрерывной разреженной модели второго порядка sys. Другими словами, q2 = q[k+1].

    Выходные аргументы

    свернуть все

    Отображенные начальные условия для эквивалентной разреженной модели первого порядка, возвращенные как массив типа double. Когда большая матрица M и матрицу скорость-выход G от mechss объект не содержит нулевых столбцов, тогда:

    • x0=[q0dq0]=[q(0)dqdt(0)] для систем непрерывного времени.

    • x0=[q1q2]=[q[k]q[k+1]] для систем в дискретном времени.

    Введенный в R2020b