2016-05-17 8 views
1

Ich möchte ein Excel-Blatt erstellen, um einen Stahlbunker zu entwerfen. Ich habe alle Formeln hinzugefügt und es funktioniert. Aber je nach Größe und Form des Bunkers müssen wir dem Bunkerkörper einige horizontale Versteifungen hinzufügen. Dieser Prozess benötigt Iteration. Wenn die anfänglichen Positionen der Steifen nicht gut genug sind, müssen Sie die Position aller Steifen ändern, möglicherweise nicht nur die Position, sondern die Nummer.Automatisches Auffüllen von Zeilen nach einem anderen Zelleninhalt

Um Versteifungen zu bemessen, muss ich den Druck, die Zugkräfte und das Moment auf Höhe dieser Steifen berechnen. Diese Berechnungsformel ist eine Funktion der Tiefe „z“ wie unten:

f(z)=((γ*Ra)÷μ)*(1-e(-μ*K*z)÷Ra)

Wenn wir die Spitze des Bunkers z = 0 ist, dann setzen sie steigt, wenn Sie nach unten gehen. Ich brauche f (z) wo es eine Versteifung gibt. Wenn es 3 Versteifungen gibt, brauche ich f (z1), f (z2) und f (z3). Wenn es 5 Versteifung gibt, dann brauche ich f (z1), f (z2), ... f (z5)

Wie diese f(z) Werte nach Formel mit den manuell angegebenen z-Werte aufzufüllen.

enter image description here

+0

wäre es nicht einfacher, die Ableitung von f (z)/dz zu berechnen und dann das Potentialmaximum zu finden, wo df (z) = 0 und dann lösen und das z erhalten? – Richard

+0

also df (z) = y * (u * K) * e (-u * K * z), df (z) = 0, wenn y, u, oder K 0 ist. Es hat eine Grenze von Null in minus unendlich – Richard

+0

@Richard Ich denke, es ist ein Missverständnis. Ich habe ein Bild hinzugefügt, um es deutlich zu machen. –

Antwort

0

Es gibt ein paar Möglichkeiten, dies zu umgehen. Es ist schwer von dem Bild zu unterscheiden.

  1. Am einfachsten wäre es, eine UDF zu verwenden und alle Iterationen innerhalb der UDF auszuführen. Wenn Ihre Funktion nicht eine einzige Ausgabe, sondern mehrere Ausgaben hat, können Sie eine UDF verwenden, um ein Array anstelle eines einzelnen Werts zurückzugeben.

  2. Ein anderer Weg wäre, Ihre Berechnungen als einzelne Spalte für jede Iteration einzurichten und durch schrittweises Erhöhen der Anzahl der Steifen fortzufahren.

  3. Wenn die Angabe Ihrer Daten als Spalte nicht möglich ist, können Sie immer Kreisreferenzen verwenden. Sie benötigen eine Zelle, in der Sie alle Zellen auf einen Standardwert zurücksetzen können, wenn "1" eingegeben wird, und die Anzahl der Versteifungen progressiv erhöht.

Alle der oben genannten erfordert, dass die überarbeitete Lage von Versteifungen bei jeder Iteration Standard ist (entweder eine vorbestimmte Konstante oder ein berechneter Wert), so dass Ihre Funktion durch Iteration nach Iteration ohne Benutzereingabe gehen.

Verwandte Themen