All pastes #590672 Raw Edit

Mine

public text v1 · immutable
#590672 ·published 2007-06-26 18:38 UTC
rendered paste body
public class IntegralTrapesium{
//  xf  = x yg dicari
//  n   = jumlah elemen
//  n-1 = index paling maksimum dari array elemen
//
//  i   x[i]   y[i]    dxf[i]      dx[i][j]     dx[1][i]            dx[n-1][i]
//                               prg: i=0 j=i  prg: i=1 j=i   ... prg: i=n-1 j=i
// === ====== ======  =========  ============  ============       ==============
//  0   x[0]   y[0]    xf-x[0]      force 1      x[1]-x[0]    ...  x[n-1]-x[0]
//  1   x[1]   y[1]    xf-x[1]     x[0]-x[1]      force 1     ...  x[n-1]-x[1]
//  2   x[2]   y[2]    xf-x[2]     x[0]-x[2]     x[1]-x[2]    ...  x[n-1]-x[2]
//  3   x[3]   y[3]    xf-x[3]     x[0]-x[3]     x[1]-x[3]         x[n-1]-x[3]
//  .     .     .        .             .             .                   .
//  .     .     .        .             .             .                   .
// n-2 x[n-2] y[n-2]  xf-x[n-2]   x[0]-x[n-2]   x[1]-x[n-2]       x[n-1]-x[n-2]
// n-1 x[n-1] y[n-1]  xf-x[n-1]   x[0]-x[n-1]   x[1]-x[n-1]   ...    force 1
// --- ------ ------  -------(*)  --------(*)  ---------(*)       ------------(*)
//  n                   dxf[n]      dx[0][n]     dx[1][n]     ...  dx[n-1][n]
//
//
	public static void main(String[] args) {
		double[] x={1.0, 1.1, 1.2, 1.3, 1.4};
		double[] y={2.0, 2.1, 2.3, 2.7, 3.5};
		int n=x.length;
		double[][] dx=new double[n][n+1];
		
		double xf=1.05;
		double[] dxf= new double[n+1];

		//persiapan tabel;
		
		dxf[5]=1;
		for (int i=0; i<n;i++){
			//pembentukan elemen-elemen pembilang
			dxf[i]=xf-x[i];

			//total perkalian penyebut
			dx[i][n]=1;

			for(int j=0; j<n; j++){
				//pembentukan elemen-elemen penyebut
				dx[i][j]=x[i]-x[j];
				if (dx[i][j]==0) dx[i][j]=1;

				//total perkalian penyebut
				dx[i][n]=dx[i][n]*dx[i][j];
			}

			dxf[n]=dxf[n]*dxf[i];
		}	

		//proses akhir penjumlahan;
		double r=0;
		for (int i=0; i<n; i++){
			r = r + ( dxf[n]/dxf[i] ) / dx[i][n] * y[i];
		}
		System.out.println(""+r);
	}
}