Berechnung der Höhe eines Volumens in einem Zylinder

Neue Frage »

Schmulle63 Auf diesen Beitrag antworten »
Berechnung der Höhe eines Volumens in einem Zylinder
Hallo zusammen Wink
Kann mir jemand bei folgendem Problem helfen?
Ich habe ein Rohr (Zylinder) mit festem Radius von 10 cm. Die Länge kann variieren.
Nun werden unterschiedliche Volumina von Wasser in dieses Rohr (liegt eben auf dem Boden) gefüllt.
Wie kann ich möglichst einfach die Füllstandhöhe in dem Rohr berechnen?
Im Einzelfall habe ich natürlich die Rohrlänge.

Vielen Dank schon mal!
Ehos Auf diesen Beitrag antworten »

gegeben:
L=Rohrlänge
h=Höhe des Wasserstandes im Rohr
r=Rohrradius

gesucht:
V=Volumen des Wassers
-----------------------

Das Volmen berechnet man gemäß:



----------------------------------------------------------------------------------
Spezialfall 1: Im Fall h=0 ist das Rohr leer und man erhält wegen das Volumen V=0.
----------------------------------------------------------------------------------
Sezialfall 2: Im Fall h=r ist das Rohl halb voll und man erhält wegen das Volumen , was dem bekannten Volumen eines halben Zylinders entspricht.
----------------------------------------------------------------------------------
Phenix Auf diesen Beitrag antworten »

Es ist die Füllhöhe (FH) im Rohr und nicht das Volumen im Rohr gesucht.

Gegeben:
V(max) = Rohrvolumen
L = Rohrlänge
d = Rohrdurchmesser

Gesucht:
FH = Füllhöhe

FH = V/V(max)*d
Huggy Auf diesen Beitrag antworten »

Zitat:
Original von Phenix
Gesucht:
FH = Füllhöhe

FH = V/V(max)*d

Das ist grottenfalsch!

Um die Füllhöhe als Funktion des eingefüllten Volumens zu bestimmen, ist die Formel von Ehos nach aufzulösen. Das ist allerdings nur numerisch möglich. Wenn keine übermäßige Genauigkeit erforderlich ist, kann man sich ein Diagramm für erstellen. Man geht dann mit auf der y-Achse in das Diagramm und kann auf der x-Achse ablesen. Möchte man das Diagramm universeller gestalten, trägt man über auf.
Phenix Auf diesen Beitrag antworten »

@Huggy

… grottenfalsch?

Fall 1: V im Rohr = 0
dann gilt: FH = (0 / V(max)) * d = 0

Fall 2: V im Rohr = V(max)
dann gilt: FH = (V(max) / V(max)) * d = d

das ist doch richtig, oder?
Huggy Auf diesen Beitrag antworten »

Und was ist mit den Fällen dazwischen? Wenn etwas für einzelne (und hier noch dazu triviale) Fälle richtig ist, für alle anderen Fälle aber falsch ist, dann ist das falsch. Da ist jede Diskussion überflüssig.
 
 
HAL 9000 Auf diesen Beitrag antworten »

Behauptung: Es gilt für alle

Beweis: Es gilt für die beiden Randpunkte sowie , und sogar auch noch für die Intervallmitte , q.e.d.


Phenix Auf diesen Beitrag antworten »

Fall 3: V im Rohr = 0,5 V(max)
dann gilt: FH = (0,5 V(max)) / V(max) * d = 0,5 d

das ist auch richtig, oder?
Huggy Auf diesen Beitrag antworten »

Siehe HAL!
Und noch mal: Diskussion überflüssig.
Phenix Auf diesen Beitrag antworten »

Fall x: V(x) = xV(max)
dann gilt: FH = (xV(max) / V(max) * d = x d (für x = 0 - 1)

das ist die Verallgemeinerung.
Huggy Auf diesen Beitrag antworten »

Zitat:
Original von Huggy
Und noch mal: Diskussion überflüssig.
HAL 9000 Auf diesen Beitrag antworten »

Die von Ehos angegeben Formel ist nicht explizit nach umstellbar. Etwas umformuliert bekommt man



mit Hilfsfunktion . Die kann man mal plotten:




Wie man sieht (und auch analytisch nachweisbar ist), ist das eine streng monoton wachsende stetige Funktion (die aber nicht linear ist!!!), sie besitzt also eine Umkehrfunktion . Leider lässt die sich nicht mit gewöhnlichen Funktionen explizit darstellen - was bleibt sind Näherungsverfahren oder vielleicht auch Reihenentwicklungen, die zumindest für gewisse Argumentbereiche brauchbar sind.

Mit diesem ist dann , anwendbar für .
Phenix Auf diesen Beitrag antworten »

Genau, meine einfache Formel ist für bestimmte Bereiche eine brauchbare Näherungsfunktion. Danke, schon wieder etwas gelernt.

@HAL, wie groß ist denn mit deiner Formel die Füllhöhe, wenn 25% bzw. 75% von V(max) im Rohr sind?
HAL 9000 Auf diesen Beitrag antworten »

Nix mit "Genau": Eigentlich in keinem Bereich ist deine Näherung, welche der Linearapproximation entspricht, wirklich brauchbar:

Weder für kleine , wo gilt, noch in der Mitte, wo die bessere lineare Näherung ist, noch am Ende, wo man per Symmetrie bei landet. Von den anderen Bereichen ganz zu schweigen, dort ist der absolute Fehler dieser Näherung noch größer.
Phenix Auf diesen Beitrag antworten »

@HAL9000

Ich habe aber bereits drei Fälle genannt, für die meine Formel für die Füllhöhe exakte Ergebnisse geliefert hat.
Phenix Auf diesen Beitrag antworten »

@HAL9000
Ich fInde deine Formel super, aber nach der Füllhöhe kann ich sie nicht auflösen, bei meiner Formel geht das problemlos.
Phenix Auf diesen Beitrag antworten »

@HAL9000
vielleicht sollte man die Füllhöhe über eine Integration zwischen V = 0 + 1 V(max) bestimmen?
HAL 9000 Auf diesen Beitrag antworten »

Zitat:
Original von Phenix
bei meiner Formel geht das problemlos.

Gewiss ist es für Approximationsformeln auch wichtig, dass sie einfach berechenbar sind, vor allem in zeitkritischen Anwendungen. Aber ausschlaggebender ist doch noch, dass eine geforderte Mindestgenauigkeit erreicht wird.

Und da würde ich im vorliegenden Fall für eher eine LUT (lookup table) vorberechnen, um dann dazwischen zu interpolieren (sei es nun linear, quadratisch oder vielleicht sogar per kubischen Spline). Die Größe dieser LUT wird davon abhängen, welche Genauigkeit man erzielen willen, da wird man etwas probieren müssen.
Phenix Auf diesen Beitrag antworten »

@HAL9000
Völlig richtig, nicht selten geht das Probieren über das Studieren.
Gib mir doch mal bitte die FH für 25% und 75% V(max), mich würde interessieren wie hoch der Fehler meiner Formel ist.
Vielen Dank für deine Mühe und Mitarbeit …
HAL 9000 Auf diesen Beitrag antworten »

Es ist . Deine einfache Näherung ergibt ja , das ist ein relativer Fehler von über 16%.

Über die Symmetrie folgt sofort auch und damit im Vergleich zu deiner Näherung 1.5, da ist der relative Fehler aufgrund des größerem absoluten Wertes natürlich geringer als bei 1/4 Füllvolumen.
Phenix Auf diesen Beitrag antworten »

@HAL9000
Moment mal, für 25% Füllvolumen ist mein Näherungswert 0,25 und nicht 0,5 und für 75% ist mein Näherungswert 0,75 und nicht 1,5.
HAL 9000 Auf diesen Beitrag antworten »

Ich spreche von Funktion - was das ist, habe ich oben erläutert (ich wiederhole nicht alles zehnmal):

Zitat:
Original von HAL 9000
Mit diesem ist dann , anwendbar für .

Der Funktionswert von bezieht sich auf den Rohrradius , nicht auf die Höhe des liegenden Rohres. unglücklich

Leopold Auf diesen Beitrag antworten »

Zitat:
Original von Phenix
Ich habe aber bereits drei Fälle genannt, für die meine Formel für die Füllhöhe exakte Ergebnisse geliefert hat.


Phenix Auf diesen Beitrag antworten »

HAL9000
Okay, jetzt haben wir des Pudels Kern, denn meine Füllhöhe bezieht sich nicht auf r, sondern 2r = d.
Leopold Auf diesen Beitrag antworten »

Wenn du nicht irrst, kommst du nicht zu Verstand. Willst du entstehn, entsteh auf eigne Hand.
Phenix Auf diesen Beitrag antworten »

Richtig, und falls du gläubig bist, kannst du nicht tiefer fallen als in Gottes Hand.
Finn_ Auf diesen Beitrag antworten »

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
from math import pi, acos, sqrt

def sgn(x):
    return float(x > 0) - float(x < 0)

def bisection(f, y, a, b, tol, nmax = 1000):
    for n in range(nmax):
        c = 0.5*(a + b); yc = f(c) - y
        if yc == 0 or 0.5*(b - a) < tol:
            return c
        if sgn(yc) == sgn(f(a) - y):
            a = c
        else:
            b = c
    raise ArithmeticError("Bisection failed")

def g_inv_from_tol(tol):
    def g(x):
        return acos(1 - x) - (1 - x)*sqrt(2*x - x*x)
    return lambda x: bisection(g, x, 0, 2, tol)

g_inv = g_inv_from_tol(1E-14)

print(abs(g_inv(pi) - 2))
# Ausgabe: 2.9E-11
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »