Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Mit "Power" eine beliebige Wurzel ziehen (https://www.delphipraxis.net/135584-mit-power-eine-beliebige-wurzel-ziehen.html)

0nk3lz 13. Jun 2009 23:59


Mit "Power" eine beliebige Wurzel ziehen
 
Hey Leute,
ich finde in der SuFu irgendwie nichts...

Ich bin dabei einen Taschenrechner zu "basteln" und will nun eine eine beliebige Wurzel ziehen...

Bei beliebigen Exponenten habe ich das folgendermaßen:
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
var zahl1, zahl2, ergebnis: real;
begin
  zahl1 := StrToFloat(Edit1.Text);
  zahl2 := StrToFloat(Edit2.Text);

  ergebnis := power(zahl1, zahl2);

  edit3.text := FloatToStr(ergebnis);
end;
Kann man denn mit der "Power" Funktion auch beliebige Wurzeln ziehen?
Wenn ja, wie?

MfG 0nk3lz

omata 14. Jun 2009 00:03

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Die Funktion Power errechnet aus der Basis Base und dem beliebigen Wert Exponent die Potenz. Wurzel? :gruebel:

schau dir mal sqrt an.

mkinzler 14. Jun 2009 00:05

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Andererseits ist die Quadratwurzel von x = x^(1/2)

0nk3lz 14. Jun 2009 00:06

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Ja ich dachte, dass es mit Power geht, weil man mit Power auch die 3. Wurzel ziehen kann:
Delphi-Quellcode:
procedure TForm1.BitBtn7Click(Sender: TObject);
var zahl1, ergebnis: real;
begin
  zahl1 := StrToFloat(Edit1.Text);

  ergebnis := power(zahl1,1/3);

  edit3.text := FloatToStr(ergebnis);
end;

mkinzler 14. Jun 2009 00:09

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Dann hast du doch deine Frage schon fast selber beantwortet

0nk3lz 14. Jun 2009 00:10

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Fast, aber leider nicht ganz. Und auf den Rest komm ich leider nicht... :(

mkinzler 14. Jun 2009 00:14

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Welchen Rest? Hast du mal die Delphi-Hilfe konsultiert?

Dax 14. Jun 2009 00:14

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Zweite Wurzel von x: x^(1/2) nach mkinzler.
Dritte Wurzel von x: x^(1/3) nach 0nk3lz.
Da ist doch ein Muster drin?

omata 14. Jun 2009 00:16

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Vielleicht hilft das hier weiter

jfheins 14. Jun 2009 00:18

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Zitat:

Zitat von Dax
Da ist doch ein Muster drin?

Oh mein Gott, das sind die Illuminaten!

2 und 3 ... ergibt 23 !!!

Und 2*2 + 3*3 ergibt 13 :shock:

0nk3lz 14. Jun 2009 00:20

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Ja da ist ein Muster, aber es soll ja nicht die Zweite oder Dritte sein, sondern eine beliebige Wurzel aus einer beliebigen Zahl...?!

Dax 14. Jun 2009 00:20

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Zitat:

Zitat von jfheins
Und 2*2 + 3*3 ergibt 13 :shock:

Verdammt, vorgestern war Freitag! Wir werden alle sterben! :shock:

So, genug OT ;)

mkinzler 14. Jun 2009 00:24

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Zitat:

Zitat von 0nk3lz
Ja da ist ein Muster, aber es soll ja nicht die Zweite oder Dritte sein, sondern eine beliebige Wurzel aus einer beliebigen Zahl...?!

Dann wende das Muster doch entsprechend an

die x.Wurzel ist dann Zahl1^(1/x)

jfheins 14. Jun 2009 00:26

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Sowas in etwa:
Delphi-Quellcode:
// Zihet die n-te Wurzel der Zahl
// 1. Parameter x: Die Zahl
// 2. Parameter n: Die wievielte Wurzel berechnet werden soll
// Rückgabe: Die n-te Wurzel der Zahl x
function n_te_Wurzel(x, n:real):real;
begin
  Result := power(x, 1/n);
end;
:?:

Ich glaub ich geh' jetzt mal ins Bett ...

0nk3lz 14. Jun 2009 00:28

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Habs jetzt auch gerallt...

Sieht bei mir nun so aus...:
Delphi-Quellcode:
power(zahl1,1/zahl2)
...und funktioniert auch prima.

Danke Leute, bevor ich mehr blöde Fragen stelle, gehe ich jetzt pennen :)

mkinzler 14. Jun 2009 00:30

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Schön, das der Groschen noch gefallen ist. Na schieben wir es mal auf die vorgerückte Stunde :zwinker:

omata 14. Jun 2009 01:20

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Und noch ein paar Gedanken...

Ohne Math-Unit:
Delphi-Quellcode:
function nsqrt(x, n:real):real;
begin
  Result := exp(1 / n * ln(x));
end;
Ohne Math-Unit und mit der Möglichkeit die Genaugkeit der richtigen Stellen vorzugeben:
Delphi-Quellcode:
function nsqrt(x, n:real; g:real = 0.00000000000000001):real;
var s, o:real;
begin
  s:=x;
  repeat
    o:=x;
    x:=(((n-1) * x) + (s / exp((n-1) * ln(x)))) / n;
  until abs(o - x) <= g;
  Result:=x;
end;

Aphton 14. Jun 2009 02:21

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Zitat:

Zitat von mkinzler
Schön, das der Groschen noch gefallen ist. Na schieben wir es mal auf die vorgerückte Stunde :zwinker:

Hab ich etwas verpasst *Gähn* ??

Edit:
http://www.kreuznach-blog.de/b/2009/...hr-vorstellen/

...

himitsu 14. Jun 2009 06:07

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Zitat:

Zitat von Aphton
Hab ich etwas verpasst *Gähn* ??

Edit:
http://www.kreuznach-blog.de/b/2009/...hr-vorstellen/

schlaf noch ein paar Tage ... dann schon :mrgreen:

Zitat:

Der letzte Sonntag im März

divBy0 14. Jun 2009 10:31

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Zitat:

Zitat von Aphton
Zitat:

Zitat von mkinzler
Schön, das der Groschen noch gefallen ist. Na schieben wir es mal auf die vorgerückte Stunde :zwinker:

Hab ich etwas verpasst *Gähn* ??

Edit:
http://www.kreuznach-blog.de/b/2009/...hr-vorstellen/

...

Der Kreuznach-blog.de ? Einer aus der Nähe! :hi:

mkinzler 14. Jun 2009 10:37

Re: Mit "Power" eine beliebige Wurzel ziehen
 
Zitat:

Zitat von Aphton
Zitat:

Zitat von mkinzler
Schön, das der Groschen noch gefallen ist. Na schieben wir es mal auf die vorgerückte Stunde :zwinker:

Hab ich etwas verpasst *Gähn* ??

Bezog sich auf das in #8 aufgezeigte Muster, welches er nicht gleich sah


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz