package neuralnetworks; import javax.swing.*; import java.awt.*; /** * Title: Graph<p> * Description: Simple program to produce a graph for the book<p> * Copyright: Copyright (c) Mark Watson<p> * Company: <p> * @author Mark Watson * @version 1.0 */ public class Graph extends JFrame { GraphPanel jPanel1; float[] data1; float[] data2; public Graph() { try { int size = 500; data1 = new float[size]; data2 = new float[size]; float xmin = -5; float xmax = 5; for (int i = 0; i < size; i++) { float x = i; x = xmin + x * (xmax - xmin) / (float) size; data1[i] = sigmoid(x); data2[i] = sigmoidP(x); } jbInit(); } catch (Exception e) { e.printStackTrace(); } } protected float sigmoid(float x) { return (float) (1.0f / (1.0f + Math.exp((double) (-x)))); // (float)((1.0f/(1.0f+Math.exp((double)(-x))))-0.5f); } protected float sigmoidP(float x) { double z = sigmoid(x); // + 0.5f; return (float) (z * (1.0f - z)); } public static void main(String[] args) { Graph untitled11 = new Graph(); } private void jbInit() throws Exception { jPanel1 = new GraphPanel(data1, data2); jPanel1.setBackground(Color.white); this.setDefaultCloseOperation(3); this.getContentPane().add(jPanel1, BorderLayout.CENTER); setSize(550, 300); jPanel1.setVisible(true); setVisible(true); } }