1:
|
val expandMain : _arg1 : Expression -> Expression
|
"Разворачивает" математическое выражение на слагаемые только относительно главного оператора.
1:
2:
3:
4:
5:
|
let expr = "3*(x+y)*(x+1)*(y+3)" |> Infix.parseOrUndefined
Algebraic.expandMain expr
|> Infix.format
|> printfn "%s"
|
1:
|
9*x + 9*x^2 + 9*y + 12*x*y + 3*x^2*y + 3*y^2 + 3*x*y^2
|
Так как по описанию отличие от функции Algebraic.expand может быть
не совсем понятно, будет уместно привести следующий пример:
1:
2:
3:
4:
5:
6:
7:
8:
9:
|
let expr = "3*((x+y)*(x+1)+(y+3)*(x-2))" |> Infix.parseOrUndefined
Algebraic.expandMain expr
|> Infix.format
|> printfn "%s"
Algebraic.expand expr
|> Infix.format
|> printfn "%s"
|
Вывод:
1:
2:
|
3*(-2 + x)*(3 + y) + 3*(1 + x)*(x + y)
-18 + 12*x + 3*x^2 - 3*y + 6*x*y
|