Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package regression1;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Scanner;
- public class Functions
- {
- public void printList(List<Double> list)
- {
- int listSize = list.size();
- for(int i=0;i<listSize;i++)
- {
- System.out.println("Item "+(i+1)+" : "+list.get(i));
- }
- }
- public void printList(String listName,List<Double> list)
- {
- int listSize = list.size();
- System.out.println("In "+listName+" : ");
- for(int i=0;i<listSize;i++)
- {
- System.out.println("Item "+(i+1)+" : "+list.get(i));
- }
- }
- public double sumOfList(List<Double> list)
- {
- int listSize = list.size();
- double sum = 0;
- for(int i=0;i<listSize;i++)
- {
- sum=sum+list.get(i);
- }
- return sum;
- }
- public List<Double> makeSumOfSquareList(List<Double> list)
- {
- List<Double> newList = new ArrayList();
- int listSize = list.size();
- for(int i=0;i<listSize;i++)
- {
- double x = list.get(i);
- double newX = Math.pow(x,2);
- newList.add(newX);
- }
- return newList;
- }
- public List<Double> makelnList(List<Double> list)
- {
- List<Double> newList = new ArrayList();
- int listSize = list.size();
- for(int i=0;i<listSize;i++)
- {
- double x = list.get(i);
- double newX = Math.log(x);
- newList.add(newX);
- }
- return newList;
- }
- public double calculateB(List<Double> xList,List<Double> yList,int n)
- {
- double b = 0;
- double sumlnXlnY=0,sumlnXsumlnY=0,sumlnXsquare=0,squareOfsumlnX=0;
- List<Double> customList = new ArrayList();
- for(int i=0;i<n;i++)
- {
- double u = Math.log(xList.get(i));
- double v = Math.log(yList.get(i));
- double w = u*v;
- customList.add(w);
- }
- sumlnXlnY= sumOfList(customList);
- double x1 = sumOfList(makelnList(xList));
- double x2 = sumOfList(makelnList(yList));
- sumlnXsumlnY=x1*x2;
- sumlnXsquare=sumOfList(makeSumOfSquareList(makelnList(xList)));
- squareOfsumlnX=Math.pow(sumOfList(makelnList(xList)),2);
- b = ( (n*sumlnXlnY) - sumlnXsumlnY ) / ( (n*sumlnXsquare ) - (squareOfsumlnX) ) ;
- return b;
- }
- public double calculateA(List<Double> xList,List<Double> yList,int n)
- {
- double A = 0;
- double sumlnY = sumOfList(makelnList(yList));
- double sumlnX = sumOfList(makelnList(xList));
- double B = calculateB(xList,yList,n);
- A= ( sumlnY/n ) - ( ( B*sumlnX ) / n );
- return A;
- }
- public double new_b(List<Double> xList,List<Double> yList,int n)
- {
- double b = calculateB(xList,yList,n);
- return b;
- }
- public double new_a(List<Double> xList,List<Double> yList,int n)
- {
- double a = 0;
- double A = calculateA(xList,yList,n);
- a=Math.pow(Math.E, A);
- return a;
- }
- }
- public class Main
- {
- public static List<Double> listX = new ArrayList();
- public static List<Double> listY = new ArrayList();
- public static void inputData2D(int totalDataSize)
- {
- Scanner scanner = new Scanner(System.in);
- for(int i=0;i<totalDataSize;i++)
- {
- System.out.print("Enter x"+(i+1)+" : ");
- double x = scanner.nextDouble();
- listX.add(x);
- System.out.print("Enter y"+(i+1)+" : ");
- double y = scanner.nextDouble();
- listY.add(y);
- }
- }
- public static void main(String[] args)
- {
- Functions functions = new Functions();
- Scanner scanner = new Scanner(System.in);
- System.out.print("How many (x,y) inputs : ");
- int totalData = scanner.nextInt();
- inputData2D(totalData);
- double b = functions.calculateB(listX, listY, totalData);
- double a = functions.new_a(listX, listY, totalData);
- System.out.println("The equation is : y="+a+"(x)^"+b);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement