Main Content

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

LPV System

Simulation von linearen parametervarianten Systemen (LPV-Systemen)

Beschreibung

Darstellung und Simulation linearer parametervarianter Systeme (LPV-Systeme) in Simulink®. Der Block unterstützt auch die Codegenerierung.

Ein lineares parametervariantes (LPV) System ist ein lineares Zustandsraummodell, dessen Dynamik in Abhängigkeit bestimmter zeitlich variabler Parameter, der sogenannten Planungsparameter, variiert. In MATLAB® wird ein LPV-Modell in Form eines Zustandsraums mit Koeffizienten dargestellt, die von den Parametern abhängig sind.

Mathematisch wird ein LPV-System wie folgt dargestellt:

dx(t)=A(p)x(t)+B(p)u(t)y(t)=C(p)x(t)+D(p)u(t)x(0)=xinit(1)

Dabei gilt:

  • u(t) sind die Eingänge

  • y(t) sind die Ausgänge

  • x(t) sind die Modellzustände mit dem Anfangswert x0

  • dx(t) ist der Vektor der Zustandsableitung x˙ für zeitkontinuierliche Systeme und der Vektor der Zustandsaktualisierung x(t+ΔT) für zeitdiskrete Systeme. ΔT ist die Abtastzeit.

  • A(p), B(p), C(p) und D(p) sind die Zustandsraum-Matrizen, die durch den Planungsparameter-Vektor p festgelegt sind.

  • Die Parameter p = p(t) sind messbare Funktionen der Eingänge und der Zustände des Modells. Sie können eine skalare Größe oder ein Vektor aus mehreren Parametern sein. Die Menge der Planungsparameter definiert den Planungsraum, auf dem das LPV-Modell definiert ist.

Vorsicht

Vermeiden Sie es, C(p) und D(p) von den Systemausgängen y abhängig zu machen. Andernfalls führt die resultierende Zustandsraumgleichung y = C(y)x + D(y)u zu einer algebraischen Schleife, da die Berechnung des Ausgangswerts y die Kenntnis des Ausgangswerts voraussetzt. Diese algebraische Schleife neigt zu Instabilität und Divergenz. Versuchen Sie stattdessen, C und D in Form der Zeit t, der Blockeingänge u und der Zustandsausgänge x auszudrücken.

Aus ähnlichen Gründen gilt es zu vermeiden, A(p) und B(p) auf der Grundlage des dx-Ausgangs zu planen. Beachten Sie, dass A und B ohne Weiteres von y abhängen dürfen, wenn y eine feste Kombination von Zuständen und Eingängen ist (mit anderen Worten, wenn y = Cx + Du, wobei C und D konstante Matrizen sind).

Der Block implementiert eine gitterbasierte Darstellung des LPV-Systems. Der Nutzer wählt ein Wertegitter für die Planungsparameter. Für jeden Wert p = p* geben Sie das entsprechende lineare System als ein Zustandsraum-Modellobjekt (ss oder idss (System Identification Toolbox)) an. Sie verwenden das generierte Array von Zustandsraummodellen, um den Block LPV System zu konfigurieren.

Der Block akzeptiert ein Array von Zustandsraummodellen mit Betriebspunktinformationen. Die Informationen über die Planungsvariablen werden aus der SamplingGrid-Eigenschaft des LTI-Arrays extrahiert. Die Planungsvariablen definieren das Gitter der LPV-Modelle. Sie sind skalarwertige Größen, die Funktionen der Zeit, Eingänge und Zustände oder Konstanten sein können. Sie werden verwendet, um die lokale Dynamik im Betriebsbereich zu bestimmen. Die Software interpoliert die Werte dieser Variablen. Der Block verwendet dieses Array mit Dateninterpolations- und Extrapolationstechniken für die Simulation.

Die LPV-Systemdarstellung kann erweitert werden, um Offsets der Variablen dx, x, u und y zu ermöglichen. Diese Form wird als affine Form des LPV-Modells bezeichnet. Mathematisch gesehen stellt das Folgende ein LPV-System dar:

dx(t)=dx0(p)+A(p)(x(t)x0(p))+B(p)(u(t)u0(p))y(t)=y0(p)+C(p)(x(t)x0(p))+D(p)(u(t)u0(p))x(0)=xinit(2)

dx¯(p),  x¯(p),  u¯(p),  y¯(p) sind die Offsets der Werte von dx(t), x(t), u(t) und y(t) bei einem bestimmten Parameterwert p = p(t).

Um solche Darstellungen des linearen Systemarrays zu erhalten, linearisieren Sie ein Simulink-Modell in einem Satz von Betriebspunkten (siehe Batch Linearization (Simulink Control Design).) Die Offsets entsprechen den Betriebspunkten, in denen Sie das Modell linearisiert haben.

Sie können die Offsets erhalten, indem Sie zusätzliche Linearisierungsinformationen zurückliefern, wenn Sie Funktionen wie linearize (Simulink Control Design) oder getIOTransfer (Simulink Control Design) aufrufen. Sie können die Offsets dann mit getOffsetsForLPV (Simulink Control Design) extrahieren. Ein Beispiel hierzu finden Sie unter LPV Approximation of Boost Converter Model (Simulink Control Design).

Die folgenden Einschränkungen gelten für den LPV System-Block:

  • Interne Verzögerungen können nicht so extrapoliert werden, dass sie kleiner sind als ihr Minimalwert im Zustandsraum-Modellarray.

  • Wenn Sie ein unregelmäßiges Gitter von linearen Modellen verwenden, um das LPV-System zu definieren, wird nur das Schema der Nächster-Nachbar-Interpolation verwendet. Dies kann die Genauigkeit der Simulationsergebnisse verringern. Es wird empfohlen, mit regelmäßigen Gittern zu arbeiten. Weitere Informationen über regelmäßige und unregelmäßige Gitter finden Sie unter Regular vs. Irregular Grids.

  • LPV System block

Unterstützte Datentypen

Einzel- und Doppeldaten. Sie müssen jeden anderen Datentyp für Eingangssignale oder Modelleigenschaften in diese Datentypen konvertieren.

Parameter

Das Dialogfeld LPV System-Blockparameter enthält fünf Registerkarten zur Angabe der Systemdaten, des Planungsalgorithmus und der Ausgangs-Ports. In der folgenden Tabelle finden Sie eine Zusammenfassung der Blockparameter.

TaskParameter
Angabe eines Arrays von Zustandsraummodellen und Anfangszuständen

In der Registerkarte LPV Model:

Angabe der Betriebspunkt-Offsets

In der Registerkarte LPV Model:

Angabe der Offsets der Zustandsableitungs- oder -aktualisierungsvariable

In der Registerkarte LPV Model:

Legen Sie fest, welche Modellmatrizen fest sind und welche Sollwerte sie haben, um die Einträge in den Modelldaten zu überschreiben.
In manchen Situationen empfiehlt es sich, für die Simulation eine parameterabhängige Matrix wie A(p) durch einen festen Wert A* zu ersetzen. Zum Beispiel kann A* einen Durchschnittswert über den Planungsbereich darstellen.

In der Registerkarte Fixed Entries:

Festlegen der Optionen für die Interpolation und Extrapolation

In der Registerkarte Scheduling:

Angabe von zusätzlichen Ausgängen für den Block

In der Registerkarte Outputs:

Festlegen der Einstellungen für die Codegenerierung

In der Registerkarte Code Generation:

Zustandsraum-Array

Ein Array von Zustandsraummodellen (ss oder idss (System Identification Toolbox)). Alle Modelle in dem Array müssen die gleiche Zustandsdefinition verwenden. Verwenden Sie die SamplingGrid-Eigenschaft des Zustandsraumobjekts, um die Planungsparameter für das Modell anzugeben. Weitere Informationen über die SamplingGrid-Eigenschaft finden Sie auf der Referenzseite des ss- oder idss-Modells.

Wenn sich der Block in einem Modell mit synchroner Zustandssteuerung befindet (siehe den Block State Control (HDL Coder)), müssen Sie ein Array mit zeitdiskreten Modellen angeben.

Anfangszustand

Anfangsbedingungen, die mit dem lokalen Modell zu verwenden sind, um die Simulation zu beginnen, wobei Sie eine der folgenden Angaben machen können:

  • 0 (Standardwert)

  • Doppelvektor mit einer Länge, die der Anzahl der Modellzustände entspricht

Eingangs-Offset

Eingangs-Offsets u(t), wobei Sie eine der folgenden Angaben machen können:

  • 0 (Standardwert) – wird verwendet, wenn es keine Eingangs-Offsets gibt (u¯(p)=0  p).

  • Doppelvektor mit einer Länge, die der Anzahl der Eingänge entspricht – wird verwendet, wenn der Eingangs-Offset im gesamten Planungsraum gleich ist.

  • Doppel-Array der Größe [nu 1 sysArraySize] – wird verwendet, wenn Offsets vorhanden sind und diese im Planungsraum variieren. Hier gilt: nu = Anzahl der Eingänge, sysArraySize = Größe des Arrays des Zustandsraums sys. Verwenden Sie sysArraySize = getArraySize(sys), um die Array-Größe zu ermitteln.

Sie können die Offsets während der Linearisierung erhalten und sie in das Format konvertieren, das vom LPV System-Block unterstützt wird. Weitere Informationen finden Sie unter Approximate Nonlinear Behavior Using Array of LTI Systems (Simulink Control Design) und getOffsetsForLPV (Simulink Control Design).

Ausgangs-Offset

Ausgangs-Offsets y(t), wobei Sie eine der folgenden Angaben machen können:

  • 0 (Standardwert) – wird verwendet, wenn es keine Ausgangs-Offsets gibt y¯(p)=0  p.

  • Doppelvektor mit einer Länge, die der Anzahl der Ausgänge entspricht. Wird verwendet, wenn die Ausgangs-Offsets im gesamten Planungsraum gleich sind.

  • Doppel-Array der Größe [ny 1 sysArraySize]. Wird verwendet, wenn Offsets vorhanden sind und diese im Planungsraum variieren. Hier gilt: ny = Anzahl der Ausgänge, sysArraySize = Größe des Arrays des Zustandsraums. Verwenden Sie sysArraySize = getArraySize(sys), um die Array-Größe zu ermitteln.

Sie können die Offsets während der Linearisierung erhalten und sie in das Format konvertieren, das vom LPV System-Block unterstützt wird. Weitere Informationen finden Sie unter Approximate Nonlinear Behavior Using Array of LTI Systems (Simulink Control Design) und getOffsetsForLPV (Simulink Control Design).

Zustands-Offset

Zustands-Offsets x(t), wobei Sie eine der folgenden Angaben machen können:

  • 0 (Standardwert) – wird verwendet, wenn es keine Zustands-Offsets gibt x¯(p)=0  p.

  • Doppelvektor mit einer Länge, die der Anzahl der Zustände entspricht. Wird verwendet, wenn die Zustands-Offsets im gesamten Planungsraum gleich sind.

  • Doppel-Array der Größe [nx 1 sysArraySize], wobei gilt: nx = Anzahl der Zustände, sysArraySize = Größe des Arrays des Zustandsraums. Wird verwendet, wenn Offsets vorhanden sind und diese im Planungsraum variieren. Hier gilt: nx = Anzahl der Zustände, sysArraySize = Größe des Arrays des Zustandsraums. Verwenden Sie sysArraySize = getArraySize(sys), um die Array-Größe zu ermitteln.

Sie können die Offsets während der Linearisierung erhalten und sie in das Format konvertieren, das vom LPV System-Block unterstützt wird. Weitere Informationen finden Sie unter Approximate Nonlinear Behavior Using Array of LTI Systems (Simulink Control Design) und getOffsetsForLPV (Simulink Control Design).

Zustandsableitungs-Offset/Zustandsaktualisierungs-Offset

Offsets der Zustandsableitung oder Aktualisierungsvariablen dx(t), wobei Sie eine der folgenden Angaben machen können:

  • Wenn Sie das lineare Systemarray durch Linearisierung unter Gleichgewichtsbedingungen erhalten haben, wählen Sie die Option Assume equilibrium operating conditions. Diese Option entspricht einem Offset von dx¯(p)=0 für ein zeitkontinuierliches System und dx¯(p)=x¯(p) für ein zeitdiskretes System. Diese Option ist standardmäßig ausgewählt.

  • Falls das lineare System mindestens ein System enthält, das Sie unter Nicht-Gleichgewichtsbedingungen erhalten haben, deaktivieren Sie die Option Assume equilibrium operating conditions. Geben Sie eine der folgenden Optionen im Offset value-Feld an:

    • Falls die dx-Offsetwerte im gesamten Planungsraum gleich sind, geben Sie dies als Doppelvektor mit einer Länge an, die der Anzahl der Eingaben entspricht.

    • Falls dx-Offsets vorhanden sind und diese im Planungsraum variieren, geben Sie dies als Doppel-Array der Größe [nx 1 sysArraySize] an, wobei gilt: nx = Anzahl der Zustände und sysArraySize = Größe des Arrays des Zustandsraums.

Sie können die Offsets während der Linearisierung erhalten und sie in das Format konvertieren, das vom LPV System-Block unterstützt wird. Weitere Informationen finden Sie unter Approximate Nonlinear Behavior Using Array of LTI Systems (Simulink Control Design) und getOffsetsForLPV (Simulink Control Design).

Nominales Modell

Zustandsraummodell, das die Werte der festen Koeffizienten liefert und wie folgt spezifiziert werden kann:

  • Use the first model in state-space array (Standardeinstellung:): Das erste Modell im Zustandsraum-Array wird zur Darstellung des LPV-Modells verwendet. Im folgenden Beispiel wird das Zustandsraum-Array durch das Objekt sys angegeben und die festen Koeffizienten werden dem Modell sys(:,:,1) entnommen.

    % Specify a 4-by-5 array of state-space models.
    sys = rss(4,2,3,4,5);
    a = 1:4; 
    b = 10:10:50;
    [av,bv] = ndgrid(a,b);
    % Use "alpha" and "beta" variables as scheduling parameters.
    sys.SamplingGrid = struct('alpha',av,'beta',bv);  

    Die festen Koeffizienten werden dem Modell sysFixed = sys(:,:,1) entnommen, das [alpha=1, beta=10] entspricht. Falls der (2,1)-Eintrag der A-Matrix zwangsweise fest ist, wird während der Simulation sysFixed.A(2,1) als sein Wert verwendet.

  • Custom value: Geben Sie für feste Einträge ein anderes Zustandsraummodell an. Legen Sie im State space model-Feld eine Variable für das feste Modell an. Das feste Modell muss die gleiche Zustandsgrundlage verwenden wie das Zustandsraum-Array im LPV-Modell.

Indizes mit festen Koeffizienten

Geben Sie an, welche Koeffizienten der Zustandsraum-Matrizen und Verzögerungsvektoren fest sind.

Geben Sie eine der folgenden Optionen an:

  • Skalarer boolescher Wert (true oder false), falls alle Einträge einer Matrix gleich behandelt werden sollen.

    Der Standardwert für die Zustandsraum-Matrizen und Verzögerungsvektoren ist false, sie werden also als frei behandelt.

  • Logische Matrix mit einer Größe, die mit der Größe der entsprechenden Matrix kompatibel ist:

    Zustandsraum-Matrix

    Größe der Matrix mit festen Einträgen

    A matrix

    nx-mal-nx

    B matrix

    nx-mal-nu

    C matrix

    ny-mal-nx

    D matrix

    ny-mal-nu

    Input delay

    nu-mal-1

    Output delay

    ny-mal-1

    Internal delay

    ni-mal-1

    wobei gilt: nu = Anzahl der Eingänge, ny = Anzahl der Ausgänge, nx = Anzahl der Zustände, ni = Länge des internen Verzögerungsvektors.

  • Numerische Indizes zur Angabe der Position der festen Einträge. Weitere Informationen darüber, wie Sie numerische Indizes erzeugen, die einem bestimmten Index (i,j) für ein Element einer Matrix entsprechen, finden Sie auf der sub2ind-Referenzseite.

Interpolationsmethode

Die Interpolationsmethode. Sie legt fest, wie die Zustandsraumdaten für Planungsparameter-Werte berechnet werden müssen, die sich außerhalb ihrer Gitterposition befinden.

Geben Sie eine der folgenden Optionen an:

  • Flat: Wählen Sie die Zustandsraumdaten an jenem Gitterpunkt, der dem aktuellen Punkt am nächsten liegt, aber nicht größer ist als dieser Punkt. Der aktuelle Punkt ist der Wert der Planungsparameter zum aktuellen Zeitpunkt.

  • Nearest: Wählen Sie die Zustandsraumdaten am nächstgelegenen Gitterpunkt im Planungsraum.

  • Linear: Erhalten Sie Zustandsraumdaten durch lineare Interpolation der nächsten 2d-Nachbarn im Planungsraum, wobei gilt: d = Anzahl der Planungsparameter.

Das Standardinterpolationsschema für regelmäßige Gitter von Planungsparameterwerten ist Linear. Für unregelmäßige Gitter wird unabhängig von der getroffenen Wahl immer das Interpolationsschema Nearest verwendet. Mehr über regelmäßige und unregelmäßige Gitter erfahren Sie hier: Regular vs. Irregular Grids.

Die Methode Linear bietet die höchste Genauigkeit, die Berechnung dauert aber länger. Die Methoden Flat und Nearest eignen sich gut für Modelle, die über Moduswechsel-Dynamik verfügen.

Extrapolationsmethode

Die Extrapolationsmethode. Sie legt fest, wie die Zustandsraumdaten für Planungsparameter-Werte berechnet werden müssen, die sich außerhalb des Bereiches befinden, für den das Zustandsraum-Array bereitgestellt wurde (wie in der Eigenschaft SamplingGrid festgelegt).

Geben Sie eine der folgenden Optionen an:

  • Clip (Standardeinstellung:) – deaktiviert die Extrapolation und liefert die Daten, die dem letzten verfügbaren Planungsgitterpunkt entsprechen, der dem aktuellen Punkt am nächsten liegt.

  • Linear – erstellt eine Linie zwischen dem ersten oder letzten Wertepaar für jeden Planungsparameter an, je nachdem, ob der aktuelle Wert kleiner als der erste oder größer als der letzte Gitterpunktwert ist. Diese Methode liefert den Punkt auf dieser Linie, der dem aktuellen Wert entspricht. Bei der linearen Extrapolation muss auch das Interpolationsschema linear sein.

Index-Suchmethode

Die Position der aktuellen Planungsparameter-Werte im Planungsraum wird durch einen Suchalgorithmus bestimmt. Wählen Sie Linear search oder Binary search. Jede Suchmethode bietet in verschiedenen Situationen Geschwindigkeitsvorteile. Weitere Informationen zu diesem Parameter finden Sie auf der Prelookup (Simulink)-Referenzseite.

Indexsuche mit vorherigem Indexergebnis beginnen

Aktivieren Sie dieses Kontrollkästchen, wenn Sie möchten, dass der Block seine Suche mit dem Index aus dem vorangegangenen Zeitschritt beginnt. Weitere Informationen zu diesem Parameter finden Sie auf der Prelookup (Simulink)-Referenzseite.

Ausgeben von Zuständen

Fügen Sie dem Block einen x-Port hinzu, um Zustandswerte auszugeben. Diese Option ist standardmäßig ausgewählt.

Ausgeben von Zustandsableitungen (zeitkontinuierlich) oder Aktualisierungen (zeitdiskret)

Fügen Sie dem Block einen dx-Port hinzu, um die Werte der Zustandsableitungen auszugeben oder die Werte zu aktualisieren. Diese Option ist standardmäßig ausgewählt.

Ausgeben von interpolierten Zustandsraumdaten

Fügen Sie dem Block einen ss-Port hinzu, um Zustandsraumdaten als Struktur auszugeben. Diese Option ist standardmäßig ausgewählt.

Die Felder der generierten Struktur sind:

  • Zustandsraum-Matrizen A, B, C, D.

  • Verzögerungen InputDelay, OutputDelay und InternalDelay. Das Feld InternalDelay ist nur verfügbar, wenn das Modell eine interne Verzögerung aufweist.

Ausgeben von interpolierten Offsets

Fügen Sie dem Block einen offset-Port hinzu, um die LPV-Modell-Offsets (u¯(p), y¯(p), x¯(p),dx¯(p)) auszugeben.

Die Felder der Struktur sind:

  • InputOffset, OutputOffset, StateOffset und StateDerivativeOffset bei zeitkontinuierlichen Systemen.

  • InputOffset, OutputOffset, StateOffset und StateUpdateOffset bei zeitdiskreten Systemen.

Block-Datentyp (nur für zeitdiskrete Fälle)

Unterstützte Datentypen. Verwenden Sie diese Option nur für zeitdiskrete Zustandsraummodelle. Geben Sie double oder single an.

Anfängliche Puffergröße für Verzögerungen

Anfängliche Speicherzuweisung für die Anzahl der Eingangspunkte, die für Modelle, die Verzögerungen enthalten, gespeichert werden sollen. Wenn die Anzahl der Eingangspunkte die anfängliche Puffergröße überschreitet, weist der Block zusätzlichen Speicher zu. Die Standardgröße ist 1024.

Wenn Sie das Modell im Accelerator-Modus ausführen oder das Modell erstellen, versichern Sie sich, dass die anfängliche Puffergröße groß genug ist, um die maximale erwartete Verzögerung im Modell zu bewältigen.

Verwenden einer festen Puffergröße

Geben Sie an, ob eine feste Puffergröße verwendet werden soll, um verzögerte Eingangs- und Ausgangsdaten aus früheren Zeitschritten zu speichern. Verwenden Sie diese Option für zeitkontinuierliche LPV-Systeme, die Eingangs- oder Ausgangsverzögerungen enthalten. Wenn der Puffer voll ist, ersetzen neue Daten die bereits im Puffer befindlichen Daten. Die Software verwendet die lineare Extrapolation, um Ausgabewerte zu schätzen, die sich nicht im Puffer befinden.

Beispiele

Konfigurieren des Eingangs-Ports der Planungsparameter

Betrachten Sie ein LPV-Modell mit 2 Eingängen, 3 Ausgängen und 4 Zuständen. Verwenden Sie den Eingang u(2) und den Zustand x(1) als Planungsparameter. Konfigurieren Sie das Simulink-Modell wie in der folgenden Abbildung gezeigt.

Simulieren eines linearen parametervarianten Systems

Betrachten Sie ein lineares Masse-Feder-Dämpfer-System, dessen Masse sich in Abhängigkeit von einer externen Laststeuerung ändert. Die maßgebliche Gleichung lautet:

m(u)y¨+cy˙+k(y)y=F(t)

wobei m(u) die von der externen Steuerung u abhängige Masse, c das Dämpfungsverhältnis, k die Steifigkeit der Feder und F(t) die Antriebskraft ist. y(t) ist die Position der Masse zu einem bestimmten Zeitpunkt t. Für einen festen Wert von u ist das System linear und lässt sich wie folgt ausdrücken:

A=[01kmcm],  B=[01m],  C=[10]x˙=Ax+Bu,  y=Cx

Dabei gilt: x=[yy˙] ist der Zustandsvektor und m der Wert der Masse für einen bestimmten Wert von u.

In diesem Beispiel geht es darum, das Verhalten des Modells über einen Bereich von Eingangswerten von 1 bis 10 Volt zu untersuchen. Messen Sie für jeden Wert von u die Masse und berechnen Sie die lineare Darstellung des Systems. Nehmen Sie an, die Masse ist mit dem Eingang durch die folgende Beziehung verbunden: m(u)=10u+0.1u2. Für Werte von u im Bereich von 1 bis 10 ergibt sich das folgende Array linearer Systeme.

% Specify damping coefficient.
c = 5;   
% Specify stiffness.
k = 300; 
% Specify load command.
u = 1:10;
% Specify mass.
m = 10*u + 0.1*u.^2;
% Compute linear system at a given mass value.
for i = 1:length(u)
   A = [0 1; -k/m(i), -c/m(i)];
   B = [0; 1/m(i)];
   C = [1 0];
   sys(:,:,i) = ss(A,B,C,0); 
end

Die Variable u ist der Planungseingang. Fügen Sie diese Information dem Modell hinzu.

sys.SamplingGrid = struct('LoadCommand',u);

Konfigurieren des LPV-System-Blocks:

  • Geben Sie sys in das Feld State-space array ein.

  • Verbinden Sie den Eingangs-Port par mit einem eindimensionalen Quellsignal, das die Werte der Laststeuerung erzeugt. Wenn die Quelle Werte zwischen 1 und 10 liefert, wird die Interpolation zur Berechnung des linearen Modells zu einem bestimmten Zeitpunkt verwendet. Andernfalls wird die Extrapolation verwendet.

Ports

Name des Ports

Port-Typ

(Ein/Aus)

Beschreibung
u Ein

Eingangssignal u(t) in der zuvor beschriebenen Gleichung 2. Bei mehreren Eingängen akzeptiert dieser Port ein Signal der Dimension des Eingangs.

parEin

Stellt die Signale für die Variablen bereit, die den Planungsraum definieren („Abtastgitter“-Variablen). Die Planungsvariablen können Funktionen der Zeit, Eingänge und Zustände oder Konstanten sein. Die erforderliche Abhängigkeit kann erreicht werden, indem Sie ein Planungssignal mit Takteingang (für die Zeit), ein Eingangssignal (u) und die Ausgangssignale (x, dx/dt, y) des LPV-Blocks vorbereiten, je nach Bedarf.

Vorsicht

Vermeiden Sie es, C(p) und D(p) von den Systemausgängen y abhängig zu machen. Andernfalls führt die resultierende Zustandsraumgleichung y = C(y)x + D(y)u zu einer algebraischen Schleife, da die Berechnung des Ausgangswerts y die Kenntnis des Ausgangswerts voraussetzt. Diese algebraische Schleife neigt zu Instabilität und Divergenz. Versuchen Sie stattdessen, C und D in Form der Zeit t, der Blockeingänge u und der Zustandsausgänge x auszudrücken.

Aus ähnlichen Gründen gilt es zu vermeiden, A(p) und B(p) auf der Grundlage des dx-Ausgangs zu planen. Beachten Sie, dass A und B ohne Weiteres von y abhängen dürfen, wenn y eine feste Kombination von Zuständen und Eingängen ist (mit anderen Worten, wenn y = Cx + Du, wobei C und D konstante Matrizen sind).

yAus

Modellausgänge

x Aus

Werte der Modellzustände

dxAus

Werte der Zustandsableitungen. Die Zustandsableitungen werden manchmal verwendet, um die Planungsparameter zu definieren. Vermeiden Sie jedoch die Planung von A und B auf der Grundlage des dx-Ausgangs.

ssAus

Lokales Zustandsraummodell in den wichtigsten Simulationszeitschritten

offsetAusLPV-Modell-Offsets

Erweiterte Fähigkeiten

C/C++ Codegenerierung
Generieren von C und C++ Code mit Simulink® Coder™.

Versionsverlauf

Eingeführt in R2014b