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

Differentialgleichgungssystem

 

tumpfi
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 05.05.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.05.2021, 15:35     Titel: Differentialgleichgungssystem
  Antworten mit Zitat      
Hallo zusammen, seit einiger Zeit versuche ich ein Differentialgleichgungssystem zu lösen, komme aber auf keinen grünen Zweig.

Ich habe euch das zu lösende System, sowie meinen Lösungsversuch als Bilddatei mit angehängt.

Wäre schön, wenn mir jemand behilflich sein könnte.

MatLabForum2.jpeg
 Beschreibung:
Das Differentialgleichungssystem

Download
 Dateiname:  MatLabForum2.jpeg
 Dateigröße:  2 MB
 Heruntergeladen:  264 mal
MatLabForum.jpeg
 Beschreibung:
Mein Lösungsversuch

Download
 Dateiname:  MatLabForum.jpeg
 Dateigröße:  32.56 KB
 Heruntergeladen:  266 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

und welche Probleme treten nun bei der Ausführung des Codes auf?
Bitte Code in Textform zur Verfügung stellen, damit man ihn auch ausführen kann.

Bei der Definition von c2 wurde Komma statt Punkt als Dezimaltrennzeichen verwendet.
Mir fällt zudem auf, dass einmal sin und einmal sind verwendet wird. Das ist vermutlich nicht sinnvoll.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
tumpfi
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 05.05.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.05.2021, 18:35     Titel:
  Antworten mit Zitat      
Hallo,

vielen Dank schonmal für den Hinweis mit dem Komma und dem sind.

Ein direktes Problem tritt nicht auf, der Code lässt sich ausführen. Leider komme ich nicht auf das Ergebnis, was ich eigentlich erhalten sollte.
Deshalb habe ich mir gedacht, dass man dieses Gleichungssystem vielleicht irgendwie eleganter lösen könnte oder dass ich irgendwo einen Fehler eingebaut habe.

Hier der Code:



function NarrowChannelLaenge

c1=2.54;
c2=9999999;
c3=2.72;
v0=760;
w0=0;
x0=0.1;
z0=1;

[T,X]=ode23(@rechteSeite,[0 1],[v0 w0 x0 z0]);
plot(T,X(:,3))

function dfdt= rechteSeite(t, f)
v=f(1); w=f(2); x=f(3); z=f(4);

dvdt=(-c1)*(v*v)*(1+c3*(sin(2*pi*z/360)*sin(2*pi*z/360)));
dwdt=c2*(v*v)*sin(2*pi*z/360);
dxdt=v;
dzdt=w;

dfdt=[dvdt;dwdt;dxdt;dzdt];

end
end


Vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.460
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.05.2021, 21:28     Titel:
  Antworten mit Zitat      
Hallo,

und wie genau sieht das Ergebnis aus, das du erhalten sollst?
Kennst du das Ergebnis für alle Komponenten? Verhalten sich vielleicht manche anfangs richtig und andere nicht? Je mehr du das konkretisieren kannst, desto eher ist es möglich, dir zu helfen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
tumpfi
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 05.05.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.05.2021, 22:01     Titel:
  Antworten mit Zitat      
Meine einzige Variable die ich ändern kann/muss ist mein C2.
v die Geschwindigkeit verhält sich wie erwartet.
w die Winkelgeschwindigkeit meiner Meinung nach auch
z der Anstellwinkel ist in meinen Augen auch plausibel

Nur die zurückgelegte Stecke x müsste gegen einen kleineren Wert laufen wie sie es tatsächlich tut.

Ich verwende SI Einheiten. Sprich die Skala beim Plot müsste ja in Metern sein.
Ich müsste gegen ca. 83 mm laufen. Sprich auf der Skala gegen 0.08 m.
Meine x-Achse müsste danach ja in Sekunden skaliert sein, wenn ich das richtig verstehe. (Bin ein totaler MatLab Neuling)

Leider bin ich davon weit entfernt.

Bei der Berechnung handelt es sich um eine ballistische Aufgabe.
Das eindringen von einem Projektil in ballistische Gelatine.

Es trifft mit einer Geschwindigkeit v0 von 760 m/s auf.
Es hat dabei einen Anstellwinkel z0 von 1°.
Die Strecke die es in dem sog. Narrow Channel (grob gesagt der Weg ohne dass das Projektil großartig kippt) zurücklegt x0 ist zu Beginn also 0.
Ebenfalls ist die Winkelgeschwindigkeit w0 zu Beginn 0.

Der Narrow Channel den ich mit diesem System bestimmen will, ist bei dieser Auftreffgeschwindigkeit und diesem Anstellwinkel bei ca. 82 mm.

Ich hoffe ich konnte das Problem ausreichend beschreiben Question
Auf jeden fall schon einmal danke für Ihre Zeit Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

Zitat:
Meine einzige Variable die ich ändern kann/muss ist mein C2.

Das beeinflusst ja aber in erster Linie w und damit z.

Zitat:
v die Geschwindigkeit verhält sich wie erwartet.

Kann doch an sich nicht sein, wenn sich x nicht "wie erwartet" verhält?

Zitat:
Meine x-Achse müsste danach ja in Sekunden skaliert sein, wenn ich das richtig verstehe. (Bin ein totaler MatLab Neuling)

MATLAB interessiert sich für die Einheiten nicht. Die Einheiten sind so, wie du sie über Anfangswerte und Konstanten vorgibst (und das muss natürlich zusammenpassen).

Zitat:
Der Narrow Channel den ich mit diesem System bestimmen will, ist bei dieser Auftreffgeschwindigkeit und diesem Anstellwinkel bei ca. 82 mm.

Mit anderen Worten, du willst C1 bis C3 so bestimmen, dass sich das System wie vorgegeben verhält? Das ist eine sehr wichtige Information, die du wirklich von Anfang an hättest zur Verfügung stellen sollen. Dazu würde ich ein Optimierungsproblem aufstellen, in dem (z.B. mit fmincon) abhängig von C1 bis C3 die DGL gelöst wird und dann einige Kenngrößen mit den gewünschten verglichen werden und aus den Abweichungen der Zielfunktionswert berechnet wird. So lange an C1 bis C3 herumzuprobieren bis es passt ist jedenfalls nicht sehr professionell.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
tumpfi
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 05.05.21
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.05.2021, 09:46     Titel:
  Antworten mit Zitat      
Hallo, danke für die sehr schnelle Antwort. Smile

Nein, mein C1 bis C3 sind ebenfalls durch die Projektildaten vorgegeben. Dafür habe ich noch andere Gleichungen um mein C1 bis C3 zu ermitteln. Diese drei Variablen sind also von Projektil zu Projektil unterschiedlich.
Die drei C meines aktuellen Projektilversuchs:
C1 = 2,54
C2= 775,31 (die 9999999 im Ursprungstext war nur zum rumprobieren)
C3= 2,73


Und dieses DGL-System sollte mir dann die Länge meines Narrow Channels ausspucken.
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.