Verfasst am: 02.09.2015, 17:57
Titel: Integralgleichung in Matlab-Skript umsetzen
Hallo,
ich versuche gerade meine Gleichung:
erg = ∫ (a-b) dx + ∫ (c*(dy1/dx) + d*(dy2/dx)) dx
in ein Matlab-Skript umzusetzen. Dabei sind a,b,c,d,y1,y2 und x Vektoren einer bestimmten Länge (natürlich haben alle die gleiche Länge). Also müsste ich wohl numerisch ableiten und integrieren!?
Das Skript soll eine function enthalten, die das Ergebnis "erg" zurückgibt.
Mein bisheriger Code funktioniert leider nicht bzw. liefert nicht die gewünschten Ergebnisse.
Wenn du Beispieldaten zur Verfügung stellen kannst und vor allem auch sagen kannst, inwiefern die Ergebnisse von den erwarteten abweichen, wäre das sehr hilfreich.
Sind die Ergebnisse insbesondere komplett falsch oder "nur" ungenau? Letzteres kann einfach daran liegen, dass du zu wenig Daten verwendest.
Grüße,
Harald
limelight70
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 03.09.2015, 18:57
Titel:
Hallo Harald,
also ich habe mir das heute nochmal genauer angeguckt.
Zunächst einmal ist noch ein wichtiger Punkt das meine Stützstellen x nicht äquidistant sind. Ich habe einen x-Vektor mit 121 Einträgen der wie folgt aufgebaut ist:
x-Werte 1 bis 41 0:0.0025:0.1
x-Werte 41 bis 81 : 0.1:0.02:0.9
x-Werte 81 bis 121 : 0.9:0.0025:1
Alle Funktionen a,b,c,d,y1 und y2 hängen von x ab.
Von denen habe ich diskrete Funktionsauswertungen aber keine analytische Funktion.
Qualitativ komme ich auf die richtigen Ergebnisse nur sind sie für recht ungenau und ich frage mich ob man den Code nicht noch eleganter hinbekommt.
Am unsichersten war ich mir mit der Umsetzung der Ableitungen dy1/dx und dy2/dx und ich schätze auch mal dass dort die größte Fehlerquelle zu finden ist.
Und gute Alternativen für die Trapezregel habe ich auf Anhieb leider auch nicht gefunden.
mir ist nichts besseres bekannt. Wenn du komplette Beispieldaten zur Verfügung stellst und sagst, was gewünschtes und tatsächliches Ergebnis sind, kann man sich das genauer ansehen.
Grüße,
Harald
Einstellungen und Berechtigungen
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
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.