Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package bulatski;
- public class ChemberlinSolver {
- private double alpha;
- private double beta;
- private double gamma;
- private double a;
- private double b;
- private double c;
- public ChemberlinSolver(double alpha,
- double beta,
- double gamma,
- double a,
- double b,
- double c) {
- this.alpha = alpha;
- this.beta = beta;
- this.gamma = gamma;
- this.a = a;
- this.b = b;
- this.c = c;
- }
- private boolean validateParams() {
- return beta > 0 && gamma > 0 && alpha > 0 && c > 0 && b > 0 && b <= alpha && a >= 0;
- }
- private double solveQ1() {
- return (-2 * (beta + c) +
- Math.sqrt(4 * Math.pow(beta + c, 2) + 12 * gamma * (alpha - b))) /
- (6 * gamma);
- }
- private double solvePm(double q1) {
- return alpha - beta * q1 - gamma * Math.pow(q1, 2);
- }
- private double solveR(double alpha1) {
- return ((- beta - c) + Math.sqrt(Math.pow(beta + c, 2) + 3 * (alpha1 - b))) /
- ((-beta - c) + Math.sqrt(Math.pow(beta + c, 2) + 3 * (alpha - b)));
- }
- private double solveK(double r) {
- return r / (1 + r);
- }
- private double solveQ0(double r) {
- return ((- beta * (1 + r) - c) +
- Math.sqrt(Math.pow(beta * (1 + r) + c, 2) + 3 * gamma * Math.pow(1 + r, 2) * (alpha - b))) /
- (3 * gamma * (1 + r));
- }
- public void solve() {
- if(!validateParams()) {
- System.out.println("Wrong attribute's set.");
- return;
- }
- double q1First = solveQ1();
- System.out.println("Q1 = " + q1First);
- double alpha1 = solvePm(q1First);
- System.out.println("Alpha1 = " + alpha1);
- double r = solveR(alpha1);
- System.out.println("r = " + r);
- double k = solveK(r);
- System.out.println("k = " + k);
- double q0 = solveQ0(r);
- System.out.println("q0 = " + q0);
- double q2 = q0 * k;
- System.out.println("q2 = " + q2);
- double q1 = q0 * (1 - k);
- System.out.println("q1 = " + q1);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement