WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Rückrechnen einer Übertragungsfunktion

 

Flashmaster
Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 02.05.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.05.2012, 10:41     Titel: Rückrechnen einer Übertragungsfunktion
  Antworten mit Zitat      
Hallo zusammen,
Gibt es in Matlab eine Funktion, die es ermöglicht das Gegesätzliche von "series()" zu machen?

Also bei series() "verbinde" ich ja zwei bekannte TF´s und erhalte das Resultat. Wenn ich nun aber das Resultat, sowie eine der beiden TF´s kenne, wie kann ich auf die andere Übertragungsfunktion rückschließen?

Ein einfaches teilen (Resultat / eine der TF´s) erbrachte nicht das erwünschte ergebnis.

MfG
Private Nachricht senden Benutzer-Profile anzeigen


deadball

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.05.2012, 00:39     Titel:
  Antworten mit Zitat      
Wie soll das gehen? Series multipliziert die Übertragungsfunktionen einfach. Wenn du ein Produkt in seine Faktoren aufteilen willst, gibt es meistens auch mehrere möglichkeiten Wink
 
gjp578
Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 23.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.07.2012, 11:34     Titel:
  Antworten mit Zitat      
'Ein einfaches teilen (Resultat / eine der TF´s) erbrachte nicht das erwünschte ergebnis'
was meinst du genau?
das ergebnis sollte richtig sein solange du keine cancellierung der gleichen poles und zeros hast, oder?
_________________

schwer erziehbar...
Private Nachricht senden Benutzer-Profile anzeigen
 
eey
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 86
Anmeldedatum: 31.03.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.07.2012, 23:06     Titel:
  Antworten mit Zitat      
Hi,

ich hab mal aus Spaß eine Funktion programmiert die das macht was du willst. Bitteschön:

Code:

function [ F2 ] = deseries( F,F1 )
   
    % Zähler und Nenner der Gesamtübertragungsfunktion
    num = cell2mat(F.num);
    den = cell2mat(F.den);
   
    % Zähler und Nenner der ersten Übertragungsfunktion
    num1 = cell2mat(F1.num);
    den1 = cell2mat(F1.den);
   
    % Führende Nullen der Gesamtübertragungsfunktion entfernen
    for i=1:length(num)
       if num(i) ~= 0
           a = i;
           break;
       end
    end
    for i=1:length(den)
       if den(i) ~= 0
           b = i;
           break;
       end
    end
    num = num(a:end);
    den = den(b:end);
   
    % Führende Nullen der ersten Übertragungsfunktion entfernen
    for i=1:length(num1)
       if num1(i) ~= 0
           a = i;
           break;
       end
    end
    for i=1:length(den1)
       if den1(i) ~= 0
           b = i;
           break;
       end
    end
    num1 = num1(a:end);
    den1 = den1(b:end);
   
    % Zähler und Nenner der zweiten Übertragungsfunktion bestimmen
    num2 = deconv(num,num1);
    den2 = deconv(den,den1);
   
    % Ergebnis zurückgeben
    F2 = tf(num2,den2);

end

 


Als ersten Parameter übergibst du die Gesamtübertragungsfunktion F, wobei gilt F = F1*F2 und als zweiten Parameter übergibst du F1. Als Ergebnis erhältst du dann F2.

Wenn jemand weiß wie man die Schleifen noch eleminieren kann, kann dies natürlich gerne ergänzt werden.

Schöne Grüße,
eey
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.