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

if-Zweig in Simulink

 

inbo
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 06.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2010, 19:24     Titel: if-Zweig in Simulink
  Antworten mit Zitat      
Hey!
Ich hab grad probiert, eine Embedded Matlab Funktion mit if-Zweig in mein Simulinkmodell einzubringen und festgestellt, dass das nicht funktioniert. Kenn mich leider nicht so gut aus, kann ich meinen if-Zweig irgendwie anders in mein Modell einbringen?
Private Nachricht senden Benutzer-Profile anzeigen


Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2010, 21:03     Titel:
  Antworten mit Zitat      
Normalerweise sollte das kein Problem sein. Poste doch mal Deinen Code hier rein und beschreib etwas genauer, was "funktioniert nicht" bedeutet bzw. was der Code tun soll, wenn er richtig funktioniert.
Private Nachricht senden Benutzer-Profile anzeigen
 
inbo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 06.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2010, 21:41     Titel:
  Antworten mit Zitat      
Viel Dank für die Hilfe.Im Prinzip möcht ich damit eine Feldschwächung realisieren, ich erhalt die Drehzahl von der Asm und möchte abhängig von ihr, meinen Fluss auf Nennwert oder abgeschwächt berechen, der mir dann den notwendigen Sollstrom vorgibt. Als Fehler erscheint jedoch immer, dass PSIr in der letzten Zeile nicht definiert ist.
Code:
function Imgsoll  = FS(omega)

PSIrn = 0.90;
omegan = 2*pi*1435/60;
Lh = 0.2555;

const = PSIrn*omegan;

if abs(omega) <= omegan
    PSIr = PSIrn;
elseif abs(omega) > omegan
    PSIr = const/omega;
end

Imgsoll = PSIr/Lh;
end
[/code]
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2010, 21:46     Titel:
  Antworten mit Zitat      
Mach mal aus dem elseif ein else und guck, was dann passiert. Aber eigentlich sollte das schon gehen so.

Wenn das nix hilft, setz mal im Editor einen breakpoint und lass die Simulation laufen, dann kannste Schritt für Schritt verfolgen, welchen Wert omega hat und was bei den if-abfragen passiert.
Private Nachricht senden Benutzer-Profile anzeigen
 
inbo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 06.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2010, 21:57     Titel:
  Antworten mit Zitat      
Danke. Hab das elseif ausgetauscht und jetzt funktionierts endlich Very Happy.
Private Nachricht senden Benutzer-Profile anzeigen
 
michai
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 83
Anmeldedatum: 22.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.05.2010, 07:28     Titel:
  Antworten mit Zitat      
Alternativ hättest du das auch direkt in Simulink modellieren können, also ganz auf die Embedded Matlab-Funktion verzichten können.
Private Nachricht senden Benutzer-Profile anzeigen
 
Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.05.2010, 08:34     Titel:
  Antworten mit Zitat      
...was meistens auch deutlich schneller ist.
Private Nachricht senden Benutzer-Profile anzeigen
 
inbo
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 06.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.05.2010, 09:28     Titel:
  Antworten mit Zitat      
Aha ok, dann werd ich doch mal probieren, ob ich das ganze auch in Simulink hinbekomm.
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.