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

1/S Integration in matlab

 

Bennny013
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 04.12.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2013, 16:16     Titel: 1/S Integration in matlab
  Antworten mit Zitat      
Hallo,
da ich mich nun einmal wieder mit matlab beschäftigen wollte um hier etwas weiter gezukommen, wollte ich einige Funktionen die ich zuvor in Simulink hatte direkt in Matlab programieren...

Ich hänge nun aber schon seit einiger zeit den "1/S" Block mit einer einfachen Rückfühurng in Matlab zu realisieren. Ich habe das Schaltbild welches ich umsetzen will aus Simulink als Bild mit angehängt.

Ich hoffe mir kann jemand weiterhelfen oder einen Tip geben, denn der Frust sitzt bei mir mitlerweile schon zml :/

Vielen Dank

Benjamin

Matlabprblem.JPG
 Beschreibung:

Download
 Dateiname:  Matlabprblem.JPG
 Dateigröße:  9.97 KB
 Heruntergeladen:  387 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.11.2013, 16:32     Titel:
  Antworten mit Zitat      
Hallo,

damit setzt du folgende Gleichung um:

Code:
y' = u - y;


Das kannst du dann mit ode45 aus MATLAB heraus lösen.

Idealerweise solltest du dabei aber das Gesamtsystem im Auge haben, also nicht viele einzelne ode45-Aufrufe machen.

Grüßem
Harald
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.11.2013, 16:42     Titel:
  Antworten mit Zitat      
Es gibt ja einen guten Grund warum Simulink so erfolgreich ist Smile

Für den umgekehrten Gedankenweg "ich möchte ein Produkt nicht mehr benutzen, sondern nur MATLAB" höre ich meistens aber nur den Grund "Geld sparen". Was aber immer ein hinkenden Vergleich ist, weil die Grundlage warum MATLAB eingesetzt wird ist ja auch meistens schneller Entwicklungszeit im Vergleich z.B. zu C.

Was ist hier der Grund ohne Simulink auskommen zu wollen?

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 04.12.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2013, 17:00     Titel:
  Antworten mit Zitat      
Hallo,
vielen Dank schon einmal eure Hilfe...

Leider Bin ich mit den Solvern noch nicht so vertraut. Ich rufe ihn wie folgt auf:
Code:
[T,loesung] = ode45('dgl',tspan,1);


Nun weis ich aber nicht genau wie ich die Gleichung
Code:
y' = u - y;
in die dgl Datei schreiben muss... bzw. wie ich man u aufrufen kann.

Zur zweiten Frage... Ich hab festgestellt dass bei größeren Aufgaben Simulink häufig sehr schwer zu lesen ist und deshalb möchte ich am Besten beides mischen. Ich bin gerade dabei zwei Stufentransformatoren zu Simulieren. Habe die elektrische Schaltung in Simulink aufgebaut, möchte jetzt aber die Regelung in Matlab realisieren Smile

Beste Grüße

Benny
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.11.2013, 17:47     Titel:
  Antworten mit Zitat      
Hallo,

wäre es da nicht sinnvoller, mit Subsystemen oder Modellreferenzen zu arbeiten? Damit sollte es an sich möglich sein, auch große Modelle übersichtlich zu halten.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Bennny013
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 04.12.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2013, 22:52     Titel:
  Antworten mit Zitat      
Hallo,
ja habe auch Subnetze angelegt aber grad bei erweiterungen finde ich matlab manchmal einfacher weil man in simulink immer neue blöcke einfügen muss und man in matlab oftmals nur eine schleife einfügen muss um etwas vervielfältigen zu können.... ich bin aber auch noch am Anfang und es kann gut sein dass ich bald meine Meinung ändere Smile

Nochmal zu meine Frage... kann mir jemand helfen wie die Funktion in etwa aussehen muss also der Quelltext... hab mir das Matlab-Simulink Buch von Ulrich Wohlfarth bestellt um auch einmal die Grundsachen nachschlagen zu können. =)

Beste Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.11.2013, 23:16     Titel:
  Antworten mit Zitat      
Hallo,

wenn u zeitabhängig bekannt ist:
Code:

function dy = dgl(t, y)
dy = u(t)-y;

Wenn u sich aus anderen Systemen ergibt und die vielleicht noch in Wechselwirkung miteinander stehen, wird's schwierig.
Dann müsstest du das System als ganzes auseinandernehmen, und ich würde das definitiv nicht machen wollen.

Ich würde zentral in Simulink modellieren, und mit Subsystemen arbeiten. Einzelne nicht-dynamische Komponenten (d.h. keine Blöcke aus 'continuous' oder 'discrete') kann man vielleicht leichter als MATLAB Functions schreiben als sich die Blöcke zusammenzuklicken. Auf oberster Ebene würde ich aber zu Simulink raten.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Bennny013
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 04.12.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.11.2013, 09:06     Titel:
  Antworten mit Zitat      
U(t) ist bei mir ein Vektor... mein Problem ist aktuell, dass ich nicht weis, wie ich U(t) an die Funktion übergeben soll bzw. das Y. Eines davon gebe ich ja mit. Sad

Gruß Benny
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.11.2013, 10:19     Titel:
  Antworten mit Zitat      
Hallo,

verschiedene Möglichkeiten:
a) direkt in die dgl-Funktion schreiben
b) als separate Funktion, die von dgl aufgerufen wird
c) über Parametrisierung, siehe
http://www.mathworks.com/help/matla.....-functions.html#bsgprpq-8

Ich würde aber wie gesagt das gesamte Vorhaben nochmal überdenken.

Grüße,
Harald
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.