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

simulink modell in m-file umwandeln

 

mnm2009
Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 21.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.07.2011, 20:10     Titel: simulink modell in m-file umwandeln
  Antworten mit Zitat      
Hallo Matlab profis,

ich habe ein Modell bekommen und ich soll das im m.File schreiben.
ich weiß , dass i , j m n_1_ay,n_2_ay und t_abtast konstant sind, aber mit welcher Code bekomme ich die rücktransformation von meinen Eingänge?
Danke im voraus.

FSD_ay1.mdl
 Beschreibung:

Download
 Dateiname:  FSD_ay1.mdl
 Dateigröße:  41.54 KB
 Heruntergeladen:  334 mal

_________________

Gruß
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 11.07.2011, 21:35     Titel:
  Antworten mit Zitat      
Warum sollte jemand der ein funktionierendes Simulink Modell hat Zeit in die Erstellung einer MATLAB Datei gleicher Funktionalität haben?

Kann man nicht einfach mit dem SIM Kommando arbeiten?

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
mnm2009
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 21.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.07.2011, 21:51     Titel:
  Antworten mit Zitat      
danke für die Anwort.
ja das Modell war erstmal für die Ermittlung der eingefrorene Zeiten (tote Zeiten) in eines Signal nachgedacht.Jetzt soll es automatisiert werden und für beliebige Messung also in einer Schleife verwendet werden.
Was das Modell macht: der bekommt des Signals am Eingang und abtastet, beim konstante Werte oder eingefrorene Variables bekommt man nullen .
Jetzt habe ich die Aufgabe ohne das Simulink Modell zu untersuchen, wann und wie lange das Signal am Eingang einfrieren.
Ich hoff , dass alles klar ist.
Ich habe auch versuch ohne das Modell, einfach die Funktion diff zu verwenden aber meine Ergebnis ist nicht sooo optimal wie die Ergebnisse des Modells.
Code:
LSB = 0;
   a = diff(res_vGiInFine_20);
   zeit1 = [];
   freezed = [];
   freezed_an_o = [];
             
    for i = 1:length(a)
        if a(i) == 0
            zeit1 = [zeit1;res_q_T0(i)];
        end
            if  a(i) ~= 0 && a(i+1) == 0 && abs(res_vGiInFine_20(i+1)-res_vGiInFine_20(i)<= LSB)%% a(i+2) == 0  || (a(i-1) == 0 && a(i-2) == 0)) %100
                zeit1 = [zeit1;res_q_T0(i)];
            end
            if  a(i) ~= 0 && a(i-1) ~= 0 && abs(res_vGiInFine_20(i+1)-res_vGiInFine_20(i)<= LSB)%&& a(i+2) == 0) || ( a(i-1) ~= 0 && a(i-2) == 0))%110
                zeit1 = [zeit1;res_q_T0(i)];
            end
           
         
            if i < length(a) && a(i) ~= 0 && a(i+1) ~= 0 && a(i+2) ~= 0
                if isempty(zeit1) == 1 || length(zeit1) == 1
                    ts = t_abtast;
                else
                ts = zeit1(end)-zeit1(1);
                freezed = [freezed;ts];
                freezed_an_o = [freezed_an_o;zeit1(1)];
                zeit1 = [];
                end
          %  if a(i) ~= 0 && a(i-1) == 0 && a(i-2) ~= 0
            end
           
     end

Hat vielleicht jemand eine Idee??
_________________

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
mnm2009
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 21.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.07.2011, 21:51     Titel:
  Antworten mit Zitat      
danke für die Anwort.
ja das Modell war erstmal für die Ermittlung der eingefrorene Zeiten (tote Zeiten) in eines Signal nachgedacht.Jetzt soll es automatisiert werden und für beliebige Messung also in einer Schleife verwendet werden.
Was das Modell macht: der bekommt des Signals am Eingang und abtastet, beim konstante Werte oder eingefrorene Variables bekommt man nullen .
Jetzt habe ich die Aufgabe ohne das Simulink Modell zu untersuchen, wann und wie lange das Signal am Eingang einfrieren.
Ich hoff , dass alles klar ist.
Ich habe auch versuch ohne das Modell, einfach die Funktion diff zu verwenden aber meine Ergebnis ist nicht sooo optimal wie die Ergebnisse des Modells.
Code:
LSB = 0;
   a = diff(res_vGiInFine_20);
   zeit1 = [];
   freezed = [];
   freezed_an_o = [];
             
    for i = 1:length(a)
        if a(i) == 0
            zeit1 = [zeit1;res_q_T0(i)];
        end
            if  a(i) ~= 0 && a(i+1) == 0 && abs(res_vGiInFine_20(i+1)-res_vGiInFine_20(i)<= LSB)%% a(i+2) == 0  || (a(i-1) == 0 && a(i-2) == 0)) %100
                zeit1 = [zeit1;res_q_T0(i)];
            end
            if  a(i) ~= 0 && a(i-1) ~= 0 && abs(res_vGiInFine_20(i+1)-res_vGiInFine_20(i)<= LSB)%&& a(i+2) == 0) || ( a(i-1) ~= 0 && a(i-2) == 0))%110
                zeit1 = [zeit1;res_q_T0(i)];
            end
           
         
            if i < length(a) && a(i) ~= 0 && a(i+1) ~= 0 && a(i+2) ~= 0
                if isempty(zeit1) == 1 || length(zeit1) == 1
                    ts = t_abtast;
                else
                ts = zeit1(end)-zeit1(1);
                freezed = [freezed;ts];
                freezed_an_o = [freezed_an_o;zeit1(1)];
                zeit1 = [];
                end
          %  if a(i) ~= 0 && a(i-1) == 0 && a(i-2) ~= 0
            end
           
     end

Hat vielleicht jemand eine Idee??
_________________

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
mnm2009
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 21.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.07.2011, 22:02     Titel:
  Antworten mit Zitat      
du hast recht Andreas , wenn ich überlege muss mit SIM laufen.
Ich werde wahrscheinlich ein Vektor mit nullen und eins bekommen...und dann kann ich scope sehen was sie entsprechend und mit Hilfe der Zeitvektor eine Schleife schreiben , um meine eingefrorene Zeiten zu haben.
Danke für den Hinweis
_________________

Gruß
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 - 2025 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.