Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

時間領域における線形化の検証

時間領域における線形化の検証

以下の例では、非線形モデルと線形化モデルのシミュレーションされた出力を比較することによって線形化の結果を検証する方法を説明します。

  1. 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);

    モデル線形化器でモデルを線形化した場合は、線形モデルを 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 に対する入力としてこのステップ信号を使用してください。これにより、非線形モデルと線形化モデルのシミュレーション出力が比較されます。

ステップ入力は、線形モデルのステップ入力による過渡応答を通して主要な時定数を適切に取得できるかどうかを評価するのに役立ちます。

また、正確な線形化シミュレーションの最終値を周波数応答推定と比較することによって、Simulink モデルの DC ゲインが正しく取り込まれたかどうかも、ステップ入力によってわかります。