//======================================================
// Numerical Analysis package in java
// example to show differential equation solution
// and differentiation (derivative) functions
// Dr. Turhan Coban
// =====================================================
import java.io.*;

class fm1 extends f_xi
{
// Sarkaç denklemi
 double g=9.806;  //yerçekimi ivmesi m/s2
 double l=0.6;   //sarkaç boyu m
 
 double func(double x[],int x_ref)
 {
   //x[0] is t, x[1] is teta(sarkaç açısı) x[2] v hız
   if(x_ref==0) return x[2];
   else return -g/l*Math.sin(x[1]);
 }
}

class diferansiyel3I
{

public static void main(String args[]) throws IOException
{
  fm1 b1=new fm1();
  double y[];
  y=new double[2];
  y[0]=Math.PI/2.0; //90 derece salınım açısı olduğunda
  y[1]=0.0;
  double a[][]=diferansiyel3.RK6(b1,0.0,10.0,y,500000);
  int n=a[0].length;
  double teta[]=new double[n];
  for(int i=0;i<n;i++) {teta[i]=y[0]*Math.cos(Math.sqrt(b1.g/b1.l)*a[0][i]);}
  Plot p1=new Plot(a[0],a[1]);
  p1.addData(a[0],teta);
  p1.setXlabel("zaman");
  p1.setYlabel("pendalum açısı");
  p1.setPlabel("Pendalum modeli");
  p1.plot();
 }
}
