Forum: PC-Programmierung Rückkopplung


von Peter (Gast)


Lesenswert?

Hallo,

wieso ergibt sich bei folgendem Matlab-Code nicht auch irgendwann ein 
konstanter Fehler? Wenn ich eine solche Rückkopplung mit Simulink 
aufbaue, zeigt er mir einen konstanten Fehler. Eigentlich ist mir klar, 
dass sich der Code so verhalten muss, wenn man das mal auf dem Papier 
für zwei oder drei Durchläufe aufschreibt. Aber was ist in Simulink 
anders?
1
ausgang = 0;
2
eingang = 1;
3
faktor = 2.0;
4
5
for c = 1:50
6
    ausgang = (eingang - ausgang) * faktor;
7
    fprintf('fehler = %d\n', eingang - ausgang);
8
end

Verwirrte Grüße,
Peter

von Yalu X. (yalu) (Moderator)


Lesenswert?

Vielleicht hast du in Simulink einen anderen Wert für f genommen.
Für |f|<1 konvergiert ausgang.

Edit:

Simulink dient ja der Simulation von Regelkreisen, und deine Gleichung
sieht ja fast so aus wie die eines P-Reglers, nur dass hier die
Regelstrecke die Identität ist. Vielleicht hast du in Simulink ja eine
andere Regelstrecke definiert, bei der der Regler stabil wird.

von Peter (Gast)


Lesenswert?

Danke für Deine Antwort.
In Simulink habe ich im Hinzweig den gleichen Faktor wie im Code.
Der Rückzweig wird direkt auf den "negativen Eingang" des 
Summationsglieds geführt. Also sollten nach meinem momentanen 
Verständnis das Simulink-Modell und der Matlab-Code das gleiche machen.

Aber was macht Simulink anders, also was ist im Code nicht 
berücksichtigt?

von Bobby (Gast)


Lesenswert?

Im Matlab Code arbeitest du ja mit diskreten Werten. Ich denke mal du 
hast die Rückkopplung in Simulink nicht getaktet.
Ich könnte mir vorstellen, dass das Simulationsglied hier einfach ganz 
anders arbeitet und den Ausgang stetig anpasst und so auf ganz andere 
Werte kommt.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Bobby schrieb:
> Im Matlab Code arbeitest du ja mit diskreten Werten. Ich denke mal du
> hast die Rückkopplung in Simulink nicht getaktet.

Du hast recht, das ist der Grund für den Unterschied. Durch die Taktung
entsteht eine Totzeit, die das System aufschwingen lässt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.