Вставка - это самый простой общий подход для перехода от одной формулы к эквивалентному уравнению формы
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");
}
Я добавил несколько комментариев, чтобы показать, что происходит и как сделать подобное с другимиУравнение.