Java Math Завершение квадратного калькулятора - PullRequest
0 голосов
/ 01 марта 2019

Привет, я новичок во всей сцене программирования. Я просто школьник, изучающий Java-информатику.Я пытаюсь проверить свои способности с тем, что я знаю до сих пор, и попытаться понять вещи и практику.Поэтому я пытаюсь сделать пару математических калькуляторов для определенных вещей.Я работаю над одним, чтобы завершить квадрат.Таким образом, как (2 + 4x ^ 2) ^ 2 будет (4 + 16x + 4x ^ 2).Моя проблема в том, что я не могу заставить его работать в полном объеме, а код довольно странный.

import java.util.Scanner;

public class SquaringDoubles {

    public static void main(String[] args) {

        //declaring
        Scanner input = new Scanner(System.in);

        //inputs
        System.out.println("Enter in the double with this format ( A + B )^2");

        System.out.print("A --> ");
        double A = input.nextInt();

        System.out.print("B --> ");
        double B = input.nextInt();
        input.close();

        System.out.println("You're Equation: " + A + " + " + B + "x");

        //Math
        //A + C + B
        double A2 = Math.pow(A, 2);
        double B2 = Math.pow(B, 2);
        double C = 2 * (A * B);

        //final
        System.out.print("You answer: ");
        System.out.println(A2 + " + "+ C + "x" + " + "+ B2+ "x^2");
    }
}

1 Ответ

0 голосов
/ 01 марта 2019

Вставка - это самый простой общий подход для перехода от одной формулы к эквивалентному уравнению формы

Y(x) = A2 + B2x + C2(x)^2

Поскольку существует три переменные (A2, B2, C2), нам нужно три уравнения для решения системы.Чтобы получить эти уравнения, мы можем просто положить три x по нашему выбору и их вычисленный Y (x) в желаемую форму.И решить систему уравнений.

Таким образом, по сути мы вычисляем Y (x) для трех x по нашему выбору и просто вставляем их в формулу.Можно принять любое (определенное) значение, но некоторые облегчают жизнь.

Итак,

X = 0 - первый кандидат, поскольку он исключает все с помощью x и напрямую дает вам A2.

Y(0)= C2*(0)^2+B2*(0)+A2 = A2
A2 = Y(0)

x = 1 : вы получаете

 Y(1)= C2*(1)^2+B2*(1)+A2 = C2+B2+A2

x = -1 : вы получаете

Y(-1)= C2*(-1)^2+B2*(-1)+A2= C2-B2+A2

Устранение C2:

Y(-1)+B2-A2 = Y(1) -B2 -A2
-> 2*B2=Y(1)-Y(-1)
B2=(Y(1)-Y(-1))/2

Окончательно вычислите C2, вставив в C2 + B2 + A2 = Y (1):

C2=Y(1) -B2 -A2

В общем - для любого заданного (действительного) уравнения, чтобы получить форму A2 + B2· X + C2 · x²:

  • A2 = Y (0)
  • B2 = (Y (1) -Y (-1)) / 2
  • C2 = Y (1) -B2 -A2 = (Y (1) + Y (-1)) / 2 - Y (0)

В вашем примере Y (1) = Y (-1) из-за квадрата, поэтому

Y(x) = (A + B * (x)^2)^2

Y(1) = (A + B * (1)^2)^2   =(A+B)^2  // x=1
Y(-1) = (A + B * (-1)^2)^2 =(A+B)^2  // x=-1
B2 =(Y(1)-Y(-1))/2 =0

И так

C2= Y(1) -A2 = (A+B)^2 - A2

То же для (A + B * (x) ^ 2) ^ 2:

  • A2 = Y (0) = A ^ 2
  • B2 = 0
  • C2 = Y (1) - Y (0) = (A + B) ^ 2 - A2

Код:

public static void main(String[] args) {

        //declaring
        Scanner input = new Scanner(System.in);

        //inputs
        System.out.println("Enter in the double with this format (A + B(x)^2)^2");

        System.out.print("A --> ");
        double A = input.nextInt();

        System.out.print("B --> ");
        double B = input.nextInt();
        input.close();

        System.out.println("You're Equation: (" + A + " + " + B + "x^2)^2");

        //Math
        //A + C + B
        double A2 = Math.pow(A, 2);
        /**  old code:
         * 
        double B2 = Math.pow(B, 2);

        double C = 2 * (A * B);
        */     
        /** replacement : */
        //Y(1)=(A + B*(1)^2)^2 = (A+B)^2
        //Y(-1)=(A + B*(-1)^2)^2 = (A+B)^2
        //B2 = (Y(1)-Y(-1))/2 = ((A+B)^2 -(A+B)^2)/2 = 0
        double B2=0; // it is always 0 in this case
        //Y(1)=(A + B*(1)^2)^2 = (A+B)^2
        double C2=(A+B)*(A+B) - A2; //Y(1) -A2 
        //final
        System.out.print("You answer: ");
        System.out.println(A2 + " + " + B2 + "x" + " + " + C2 + "x^2");
    }

Я добавил несколько комментариев, чтобы показать, что происходит и как сделать подобное с другимиУравнение.

...