2016-05-12 6 views
0

Ich versuche, einen PID-Controller (ein anderes Modell in Simulink) mit Sim-Befehl in einem Matlab-Funktionsblock auszuführen. Allerdings dauert es lange, scheint, dass der Matlab-Funktionsblock mehr Zeit braucht.So rufen Sie sim in Matlab auf Funktionsblock

Wie bekomme ich ein schnelleres Ergebnis?

Hier ist mein Code in Matlab-Funktionsbaustein:

function [Kpp,Kii,Kdd] = fcn(u) 

coder.extrinsic('sim'); 
sim('ExternePID'); %call out to ExternePID model 

Antwort

3

Sie das nicht tun, die nicht funktionieren. Fügen Sie stattdessen Ihr zweites Simulink-Modell als referenced model in Ihr Simulink-Topmodell ein. Auf diese Weise können beide Modelle gleichzeitig ausgeführt werden.

+0

Vielen Dank @ am304 für die Antwort..aber ich verstehe nicht wirklich..inkludieren Sie das Modell als referenziert in Top-Level? – Hanif

+0

Ja, werfen Sie einen Blick auf den Link für einen Überblick über Modellreferenzierung, Sie werden die Idee bekommen. Grundsätzlich ist es eine Möglichkeit, ein Modell in einem anderen Modell zu kapseln. – am304

+0

Vielen Dank für die schnelle Antwort..Ich werde versuchen, ein gutes Verständnis für das referenzierte Modell zuerst..aber es ist auch anwendbar, wenn ich eine Schleife im ersten Modell programmieren, um das zweite Modell (The PID Kontrollmodell) in jeder Iteration innerhalb einer Populationsgröße. – Hanif