Processing Code zur Lösung dieser Aufgabe:
int vNo, vNu; // versteckte Neuronen der zweiten Schicht
float z, temp; // z und Merkvariable für größtes z
int xPos, yPos; // Krippenposoition
void setup() {
size(400, 400); // Dimensionen Ausgabefenster
noStroke(); // keine Umrandung
fill(255, 255, 0); // gelbe Füllung
rectMode(CENTER); // Rechteckmodus Mittelpunkt, Seite, Höhe
}
void draw() {
background(0, 0, 255);
translate(width/2+100, height/2-200); // Position -1|2 zentrieren
// pro Einheit 100 Pixel
for (int x = -200; x < 0; x++) // für jede x Position zwischen -2 und 0
for (int y = 100; y < 300; y++) { // für jede y Position zwischen 1 und 3
vNo = max(0, x + 100) * (-1) + // Werte der versteckten Neuronen der
max(0, - x -100) * (-1) + // ersten Schicht und zweiten Schicht
max(0, y - 200) * (-1) + // berechnen
max(0, - y + 200) * (-1) + 100;
vNu = max(0, -x + y -300) * (-1) +
max(0, x - y + 300) * (-1) +
max(0, -x - y + 100) * (-1) +
max(0, x + y - 100) * (-1) + sqrt(2) * 100;
if (vNo > 0 || vNu > 0) // Skizze des Bereichs in der
rect(x, y, 1, 1); // xy-Ebene mit z > 0 visualisieren
z = vNo + vNu ; // z für die aktuelle Position berechnen
temp = max(temp, z); // größtes z merken
if (z == temp) { // Position mit dem größten z merken
xPos=x;
yPos=y;
}
}
// Ergebnisse ausgeben
println("Maximalwert für z:", temp/100);
print("Krippenposition : P(", xPos/100, "|", yPos/100, ")");
fill(255, 0, 0); // blaue Füllung
ellipse(xPos, yPos, 10, 10); // Krippenposition vergrößert visualisieren
noLoop();
}
int vNo, vNu; // versteckte Neuronen der zweiten Schicht
float z, temp; // z und Merkvariable für größtes z
int xPos, yPos; // Krippenposoition
void setup() {
size(400, 400); // Dimensionen Ausgabefenster
noStroke(); // keine Umrandung
fill(255, 255, 0); // gelbe Füllung
rectMode(CENTER); // Rechteckmodus Mittelpunkt, Seite, Höhe
}
void draw() {
background(0, 0, 255);
translate(width/2+100, height/2-200); // Position -1|2 zentrieren
// pro Einheit 100 Pixel
for (int x = -200; x < 0; x++) // für jede x Position zwischen -2 und 0
for (int y = 100; y < 300; y++) { // für jede y Position zwischen 1 und 3
vNo = max(0, x + 100) * (-1) + // Werte der versteckten Neuronen der
max(0, - x -100) * (-1) + // ersten Schicht und zweiten Schicht
max(0, y - 200) * (-1) + // berechnen
max(0, - y + 200) * (-1) + 100;
vNu = max(0, -x + y -300) * (-1) +
max(0, x - y + 300) * (-1) +
max(0, -x - y + 100) * (-1) +
max(0, x + y - 100) * (-1) + sqrt(2) * 100;
if (vNo > 0 || vNu > 0) // Skizze des Bereichs in der
rect(x, y, 1, 1); // xy-Ebene mit z > 0 visualisieren
z = vNo + vNu ; // z für die aktuelle Position berechnen
temp = max(temp, z); // größtes z merken
if (z == temp) { // Position mit dem größten z merken
xPos=x;
yPos=y;
}
}
// Ergebnisse ausgeben
println("Maximalwert für z:", temp/100);
print("Krippenposition : P(", xPos/100, "|", yPos/100, ")");
fill(255, 0, 0); // blaue Füllung
ellipse(xPos, yPos, 10, 10); // Krippenposition vergrößert visualisieren
noLoop();
}