Willkommen im #Neuland
Login wie bei quake.ingame.de zuvor, die Passwörter aus der alten Datenbank wurden aber gelöscht - einmal hier neu anfordern.
Wer seine E-Mail-Adresse nicht mehr hat oder kennt, bitte eine Nachricht mit Infos schicken o. im Discord melden.

PQ Discord Server: #planetquake                                                                                                                                         Spenden? Hier entlang!

komma zahl -> rationale zahl

Schule, Ausbildung, Studium, Beruf, Erster und Zweiter Bildungsweg, etc.
Antworten
nFec
Biker
Biker
Beiträge: 1120
Registriert: Jun 2002

komma zahl -> rationale zahl

Beitrag von nFec »

hi,
hat jemand ne einfache formel wie ich eine komma zahl sagen wir 1,3987897543 in eine rationale zahl n/d umwandeln kann?

also ne generelle formel keine lösung für das da oben.
sorry wenns eigentlich grundwissen ist, aber ich komm grad ned drauf :/
"Doch wir horchen allein dem Gerücht und wissen durchaus nichts." - Ilias
Takebashi
Wrack
Wrack
Beiträge: 478
Registriert: Mai 2002

Beitrag von Takebashi »

1,3987897543

=

13987897543

geteilt durch

10000000000

:D
::: 竹橋
nFec
Biker
Biker
Beiträge: 1120
Registriert: Jun 2002

Beitrag von nFec »

hmm und wie verdammt sag ich das java ? oO
ne danke schonmal

€: ich glaub ich bin eh aufm holzweg :D
das könnte ich zwar implementieren, aber die laufzeit
erstmal checken wieviel stellen vorm komm; entsprechend x10 oder x100 oder wie auch immer, dann die gesamt stellen anzahl checken usw.... das gibt laufzeit :ugly:

€2: jemand ne ahnung wie ich [red]1/R = 1/R1 + 1/R2[/red] berechnen könnte ? R, R1, R2 sind komma zahlen...
ich brauche R als ergebnis... wollte es eben über rationale zahlen und dann 1/R = kehrwert rechte seit machen...
aber wie oben steht wär das seeeehr performance lastig

€3: -mal n paar smilies rausgemacht-

€4: hätte nu auch ne schnelle lösung für den weg, allerdings wenn ihr nen direkten weg für die rot markierte formel hättet ohne rationale zahlen könnte ich mir extrem zeit sparen
"Doch wir horchen allein dem Gerücht und wissen durchaus nichts." - Ilias
Takebashi
Wrack
Wrack
Beiträge: 478
Registriert: Mai 2002

Beitrag von Takebashi »

Original erstellt von p!tch
jemand ne ahnung wie ich 1/R = 1/R1 + 1/R2 berechnen könnte ? R, R1, R2 sind komma zahlen...
ich brauche R als ergebnis...
nach R aufloesen. also kehrwert nehmen.

R = 1/(1/R1 + 1/R2)

:D

wenn du eine numerisch stabile loesung suchst, erst aufn hauptnenner bringen und probieren damit weiter zu rechnen.

die besten programme entstehen auf dem papier, nicht im pc. ;)

vielleicht kriegst du ne bessere hilfestellung, wenn du genauer erzaehlst was du vorhast? ich glaub uebrigens nicht, dass laufzeit in diesem fall ein problem werden sollte. denn dezimalbrueche liest du doch nur vom benutzer ein oder? ich glaube kaum dass du einen benutzer haben wirst, der schneller dezimalbrueche eingibt, als der rechner die vorkomma-stellen zaehlen kann.

oder programmierst du einen algorithmus, der mit dezimalbruechen rechnet? :ugly:
::: 竹橋
Takebashi
Wrack
Wrack
Beiträge: 478
Registriert: Mai 2002

Beitrag von Takebashi »

oh lass mich raten.. du machst was mit widerstaenden im stromkreis?

nach deinem edit schreib ich mal die ultimative fertige formel fuer dich hin:


R = 1/( 1/R1 + 1/R2 ) = 1/( (R2+R1)/(R1*R2) ) = R1*R2/(R2+R1)


wenn du die unstimmigkeiten beim rechnen mit fliesskommavariablen verhindern willst, dann fallen mir nur zwei moeglichkeiten ein:
(1) vorkomastellen zaehlen, wie bereits angedacht
(2) den user bereits auffordern die werte in ganzen zahlen anzugeben (und ein extra feld fuer die zehnerpotenz, also die sog. 'scientific notation'). dann kannst du problemlos mit integer (oder anderen ganzzahligen) variablen rechnen.
::: 竹橋
nFec
Biker
Biker
Beiträge: 1120
Registriert: Jun 2002

Beitrag von nFec »

juhuu
danke für die formel :)
und ja ... es werden variable wiederstände erstellt und zu netzen zusammengefügt...
ausserdem hab ich das in der uni und der prof meckert wenn die lauzeit grösser als der nutzen ist :D
das mit den rundungsfehlern sollte kein thema sein, geht eben nur so und so genau, da kann ich auch nix machen...

danke danke danke :D
(/me is ne formelumstell niete)

wobei ich auch schon ne coole läsung mit rationalen zahlen hatte (hab eh schon ne class wo java rationale zahlen kann gebaut, aber die kann eben auch nur mit geraden nennern und zählern arbeiten)

wie auch immer deine super formel ist gut :D
"Doch wir horchen allein dem Gerücht und wissen durchaus nichts." - Ilias
Mithrandir
Razor
Razor
Beiträge: 1962
Registriert: Aug 2000
Wohnort: Aachen

Beitrag von Mithrandir »

Original erstellt von p!tch
ausserdem hab ich das in der [red]uni[/red] und der prof meckert wenn die lauzeit grösser als der nutzen ist :D

(/me is ne [red]formelumstell niete[/red])
beste Vorraussetzungen :ugly:

Warum sollen die Werte rational sein, das macht für den Computer keinen Unterschied. Ne eigene Klasse dafür schreiben (hab ich mal in C++ gemacht) ist ziemliche Verschwendung von Rechenleistung. Je nach Implementierung hast du dann aber nen riesigen Overhead bei Berechnungen und möglicherweise keine bessere Genauigkeit. Eigentlich sind die float und double Datentypen auch rational (wenn auch nicht in der n/m mit m,n \in |N Darstellung), weil es nur eine endliche Nachkommastellenzahl gibt, so dass sich die Zahl abc,xyz als Bruch abcxyz/10^(Stellenanzahl hinterm Komma) darstellen lässt.

Wenn du besonders genau rechnen willst nimmst du double statt float und mehr ist nicht drin mit eingebauten Datentypen. Von daher würde ich dir raten: mit double machen und dann einfach die von zonque umgestellte Formel implementieren. Alles andere wäre Programmierarbeitsverschwendung, weil die gesparte Laufzeit zu gering wäre den Programmieraufwand zu rechtfertigen. Ich finde, dass das nicht verhältnismäßig wäre.

Mit Methoden, die wir im 2. Semester DiffNum gehört haben sollte man die Fehlertoleranz der Formel bestimmen können für einen gegebenen Datentypen bzw. eine bestimmte garantierte Nachkommastellenzahl. Aber irgendwie hab ich dieses Kapitel nicht mehr besonders gut im Kopf und die Klausur nur mit 4.0 bestanden :ugly:
[small]Viele Namen habe ich in vielen Ländern. Mithrandir heiße ich bei den Elben, Tharkûn bei den Zwergen;
Olórin war ich in meiner Jugend im Westen, der vergessen ist, im Süden Incánus, im Norden Gandalf; in den Osten gehe ich nicht.


J.R.R. Tolkien - The Lord Of The Rings[/small]
nFec
Biker
Biker
Beiträge: 1120
Registriert: Jun 2002

Beitrag von nFec »

Original erstellt von MithrandiR

beste Vorraussetzungen :ugly:

Warum sollen die Werte rational sein, das macht für den Computer keinen Unterschied. Ne eigene Klasse dafür schreiben (hab ich mal in C++ gemacht) ist ziemliche Verschwendung von Rechenleistung. Je nach Implementierung hast du dann aber nen riesigen Overhead bei Berechnungen und möglicherweise keine bessere Genauigkeit. Eigentlich sind die float und double Datentypen auch rational (wenn auch nicht in der n/m mit m,n \in |N Darstellung), weil es nur eine endliche Nachkommastellenzahl gibt, so dass sich die Zahl abc,xyz als Bruch abcxyz/10^(Stellenanzahl hinterm Komma) darstellen lässt.
naja...
die werte sollen nicht rational sein, mir fiel nur ned ein wie ich den kehrbruch sonst hinbekommen sollte...
formel umstellen und so ;)
und die klasse berechnet nicht sonder gibt num und denom wieder aus...
wie auch immer hab sie ja nicht verwenden müssen
Wenn du besonders genau rechnen willst nimmst du double statt float und mehr ist nicht drin mit eingebauten Datentypen. Von daher würde ich dir raten: mit double machen und dann einfach die von zonque umgestellte Formel implementieren. Alles andere wäre Programmierarbeitsverschwendung, weil die gesparte Laufzeit zu gering wäre den Programmieraufwand zu rechtfertigen. Ich finde, dass das nicht verhältnismäßig wäre.
ich verwende immer double statt float, weil die jvm intern eh mit double statt float rechnet -> kein laufzeit unterschied

hab das einfach mit r = 1/(1/r1+1/r2) gemacht nun, funtkioniert perfekt...

aber danke für den langen text :)
"Doch wir horchen allein dem Gerücht und wissen durchaus nichts." - Ilias
pornflakes

Beitrag von pornflakes »

Original erstellt von p!tch

ausserdem hab ich das in der uni
bin ich eigentlich so der einzige 16jährige bzw. schüler hier Oo
autsch
Anarki
Anarki
Beiträge: 1550
Registriert: Apr 2001

Beitrag von autsch »

Original erstellt von MithrandiR

beste Vorraussetzungen :ugly:
wie kann man das egtl optimal lernen?
hab seit der elften nen ti, der das für mich macht, aber ich nehm doch mal an, dass ichs an der uni per hand machen muss und wenn mans die jahre davor nicht geübt hat...
mongofisch alda ey
Mithrandir
Razor
Razor
Beiträge: 1962
Registriert: Aug 2000
Wohnort: Aachen

Beitrag von Mithrandir »

Übung in der Schule ist nachher das A und O an der Uni. In Informatik (das umfasst sowohl die Info als auch die Mathe Vorlesungen) dürfen wir in den Klausuren überhaupt keine Taschenrechner benutzen. Da musst du sogar sowas wie schriftlich +-*/ drauf haben und das auch noch einigermaßen zügig hinbekommen, weil dir sonst die Zeit wegrennt. (Das hat mich in den ersten Klausuren tierisch viel gekostet).

Formeln umstellen solltest du auch in der Schule (bei nichtkritischen Anwendungen, z.b. Hausaufgaben) trainieren. Mach dir klar, was ne Äquivalenzumformung ist und was nicht. Lern Potenzgesetze auswendig etc. Wer an der Uni zu lange nachdenken muss über so grundlegenden Stoff kommt mit der Zeit vorne und hinten nicht klar.

Nen Taschenrechner zur Kontrolle ist ok und sinnvoll, aber nicht wenn du alles damit machst und die Übung nicht bekommst.

Hier kannst du was zum Lösen von Gleichungen nachlesen: Wikipedia
[small]Viele Namen habe ich in vielen Ländern. Mithrandir heiße ich bei den Elben, Tharkûn bei den Zwergen;
Olórin war ich in meiner Jugend im Westen, der vergessen ist, im Süden Incánus, im Norden Gandalf; in den Osten gehe ich nicht.


J.R.R. Tolkien - The Lord Of The Rings[/small]
Antworten