Volumenänderungsarbeit in Matlab berechnen

Hallo,

ich habe ein Problem mit Matlab. Bin noch sehr frisch mit dem Programm und kenne noch nicht die ganzen Kniffe.
Ihc möchte die Arbeit eines Vieraktmotors über das Integrad pdV berechnen. Leider kann ich dem Integrator nicht sagen, dass er nach V und nicht nach t integrieren soll.
Habe das bereits über einen Umweg umgangen, dass ich erst V nach t ableite, das mit p multipliziere und dann integriere. Das klappt auch, aber sobal die step-size geändert wird, ändert sich logischerweise das Ergebniss.

Es muss doch einen Weg geben, dies zu realiesieren?

Vielen Dank

Hallo,
es gibt in Matlab mehrere Wege um das Problem zu lösen.

  1. Numerisch: Mit den vorhandenen Verfahren quad, quadv etc. Hier werden unterschiedliche Integrationsverfahren zur numerischen Berechnung verwendet (s. Hilfe zu den Befehlen). Beispiel:

f = @(v)-1./v;
w = quad(f,2,5);

Erläuterung:
@(v) leitet eine anonyme Funktion ein, die von v abhängt.
-1./v ist diese Funktion. Der Operator ./ bedeutet, dass eine skalare Division durchgeführt wird.

In der nächsten Zeile wird die Funktion quad (Quadratur) aufgerufen. Sie verwendet ein rekursives Simpson-Verfahren für die Berechnung. Integriert wird die Funktion f in den Grenzen von 2 bis 5.

  1. Symbolisch (wenn die TB vorhanden ist):
    sym v;
    w = int(-1/v, 2, 5);

sym v definiert die Variable v.
int() berechnet das Integral in den Grenzen von 2 bis 5. Die Grenzen können allerdings auch entfallen, dann wird das entsprechende unbestimmte Integral gelöst.

Wenn mehrere symbolische Variablen vorhanden sind:

>> syms n R T v
>> w = int(-n*R*T/v,v)

w =

-R*T*n*log(v)

Hier definiert das v nach dem Komma über welche Variable integriert werden soll.

  1. Numerisch: Man kann natürlich auch seine eigenen Verfahren programmieren.

Hallo,

ich bin mir nicht sicher, ob ich verstanden habe.

Matlab ist perfekt, um numerisch zu integrieren. Dazu brauchst Du natürlich immer eine „Breite“ (stepsize) eines jeden Abtastwertes.

Wenn Du analytisch integrieren willst (also die willst aus einer Formel eine andere Formel kriegen), ist Matlab fehl am Platze, da brauchst Du eher sowas wie Maple oder Mthematica.

Gruß!

Hallo,

also am besten postest Du den betreffenden Codeabschnitt dazu, dann könnte man das daran gut erläutern. Desweiteren ist die Frage, ob Du symbolisch oder nummerisch Intigrieren möchtest (Da ich mich nicht mit Motoren auskenne, kann ich nicht einschätzen, was Du brauchst :wink:.

viele Grüße
Guru