mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-12 19:59:02 +08:00
163 lines
4.6 KiB
TypeScript
163 lines
4.6 KiB
TypeScript
import { Equation, Expression, Fraction, parse, toTex } from 'algebra.js';
|
|
|
|
{
|
|
let expr = new Expression("x");
|
|
expr = expr.subtract(3);
|
|
expr = expr.add("x");
|
|
expr.toString();
|
|
let eq = new Equation(expr, 4);
|
|
eq.toString();
|
|
let x = eq.solveFor("x");
|
|
x.toString();
|
|
}
|
|
{
|
|
let frac = new Fraction(1, 2);
|
|
frac.toString();
|
|
frac = frac.add(new Fraction(3, 4));
|
|
frac.toString();
|
|
frac = frac.subtract(2);
|
|
frac.toString();
|
|
frac = frac.multiply(new Fraction(4, 3));
|
|
frac.toString();
|
|
frac = frac.divide(5);
|
|
frac.toString();
|
|
|
|
let x = new Expression("x");
|
|
x = x.add(3);
|
|
x.toString();
|
|
x = x.subtract(new Fraction(1, 3));
|
|
x.toString();
|
|
x = x.add("y");
|
|
x.toString();
|
|
let otherExp = new Expression("x").add(6);
|
|
x = x.add(otherExp);
|
|
x.toString();
|
|
|
|
let expr1 = new Expression("a").add("b").add("c");
|
|
let expr2 = new Expression("c").subtract("b");
|
|
let expr3 = expr1.subtract(expr2);
|
|
expr1.toString() + " - (" + expr2.toString() + ") = " + expr3.toString();
|
|
|
|
expr1 = new Expression("x");
|
|
expr1 = expr1.add(2);
|
|
expr1 = expr1.multiply(4);
|
|
expr2 = new Expression("x");
|
|
expr2 = expr2.multiply("y");
|
|
expr2 = expr2.multiply(new Fraction(1, 3));
|
|
expr2 = expr2.add(4);
|
|
expr3 = expr1.multiply(expr2);
|
|
"(" + expr1.toString() + ")(" + expr2.toString() + ") = " + expr3.toString();
|
|
|
|
x = new Expression("x").divide(2).divide(new Fraction(1, 5));
|
|
x.toString();
|
|
let exp = new Expression("x");
|
|
exp = exp.add("y");
|
|
exp = exp.add(3);
|
|
exp.toString();
|
|
let sum = exp.summation("x", 3, 6);
|
|
sum.toString();
|
|
exp = new Expression("x").add(2);
|
|
let exp3 = exp.pow(3);
|
|
"(" + exp.toString() + ")^3 = " + exp3.toString();
|
|
|
|
let expr = new Expression("x");
|
|
expr = expr.multiply(2);
|
|
expr = expr.multiply("x");
|
|
expr = expr.add("y");
|
|
expr = expr.add(new Fraction(1, 3));
|
|
expr.toString();
|
|
let answer1 = expr.eval({ x: 2 });
|
|
let answer2 = expr.eval({ x: 2, y: new Fraction(3, 4) });
|
|
answer1.toString();
|
|
answer2.toString();
|
|
expr = new Expression("x").add(2);
|
|
expr.toString();
|
|
let sub = new Expression("y").add(4);
|
|
let answer = expr.eval({ x: sub });
|
|
answer.toString();
|
|
exp = new Expression("x").add(2);
|
|
exp.toString();
|
|
exp = exp.multiply(5, false);
|
|
exp.toString();
|
|
exp = exp.simplify();
|
|
exp.toString();
|
|
exp = exp.add(5, false);
|
|
exp.toString();
|
|
exp = exp.divide(5, false);
|
|
exp.toString();
|
|
exp = exp.simplify();
|
|
exp.toString();
|
|
exp = exp.pow(2, false);
|
|
exp.toString();
|
|
exp = exp.simplify();
|
|
exp.toString();
|
|
let z = new Expression("z");
|
|
let eq1 = new Equation(z.subtract(4).divide(9), z.add(6));
|
|
eq1.toString();
|
|
let eq2 = new Equation(z.add(4).multiply(9), 6);
|
|
eq2.toString();
|
|
let eq3 = new Equation(z.divide(2).multiply(7), new Fraction(1, 4));
|
|
eq3.toString();
|
|
}
|
|
{
|
|
let x1 = parse("1/5 * x + 2/15");
|
|
let x2 = parse("1/7 * x + 4");
|
|
let eq = new Equation(x1 as Expression, x2 as Expression);
|
|
eq.toString();
|
|
let answer = eq.solveFor("x");
|
|
"x = " + answer.toString();
|
|
let expr1 = parse("1/4 * x + 5/4");
|
|
let expr2 = parse("3 * y - 12/5");
|
|
eq = new Equation(expr1 as Expression, expr2 as Expression);
|
|
eq.toString();
|
|
let xAnswer = eq.solveFor("x");
|
|
let yAnswer = eq.solveFor("y");
|
|
"x = " + xAnswer.toString();
|
|
"y = " + yAnswer.toString();
|
|
let n1 = parse("x + 5") as Expression;
|
|
let n2 = parse("x - 3/4") as Expression;
|
|
let quad = new Equation(n1.multiply(n2), 0);
|
|
quad.toString();
|
|
let answers = quad.solveFor("x");
|
|
"x = " + answers.toString();
|
|
n1 = parse("x + 2") as Expression;
|
|
n2 = parse("x + 3") as Expression;
|
|
let n3 = parse("x + 4") as Expression;
|
|
let cubic = new Equation(n1.multiply(n2).multiply(n3), 0);
|
|
cubic.toString();
|
|
answers = cubic.solveFor("x");
|
|
"x = " + answers.toString();
|
|
let expr = new Expression("x");
|
|
expr = expr.multiply("x");
|
|
expr = expr.add("x");
|
|
expr = expr.add("y");
|
|
eq = new Equation(expr, 3);
|
|
eq.toString();
|
|
xAnswer = eq.solveFor("x");
|
|
yAnswer = eq.solveFor("y");
|
|
"x = " + xAnswer;
|
|
"y = " + yAnswer.toString();
|
|
let exp = parse("2 * x^2 + 4 * x + 4");
|
|
exp.toString();
|
|
exp = parse("x * y + 4");
|
|
exp.toString();
|
|
}
|
|
{
|
|
let eq = parse("x^2 + 4 * x + 4 = 0") as Equation;
|
|
eq.toString();
|
|
let ans = eq.solveFor("x");
|
|
"x = " + ans.toString();
|
|
let a = new Expression("x").pow(2);
|
|
let b = new Expression("x").multiply(new Fraction(5, 4));
|
|
let c = new Fraction(-21, 4);
|
|
let expr = a.add(b).add(c);
|
|
let quad = new Equation(expr, 0);
|
|
toTex(quad);
|
|
let answers = quad.solveFor("x");
|
|
toTex(answers);
|
|
let lambda = new Expression("lambda").add(3).divide(4);
|
|
let Phi = new Expression("Phi").subtract(new Fraction(1, 5)).add(lambda);
|
|
toTex(lambda);
|
|
toTex(Phi);
|
|
}
|