Подтвердите линеаризацию во временном интервале

Подтвердите линеаризацию во временном интервале

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

  1. Модель Linearize Simulink®.

    Например:

    sys = 'watertank';
    load_system(sys);
    sys_io(1) = linio('watertank/PID Controller',1,'input');
    sys_io(2) = linio('watertank/Water-Tank System',1,'openoutput');
    opspec = operspec(sys);
    op = findop(sys,opspec,findopOptions('DisplayReport','off'));
    linsys = linearize(sys,op,sys_io);

    Если бы вы линеаризовали свою модель в Model Linearizer, необходимо экспортировать линейную модель в рабочую область MATLAB®.

     Покажите мне как

  2. Создайте входной сигнал для валидации. Например, входной сигнал шага:

    input = frest.createStep('Ts',0.1,...
                             'StepTime',1,...
                             'StepSize',1e-5,...
                             'FinalTime',500);
  3. Симулируйте модель Simulink с помощью входного сигнала.

    [~,simout] = frestimate(sys,op,sys_io,input);

    simout симулированный выход нелинейной модели.

  4. Симулируйте линейную модель sys, и сравните ответы временного интервала линейной и нелинейной модели Simulink.

    frest.simCompare(simout,linsys,input)
    legend('FRESTIMATE results with Custom input',...
    			'Linear simulation of linsys with Custom input',...
    			'Location','SouthEast');

    Figure contains an axes. The axes with title From: PID Controller To: Water-Tank System contains 2 objects of type line. These objects represent FRESTIMATE results with Custom input, Linear simulation of linsys with Custom input.

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

  5. Увеличьте амплитуду сигнала шага от 1.0e-005 к 1.

    input = frest.createStep('Ts',0.1,...
                              'StepTime',1,...
                              'StepSize',1,...
                              'FinalTime',500);
  6. Повторите оценку частотной характеристики с увеличенной амплитудой входного сигнала и сравните на этот раз график отклика с точными результатами линеаризации.

    [~,simout2] = frestimate(sys,op,sys_io,input);
    frest.simCompare(simout2,linsys,input)
    legend('FRESTIMATE results with Custom input',...
    			'Linear simulation of linsys with Custom input',...
    			'Location','SouthEast');

    Figure contains an axes. The axes with title From: PID Controller To: Water-Tank System contains 2 objects of type line. These objects represent FRESTIMATE results with Custom input, Linear simulation of linsys with Custom input.

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

Выбор входного сигнала валидации временного интервала

Для валидации временного интервала линеаризации использовать frest.createStep создать сигнал шага. Используйте сигнал шага в качестве входа к frest.simCompare, который сравнивает симулированный выход нелинейной модели и линеаризовавшей модели.

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

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