Forum: PC Hard- und Software Lösung dieser Gleichung mittels C#


von Frank (Gast)


Lesenswert?

Hallo leute, habe eine neue Herausforderung entdeckt:

Bevor ich nun versuche diese Gleichung algorithmisch zu berechnen wollte 
ich sie mal händisch lösen, jedoch habe ich keine Idee wie ich das s 
ausrechnen kann, wenn es draußen und im Logarithmus drinnen steht?

Irgendeiner ne Idee

von Uist (Gast)


Lesenswert?

Naja, s ist rund 589,309. Was ist das denn für eine Gleichung?

: Wiederhergestellt durch Moderator
von Al3ko -. (al3ko)


Lesenswert?

Analytisch lässt sich das Ding nicht lösen.

Gruß

von Frank (Gast)


Lesenswert?

Uist schrieb:
> Naja, s ist rund 589,309. Was ist das denn für eine Gleichung?

Aber wie?

Das sollte eine Indexbestimmende Ungleichung einer unendlichen Reihe 
sein.

von Frank (Gast)


Lesenswert?

Alex A. schrieb:
> Analytisch lässt sich das Ding nicht lösen.
>
> Gruß

Wieso nicht?

von Uist (Gast)


Lesenswert?


: Wiederhergestellt durch Moderator
von Frank (Gast)


Lesenswert?


von Uist (Gast)


Lesenswert?


: Wiederhergestellt durch Moderator
von Clemens N. (clemens2)


Lesenswert?

Numerisch mittels Newton Verfahren 
(http://en.wikipedia.org/wiki/Newton%27s_method)

mit Deiner Gleichung gilt

& Du erhältst Du nach ~4 Iterationen x = 589.308505187.

von D. I. (Gast)


Lesenswert?

algorithmisch kannst du die Gleichung übrigens mittels binärer Suche 
lösen, da die Funktion monoton ist...

von Martin (Gast)


Lesenswert?

Frank schrieb:
> Irgendeiner ne Idee

Puh Du neee
In C, Python und Ruby wüsste ich wie das geht, aber in C# ...
:)

von Yalu X. (yalu) (Moderator)


Lesenswert?

Frank schrieb:
>> Analytisch lässt sich das Ding nicht lösen.
>>
>> Gruß
>
> Wieso nicht?

Das sieht man. s kommt sowohl im Argument von ln als auch außerhalb
davon vor, und der Rest der Gleichung sieht krumm genug aus, dass keine
triviale Lösung zu erwarten ist ;-)

Für eine stichhaltigere Begründung musst du einen Mathematiker fragen.

Falls du noch eine etwas bessere Schätzung der Lösung brauchst, sind
hier mal die ersten 1000 Stellen, berechnet mit Maxima:

1
589.308505187077658746095558615479010455252604574354547716568303883
2
6953346002576348196176667550769673258100039532501189897400570984814
3
0452249066400921105241639617442355117193175560899781590120502290860
4
9334488245294116460828338985409270155921835068816750737267038627355
5
2551585173343455545249388764875002852846729765644073938145603932576
6
3247769818419284868665993628539487086074567293331830338471129945306
7
8044529211705948829740452274673713053767409184946271090276291747459
8
5191061282094495666245598571051771393627219857237813292962944400805
9
5360089086258499478935217818491803891489627717560524319704662794320
10
8476463417355399786328381809649607995858633905134713226177686877461
11
2347683826632045837686633696189079449460004673043513989280484456203
12
9428868430493592585821030253460099048376210243396517279627333381453
13
9480537812599531889119555335645113552765401594330922083262210866739
14
2952158107082447991528385391988690345581193528381102492660696931952
15
970514181165799446062239229796692700332293805091679371007999106...

Vielleicht erübrigt sich damit die Herumquälerei mit C# :)

von Uist (Gast)


Lesenswert?

Frank schrieb:
> Uist schrieb:
>> http://www.wolframalpha.com/input/?i=656%3Dln%283x...
>
> Kann ich das W() weglassen?

Gestern habe ich auf diese Frage mit 'Nein' geantwortet und einen Link 
zur Begründung gepostet. Warum wurde meine Beitrag gelöscht?

von Uist (Gast)


Lesenswert?

Gerade sehe ich, dass noch ein Beitrag von mir gelöscht wurde, in dem 
ich die numerische Lösung gepostet habe. Warum wurde dieser Beitrag 
gelöscht?

von Johnny B. (johnnyb)


Lesenswert?

Vielleicht ist diese Library für .NET was für Dich:
http://ilnumerics.net/

Was auch gehen sollte, man kann wohl Matlab in eine eigene .NET 
Applikation einbinden.

Weitere Möglichkeiten:
http://en.wikipedia.org/wiki/List_of_numerical_libraries#.NET_Framework_Languages_C.23.2C_F.23_and_VB.NET

von Yalu X. (yalu) (Moderator)


Lesenswert?

Uist schrieb:
> Warum wurde dieser Beitrag gelöscht?

Da du gestern Abend in anderen Threads kontinuierlich Beleidigungen
gepostet hat, hat wohl ein Moderator die Notbremse gezogen und alle
deine aktuellen Posts gelöscht. Ich würde aber sagen, der Flurschaden
hält sich in Grenzen.

von Uist (Gast)


Lesenswert?

Yalu X. schrieb:
> Da du gestern Abend in anderen Threads kontinuierlich Beleidigungen
> gepostet hat, hat wohl ein Moderator die Notbremse gezogen und alle
> deine aktuellen Posts gelöscht.

Das ist nicht wahr. Von mir wurden keine Beleidigungen gepostet.

Yalu X. schrieb:
> Ich würde aber sagen, der Flurschaden hält sich in Grenzen.

Ich nicht. Immerhin kann ich di obige Gleichung lösen und habe auch 
einen Link gepostet, der zur Lösung führt. Hast du die Posts gelöscht, 
um dich mit deinem Beitrag (siehe oben) in Szene setzen zu können?

von Udo S. (urschmitt)


Lesenswert?

Uist schrieb:
> Hast du die Posts gelöscht,
> um dich mit deinem Beitrag (siehe oben) in Szene setzen zu können?

Wenn du so gegen Yalu polterst, nimmst du dir jede Glaubwürdigkeit.
Deine Posts in dem Thread waren ok und nützlich, aber das hier ist 
ziemlich daneben!

von Yalu X. (yalu) (Moderator)


Lesenswert?

Uist schrieb:
> Yalu X. schrieb:
>> Da du gestern Abend in anderen Threads kontinuierlich Beleidigungen
>> gepostet hat, hat wohl ein Moderator die Notbremse gezogen und alle
>> deine aktuellen Posts gelöscht.
>
> Das ist nicht wahr. Von mir wurden keine Beleidigungen gepostet.

Gleiche IP und gleicher Nick, das kann kaum ein Zufall sein.

> Hast du die Posts gelöscht, um dich mit deinem Beitrag (siehe oben) in
> Szene setzen zu können?

Weder noch.

> Immerhin kann ich di obige Gleichung lösen und habe auch einen Link
> gepostet, der zur Lösung führt.

Da mit der Einführung der W-Funktion tatsächlich eine geschlossene
Darstellung der Lösung möglich ist und diese Tatsache für manchen Leser
vielleicht von Interesse sein könnte, habe ich deine entsprechenden
Beiträge wiederhergestellt.

Hör einfach auf, andere Forenteilnehmer zu bashen und schreib statt-
dessen ausschließlich Beiträge mit positvem Informationsgehalt, dann
wird sie auch niemand löschen.

So, genug diskutiert, kehren wir jetzt wieder zum ursprünglichen Thema
zurück.

von Helmut S. (helmuts)


Lesenswert?

656 = ln(3s + 4) + (s+1)*ln(3)

Gutmütige Gleichungen lassen sich iterativ sehr einfach berechnen.

1. Ausgangsgleichung nach s umstellen.

s=(656-log(3*s+4)-log(3))/ln(3)

2.
Immer wieder s=..... berechnen.


Beispielgerüst in C:

s = 1;
do {

   s=(656-log(3*s+4)-log(3))/log(3)

} while ...




Mit Scilab von Hand gerechnet: Es konvergiert rasend schnell.
-------------------------------------------------------------


->s=1
 s  =

    1.

-->s=(656-log(3*s+4)-log(3))/log(3)
 s  =

    594.34569

-->s=(656-log(3*s+4)-log(3))/log(3)
 s  =

    589.30078

-->s=(656-log(3*s+4)-log(3))/log(3)
 s  =

    589.30852

-->s=(656-log(3*s+4)-log(3))/log(3)
 s  =

    589.30851

-->s=(656-log(3*s+4)-log(3))/log(3)
 s  =

    589.30851


Nachtrag: log(3) wird man natürlich als Konstante definieren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.