www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "MathCad" - Interpolation einer Funktion
Interpolation einer Funktion < MathCad < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "MathCad"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Interpolation einer Funktion: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 17:06 Fr 02.12.2011
Autor: horst32

Hallo,

Ich habe für ein Studienfach ("Fahrzeugantriebe -Grundlagen") den Druckverlauf auf den Kolben eines Zylinders in einem Verbrennungsmotor ermittelt.

Allerdings habe ich diesen Verlauf nur über 2 Vektoren darstellen können: einmal den Winkel-Vektor (von 0 bis 720° in 0.1er Schritten) und dazu den Druckvektor.

Hier das Bild, wie mein Mathcad Dokument jetzt aussieht:

[Dateianhang nicht öffentlich]


Links sieht man das Diagramm mit dem reellen Druckverlauf, und rechts mein Versuch der Interpolation mit Hilfe von "linanp". Damit komme ich allerdings zu keinem passendem Ergebnis.

Die Frage wäre jetzt: Ist es irgendwie möglich eine Funktion zu ermitteln, die meine Punkte im Diagramm näherungsweise abdeckt, und wie genau mache ich das? (Für mich ist es wichtig, dass ich am Ende eine Funktion in der Form: "p(x)" erhalte. (x steht an dieser Stelle für den Griechischen Buchstaben "Phi")


Für jede Hilfe bin ich sehr Dankbar.

Mit freundlichen Grüßen
Thomas


PS: Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.


Dateianhänge:
Anhang Nr. 1 (Typ: png) [nicht öffentlich]
        
Bezug
Interpolation einer Funktion: Idee
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:30 Sa 03.12.2011
Autor: horst32

Ich hab mir nochmal ein paar Gedanken gemacht und bin zu ein paar Ergebnissen gekommen, die mir aber immernoch nicht wirklich weiterhelfen:

hier mein Mathcad-Dokument:

[Dateianhang nicht öffentlich]

auf der linken Seite hab ich mein Glück weiter mit einer linearen Regression versucht (Funktion: linanp) - Eigentlich das, was ich will, da am Ende eine Funktion rauskommt, die ich Problemlos weiterverwenden kann.
Als Ansatzfunktionen (bei G(Phi)) hab ich verschiedene ausprobiert.
Das grüne Ergebnis, im unteren linken Diagramm ist das Beste, was ich erreicht hab.

Auf der rechten Seite hab ich eine lineare Interpolation zwischen den Punkten gebildet und so einen sehr genauen Funktionsverlauf erzielt.
Leider gibt es keine mir bekannte Möglichkeit diesen Verlauf in einer Funktion auszugeben.

Desweiteren hab ich noch eine Fourier-Transformation und eine Spline-Funktion erstellt, diese sind aber zu ungenau und geben beides wieder nur Vektoren und keine Funktion aus.


Ich hoffe ich konnte noch ein paar Ansätze darlegen, die zur Ergebnisfindung beitragen.

mfg
Thomas

Dateianhänge:
Anhang Nr. 1 (Typ: PNG) [nicht öffentlich]
Bezug
                
Bezug
Interpolation einer Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 10:32 Mo 05.12.2011
Autor: Peter_Pein

Hallo Thomas,

leider beherrsche ich MathCad nicht; dennoch ein Tip:

Es macht bei diesem Datensatz augenscheinlich wenig Sinn, nach einer (womöglich auch noch stetig differenzierbaren) Funktion zu suchen.
MathCad sollte wohl auch über stückweise definierte Funktionen verfügen (heißen in anderen Matheprogrammen "piecewise" oder ähnlich).

Bis zum sprunghaften Anstieg des Drucks könnte eine Funktion der Form [mm]a*e^{-b*(x-x_0)^{2}}[/mm] recht gut passen - evtl auch eine verschobene und gestreckte Variante von [mm]\frac{1}{1+x^{2}}[/mm], dann folgt ein kurzes lineares Stückchen und der parabelförmige Druckabfall könnte auf ein Polynom vierten Grades oder eine Exponentialfunktion passen. Das kurze Stückchen Nullfunktion ist wohl der einfachste Abschnitt [happy].

Ich habe mit Mathematica [mm]\pi[/mm] mal Auge was zusammengebastelt, das dann folgendermaßen aussieht:
[Dateianhang nicht öffentlich].

Hoffentlich hilft dies ein wenig,
Peter


Dateianhänge:
Anhang Nr. 1 (Typ: png) [nicht öffentlich]
Bezug
                        
Bezug
Interpolation einer Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 21:33 Mo 05.12.2011
Autor: horst32

Das ist ne sehr gute Idee!
Verwirklichen lässt sich das mit Mathcad bestimmt, blöd dass ich nicht selber auf die Idee gekommen bin..

Ich werd mich morgen mal da dransetzen - kann aber ne weile dauern, da ich ja zusätzlich noch versuche das ganze parametrisch zu machen.
Wenn die Teilfunktionen sich dann bei jedem Druckverlauf anders aufbauen könnte das zu Problemen führen..

Aber mal schauen, ich probiers mal aus. Danke auf jeden Fall, dass du dir die Mühe gemacht hast! :)

Grüße

Bezug
        
Bezug
Interpolation einer Funktion: Antwort
Status: (Antwort) fertig Status 
Datum: 16:13 Mo 05.12.2011
Autor: leduart

Hallo
deine kurve sieht aus, wie die Überlagerung von 2 Gausskorven,

[mm] f(x)=A*e^{-b*(x-x_0)^2}+B*e^{-b*(x-x_1)^2} [/mm]

wobei [mm] x_0 [/mm] und [mm] x_1 [/mm] etwa bei den 2 Maxima liegen .
Allerdings versteh ich  auch nix von dem cad programm und ob du sowas eingeben kannst.
Kann es sein, dass das ne Überlagerung von 2 Effekten ist, die du eventuell trennen kannst?
Gruss leduart

Bezug
                
Bezug
Interpolation einer Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 21:40 Mo 05.12.2011
Autor: horst32

Hi,
Du meinst mit einer verknüpften e-Funktion könnte es klappen?
Einzelne e-Funktionen hatte ich schon versucht durch Mathcad ausrechnen zu lassen, allerdings hat das nie wirklich ein passendes Ergebnis geliefert, bzw. Fehlermeldungen ausgegeben..

Ich hab allerdings in diese Richtung noch nicht viel rumprobiert (hab eher versucht mit trigonometrischen Funktionen zum Ziel zu kommen) und werd mich morgen mal mehr damit beschäftigen.

Danke auf jeden Fall für deine Hilfe.

Grüße

Bezug
                        
Bezug
Interpolation einer Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 22:59 Mo 05.12.2011
Autor: leduart

Hallo
ich hab gemerkt, dass ich nen tipfehler in meinen Kurven hatte! es muss unbedingt [mm] e^{-b(x-x1^2} [/mm] heissen, in meinem post ist es verbessert
gruss leduart

Bezug
                                
Bezug
Interpolation einer Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:00 Mi 07.12.2011
Autor: horst32

Hi,

also ich hab das mal mit deiner Funktion versucht, und mir die Koeffizienten (A,B,b) von Mathcad ausrechnen lassen... Leider macht das mein Programm nicht, da kommt der Fehler: "Ein Gleitkommafehler ist aufgetreten".

(Ich hab auch mal versucht mir die Punkte x0 und x1 mit ausrechnen zu lassen, aber das macht er auch nicht.)

Grüße

Bezug
        
Bezug
Interpolation einer Funktion: Antwort
Status: (Antwort) fertig Status 
Datum: 22:27 Di 06.12.2011
Autor: ullim

Hi,

gut wäre es, wenn Du die Druckwerte mal komplett posten würdest. Dann könnte ich probieren eine Funktion, vielleicht die von Leduart zu fitten.

Bezug
                
Bezug
Interpolation einer Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 10:44 Mi 07.12.2011
Autor: horst32

Hi,
das ganze ist leider nicht so einfach, da ich jeweis 7200 Werte für den Druck und den Winkel habe..

ich hab dir hier mal meine Berechnung zur Ermittlung der Punkte aus dem Seiliger Prozess hochgeladen:

[Dateianhang nicht öffentlich]

rechts in der Tabelle und darunter stehen die gegeben Werte, die du zuweilen in den Schleifen brauchst.

Grüße

Dateianhänge:
Anhang Nr. 1 (Typ: png) [nicht öffentlich]
Bezug
                        
Bezug
Interpolation einer Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 22:37 Mi 07.12.2011
Autor: ullim

Hi,

ich weiss nicht wie die Funktion [mm] v_Z [/mm] definiert ist. Bei den Werten [mm] v_i [/mm] gehe ich davon aus das diese über die Tabelle mit den Zuständen definiert sind. Ebenso die Werte für [mm] p_i. [/mm] p_max ist der maximale Druck?

Bezug
                                
Bezug
Interpolation einer Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 21:07 Do 15.12.2011
Autor: horst32

Hey, entschuldige, dass ich erst jetzt schreibe. Hatte einigen Stress in letzter Zeit..

Oh ja klar, hab die Volumenfunktion vergessen.

hier nochmal ein Bild, mit (hoffentlich) allen fehlenden Werten:

[Dateianhang nicht öffentlich]


Grüße

Dateianhänge:
Anhang Nr. 1 (Typ: png) [nicht öffentlich]
Bezug
                                        
Bezug
Interpolation einer Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 09:49 Fr 16.12.2011
Autor: ullim

Hi,

leider fehlen immer noch Werte und zwar für für r, D und [mm] \lambda_P [/mm] sowie [mm] p_a [/mm]

Vielleicht kannst Du auch mal das ganze Mathcadfile posten als xmcd oder hmtl File, dann habe ich auf jeden Fall alle Werte.

Ich habe Mathcad 15.0 (15.0.0.436)

Bezug
                                                
Bezug
Interpolation einer Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 12:57 Fr 16.12.2011
Autor: horst32

Hi,

oh man, stimmt.. sorry für das hin und her..

Also das ganze Dokument kann ich leider nicht hochladen, da es nicht meine alleinige Arbeit ist und ich nicht weiß ob ich das einfach veröffentlichen kann.

Aber ich lad mal den Teil des Dokuments hoch, welcher die Ermittlung des Druckverlaufs aus vorgegebenen Werten enthält. Das läuft auch eigenständig und müsste so funktionieren.

[a]Datei-Anhang

Allerdings hab ich Mathcad Version 14 (14.0.1.286) - kannst du das trotzdem öffnen?

grüße

Dateianhänge:
Anhang Nr. 1 (Typ: xmcd) [nicht öffentlich]
Bezug
                                                        
Bezug
Interpolation einer Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:40 Fr 16.12.2011
Autor: ullim

Hi,

ja das Dokument kann ich lesen. Ich schau jetzt mal was ich machen kann und gebe Dir dann Antwort.

Bezug
        
Bezug
Interpolation einer Funktion: Antwort
Status: (Antwort) fertig Status 
Datum: 09:11 Mo 19.12.2011
Autor: ullim

Hi,

ich habe mal ein bisschen probiert und das ist rausgekommen.

[Dateianhang nicht öffentlich]

[Dateianhang nicht öffentlich]

Ein ähnliches Ergebnis kann auch mit der Funktion Minfehl erreicht werden. Allerdings scheint mir, das hier die Abhängigkeit von der Anfangsbedingung empfindlicher ist. LeastSquaresFit rechnet dagegen sehr viel länger. Allerding kann man hier den Parametervektor durch Lower und Upperbound einschränken. Bei Minfehl kamen manchmal negative Werte heraus.

Ich lege die geänderte Datei auch mal bei. LeastSquaresFit ist übrigens eine Funktion aus dem DataAnalysisExtension Pack.

[a]LeastSquaresFit


Dateianhänge:
Anhang Nr. 1 (Typ: png) [nicht öffentlich]
Anhang Nr. 2 (Typ: png) [nicht öffentlich]
Anhang Nr. 3 (Typ: xmcd) [nicht öffentlich]
Bezug
                
Bezug
Interpolation einer Funktion: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:36 Di 20.12.2011
Autor: horst32

Hallo,

Ok, das sieht wirklich nich schlecht aus.. Muss ich mal probieren ob das von den maximalen Abweichungen die hier auftreten akzeptabel ist, aber ich denke schon.
Auf jeden Fall danke vielmals! Ihr wart mir eine sehr große Hilfe und ich werd wohl in Zukunft öfter mal mit meinen Problemen hier ins Forum kommen.

Danke dass ihr euch die Zeit genommen habt!

Frohes Fest und einen guten Rutsch ins neue Jahr :)

mfg
Thomas

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "MathCad"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]