Funktion zu 3D Array

T_55

Lieutenant
Registriert
Feb. 2013
Beiträge
643
Hallo,

ich will zum Test aus einer Funktion ein 3D Array erstellen.
Ich würde gerne die Himmelblaufunktion in ein 3D Array anlegen. Dazu würde ich per verschachtelter schleife alle Kombinationen durchgehen das ist nicht das Problem ABER die Himmelblaufunktion (betrifft auch andere Funktionen) haben nur x und y in der Funktion. Fehlt da nicht das z? Wie soll man ohne z in der Funktion ein 3D Array erstellen?

f(x,y)=(x2+y−11)2+(x+y2−7)2

https://en.wikipedia.org/wiki/Himmelblau's_function

Grüße
 
f(x,y) = z = (x²+y−11)²+(x+y²−7)²

kleiner Denkfehler von dir.

man schreibt ja auch f(x) := 2x+1, um das y herauszubekommen
 
Zuletzt bearbeitet:
Jepp, es ist dann auch nur ein 2D Array, weil du nur die x- und y- Koordinaten als Stützstellen brauchst und die z-Koordinate dann an den jeweiligen Stellen im Array als Funktionsergebnis drin steht.
 
:D danke ja klaro, das war ein schöner Denkfehler, ist ja nur 2d da der Wert dann das z ergibt
 
Hat es einen tieferen Sinn, dass du die Funktionswerte im RAM ablegen willst?
Bei so einfacher Mathematik würde ich für sinnvoll hohe Auflösungen der Achsen (Anzahl der möglichen Werte für x, y) davon ausgehen, dass eine Neuberechnung schneller geht als ein Lookup im RAM.
Einzige ausnahme wäre höchstens, wenn du ständig
Code:
for y
  for x
    doSth(x,y);
machst.
 
Zurück
Oben