рдирдорд╕реНрддреЗ!
рдЗрд╕рд▓рд┐рдП,
рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рд╡реНрдпреБрддреНрдкрдиреНрди, рд╕рд░рд▓реАрдХрд░рдг рдФрд░ рд╕рдВрдХрд▓рди рд╣реИред рддреЛ, рд╣рдорд╛рд░реЗ рд╕рд░рд▓ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХреЛ рдФрд░ рдХреНрдпрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдЦреИрд░, рдХрдо рд╕реЗ рдХрдо рдлреЙрд░реНрдо рдХреЗ рд╕рдореАрдХрд░рдг
( x - b ) ( t a n ( s i n n ( x ) ) реи - рей t a n ( s i n ( x ) ) + c ) = реж
рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рддрдп рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдорд╛рдорд▓рд╛ рд▓реЗрдЯрдЪ рдореЗрдВ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рд╕реБрдВрджрд░ рд╣реИ, рдФрд░ рдпрд╣ рдареАрдХ рд░рд╣реЗрдЧрд╛! рдЪрд▓реЛ рдЪрд▓рддреЗ рд╣реИрдВ!

рддреНрдпрд╛рдЧрд╣рд╛рд▓рд╛рдБрдХрд┐ рдХреЛрдб рдпрд╣рд╛рдБ C # рдореЗрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдпрд╣рд╛рдБ рдЗрддрдирд╛ рдЫреЛрдЯрд╛ рд╣реИ рдХрд┐ рднрд╛рд╖рд╛ рдХреЛ рдЬрд╛рдирдиреЗ рдпрд╛ рдЙрд╕рд╕реЗ рдирдлрд░рдд рдХрд░рдиреЗ рд╕реЗ рдкрдврд╝рдиреЗ рдХреЛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рдВрдХрд▓рди рддреНрд╡рд░рдг
рдкрд┐рдЫрд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдордиреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рд╣рдо рдЗрд╕реЗ рдПрдХ рдмрд╛рд░ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХреЗрдВ, рдФрд░ рдлрд┐рд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕реЗ рдХрдИ рдмрд╛рд░ рдЪрд▓рд╛ рд╕рдХреЗрдВред
рдЗрд╕рд▓рд┐рдП, рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддреЗ рд╣реИрдВ
s i n ( x 2 ) + c o s ( x 2 ) + x 2 + s i n ( x 2 )
рдкрд╣рд▓реЗ рднрд╛рдЧ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреА рдЧрддрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдереА:
рдХреНрдпрд╛?рд╕реНрдерд╛рдирд╛рдкрдиреНрди - рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рддрд░реАрдХрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
var x = MathS.Var("x"); var expr = x + 3 * x; Console.WriteLine(expr.Substitute(x, 5).Eval()); >>> 20
рд╣рдорд╛рд░рд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд╛рд░реНрдп рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд╣рдо рдРрд╕рд╛ рд╣реА рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж
var x = MathS.Var("x"); var expr = x + 3 * x; var func = expr.Compile(x); Console.WriteLine(func.Substitute(5));
рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╕реАрдзреЗ рдХреЛрдб рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╣рдо рдХрд░рддреЗ рд╣реИрдВ
static Complex MyFunc(Complex x) => x + 3 * x;
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рджреЛрд╣рд░рд╛рдП рдЧрдП рднрд╛рдЧ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
x 2 , рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреИрд╢ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо PULLCACHE рдФрд░ TOCACHE рджреЛ рдФрд░ рдирд┐рд░реНрджреЗрд╢ рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдХреИрд╢ рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЙрд╕ рдкрддреЗ рдкрд░ рдзрдХреЗрд▓реЗрдВрдЧреЗ, рдЬрд┐рд╕реЗ рд╣рдо рд╕реНрдЯреИрдХ рдкрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рджреВрд╕рд░рд╛ рд╕реНрдЯреИрдХ рд╕реЗ рдХреИрд╢ рдореЗрдВ рдЖрдЦрд┐рд░реА рдирдВрдмрд░ (
stack.Peek()
) рдХреЛ рднреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрддреЗ рдкрд░
рдХреЙрдкреА рдХрд░реЗрдЧрд╛ред
рдпрд╣ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди рд╣рдо рдХреИрд╢рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рд▓рд┐рдЦреЗрдВрдЧреЗред рдХреНрдпрд╛ рд╣рдо рдХреИрд╢ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ? рдЦреИрд░, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рдмрд╛рд░ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред рдХреИрд╢ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрджреЗрд╢ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рджреВрд╕рд░реЗ, рдСрдкрд░реЗрд╢рди рдЬреЛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИрдВ рд╡реЗ рднреА рдХреИрд╢ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред рдареАрдХ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЪрд░ рдпрд╛ рд╕рдВрдЦреНрдпрд╛ рддрдХ рдкрд╣реБрдВрдЪред
рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рд╕реВрдЪреА рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддреЗ рд╕рдордп, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреИрд╢рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡-рдирд┐рд░реНрдорд┐рдд рд╕рд░рдгреА рд╣реЛрдЧреАред рдЕрдм рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдЬреИрд╕реЗ рджрд┐рдЦрддреЗ рд╣реИрдВ
PUSHCONST (2, 0) PUSHVAR 0 CALL powf TOCACHE 0 # , , - . CALL sinf TOCACHE 1 # PULLCACHE 0 # , . PULLCACHE 0 CALL cosf PULLCACHE 1 CALL sumf CALL sumf CALL sumf
рдЙрд╕рдХреЗ рдмрд╛рдж рд╣рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмреЗрд╣рддрд░ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ:
рд╢рд▓рдЬрдо рдореЗрдВ, рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рдВрдХрд▓рди рдФрд░ рд╡реНрдпрд╛рдЦреНрдпрд╛ рджреЛрдиреЛрдВ рдХреЛ
рдпрд╣рд╛рдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛
рд╣реИ ред
LaTeX
рдпрд╣ рдЧрдгрд┐рддреАрдп рдлрд╝рд╛рд░реНрдореБрд▓реЛрдВ рдХреА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рдкреНрд░рд╛рд░реВрдк рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЗрд╡рд▓ рдЙрдиреНрд╣реЗрдВ рдирд╣реАрдВ!), рдЬрд┐рд╕реЗ рд╕реБрдВрджрд░ рдЪрд┐рддреНрд░реЛрдВ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рд╣рдм рдкрд░ рднреА рд╣реИ, рдФрд░ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЧрдП рд╕рднреА рд╕реВрддреНрд░ рдЗрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред
рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╡реГрдХреНрд╖ рд╣реЛрдиреЗ рд╕реЗ рд▓реЗрдЯреЗрдХреНрд╕ рдореЗрдВ рдкреНрд░рддрд┐рдкрд╛рджрди рдмрд╣реБрдд рд╕рд░рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рддрд░реНрдХ рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдП? рддреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреЗрдбрд╝ рдХреА рдЪреЛрдЯреА рд╣реИред рдпрджрд┐ рдпрд╣ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдпрд╛ рдПрдХ рдЪрд░ рд╣реИ, рддреЛ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред рдпрджрд┐ рдпрд╣ рд╢реАрд░реНрд╖, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд┐рд╡реАрдЬрди рдСрдкрд░реЗрдЯрд░, рд╣рдо рдФрд░ рдЕрдзрд┐рдХ рдЪрд╛рд╣реЗрдВрдЧреЗ
fracab рд╕реЗ
рдП/рдмреА , рдЗрд╕рд▓рд┐рдП рд╡рд┐рднрд╛рдЬрди рдХреЗ рд▓рд┐рдП рд╣рдо рдХреБрдЫ рдРрд╕рд╛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ
public static class Div { internal static string Latex(List<Entity> args) => @"\frac{" + args[0].Latexise() + "}{" + args[1].Latexise() + "}"; }
рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рджреМрд░рд╛рди рдореБрдЭреЗ рдПрдХрдорд╛рддреНрд░ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреЛрд╖реНрдардХ рдХреИрд╕реЗ рд░рдЦрд╛ рдЬрд╛рдПред рдЕрдЧрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрдЯрд░ рдкрд░ рдЫреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдРрд╕реА рдмрдХрд╡рд╛рд╕ рдорд┐рд▓реЗрдЧреА:
рдЫреЛрдбрд╝рджрд┐рдпрд╛( рдмрд╛рдПрдБ( рдмрд╛рдПрдБ( рдмрд╛рдПрдБ+x+3)рджрд╛рдпрд╛рдБ)+рдмрд╛рдпрд╛рдБ(a+b рджрд╛рдПрдБ) рджрд╛рдПрдБ) рджрд╛рдПрдБ)+c рджрд╛рдПрдБ)
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдЪреМрдХрд╕ рд╡реНрдпрдХреНрддрд┐ рддреБрд░рдВрдд (рдФрд░ рдореЗрд░реЗ рдЬреИрд╕рд╛ рдирд╣реАрдВ) рдиреЛрдЯрд┐рд╕ рдХрд░реЗрдЧрд╛ рдХрд┐ рдпрджрд┐ рд╡реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдлреЙрд░реНрдо рдХреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп
cтИЧ(a+b) , рд╣рдо рдЫрд╛рдкреЗрдВрдЧреЗ
рд╕реАтИЧрдП+рдмреА
рдпрд╣ рдмрд╕ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдо рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдореЗрдВ рдПрдХ рд▓рд╛ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ
args[0].Latexise(args[0].Priority < Const.PRIOR_MUL) + "*" + args[1].Latexise(args[1].Priority < Const.PRIOR_MUL);
рдФрд░ рд╡реЛрдЗрд▓рд╛, рддреБрдо рдЦреВрдмрд╕реВрд░рдд рд╣реЛред
рд▓реЗрдЯреЗрдХреНрд╕рд░реАрдХрд░рдг
рдпрд╣рд╛рдБ рдХрд┐рдпрд╛
рдЧрдпрд╛ ред рдФрд░ рд▓реЗрдЯреЗрдХреНрд╕рд┐рд╕ рд╢рдмреНрдж рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдордд рдорд╛рд░реЛред
рд╕рдореАрдХрд░рдг рд╕рдорд╛рдзрд╛рди
рджрд░рдЕрд╕рд▓, рдЧрдгрд┐рдд рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдЖрдк рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХреБрдЫ рд╕рдореАрдХрд░рдг рдХреЗ рд╕рднреА рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рдвреВрдВрдврддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЕрдВрддрд┐рдо рд▓рдХреНрд╖реНрдп рдХреА рдЕрдкреНрд░рд╛рдкреНрдпрддрд╛ рдХреЛ рд╕рд╛рдХрд╛рд░ рдХрд░рддреЗ рд╣реБрдП рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рднрд┐рдиреНрди рдЬрдбрд╝реЛрдВ рдХреЛ рдЦреЛрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рджреЛ рдШрдЯрдХ рд╣реИрдВ: рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рдорд╛рдзрд╛рди (рд╕рдм рдХреБрдЫ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╕рд░рд▓ рд╣реИ) рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ (рд▓реЗрдХрд┐рди рдпрд╣ рдЗрддрд┐рд╣рд╛рд╕ рд╣реИ)ред
рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рдорд╛рдзрд╛рдиред рдиреНрдпреВрдЯрди рдХреА рд╡рд┐рдзрд┐
рд╡рд╣ рдмреЗрд╣рдж рд╕рд░рд▓ рд╣реИ, рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЬрд╛рдирдирд╛
рдЪ(x) рд╣рдо рдкреБрдирд░рд╛рд╡реГрддреНрдд рд╕реВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░реВрдЯ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВрдЧреЗ
x_ {n + 1} = x_n - \ frac {f (x)} {f (x) ''
x_ {n + 1} = x_n - \ frac {f (x)} {f (x) ''
рдЪреВрдВрдХрд┐ рд╣рдо рд╕рднреА рдПрдХ рдЬрдЯрд┐рд▓ рд╡рд┐рдорд╛рди рдореЗрдВ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рджреНрд╡рд┐-рдЖрдпрд╛рдореА рдЪрдХреНрд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдлрд┐рд░ рдЕрджреНрд╡рд┐рддреАрдп рд▓реЛрдЧреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░реЗрдВрдЧреЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдЕрдм рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рджреЛрдиреЛрдВ рдлрд╝рдВрдХреНрд╢рди
рдЪ(x) рдФрд░
рдЪ(x)тА▓ рд╕рдВрдХрд▓рдиред
рдиреНрдпреВрдЯрди
рдпрд╣рд╛рдБ рдмреИрдард╛
рд╣реИ ред
рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рд╕рдорд╛рдзрд╛рди
рдкрд╣рд▓реЗ рд╡рд┐рдЪрд╛рд░ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИрдВред рддреЛ, рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐, рд╕рдореАрдХрд░рдг рдХреА рдЬрдбрд╝реЗрдВ
a(x)тИЧb(x) рдЬрдбрд╝реЛрдВ рдХреА рд╕рдорд╛рди рд╕рдордЧреНрд░рддрд╛
(x) рдФрд░
b(x) , рдЗрд╕реА рддрд░рд╣ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд▓рд┐рдП:
internal static void Solve(Entity expr, VariableEntity x, EntitySet dst) { if (expr is OperatorEntity) { switch (expr.Name) { case "mul": Solve(expr.Children[0], x, dst); Solve(expr.Children[1], x, dst); return; case "div": Solve(expr.Children[0], x, dst); return; } } ...
рд╕рд╛рдЗрди рдХреЗ рд▓рд┐рдП, рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рджрд┐рдЦреЗрдЧрд╛:
case "sinf": Solve(expr.Children[0] + "n" * MathS.pi, x, dst); return;
рдЖрдЦрд┐рд░рдХрд╛рд░, рд╣рдо рд╕рднреА рдЬрдбрд╝реЛрдВ рдХреЛ рдвреВрдВрдврдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рди рдХрд┐ рдХреЗрд╡рд▓ рд╡реЗ рдЬреЛ 0 рд╣реИрдВред
рд╣рдордиреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐ рд╡рд░реНрддрдорд╛рди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдПрдХ рдЙрддреНрдкрд╛рдж рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЕрдиреНрдп рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдВрдЪрд╛рд▓рд┐рдд рдСрдкрд░реЗрдЯрд░реЛрдВ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд╣рдореЗрдВ рд╕рдореАрдХрд░рдг рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдкрд╣рд▓рд╛ рд╡рд┐рдЪрд╛рд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдореЗрдВ рдЗрд╕рдХреА рд▓рдЧрднрдЧ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рдореАрдХрд░рдг рдХреЗ рд▓рд┐рдП
sin(x)2+ sin(x)тИТ0.4=0
рдХреЛрдИ рдЯреЗрдореНрдкрд▓реЗрдЯ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреЛрдбрд╝реА рдХреЗ рд▓рд┐рдП
\ рд╢реБрд░реВ {рдорд╛рдорд▓реЛрдВ} рдЯреА ^ 2 + рдЯреА - 0.4 = 0 \\ рдЯреА = \ рдкрд╛рдк (рдПрдХреНрд╕) \ рдЕрдВрдд {рдорд╛рдорд▓реЛрдВ
рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдпрд╣ рдореМрдЬреВрдж рд╣реИред
рдЗрд╕рд▓рд┐рдП, рд╣рдо GetMinimumSubtree рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рдмрд╕реЗ рдХреБрд╢рд▓ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд▓реМрдЯрд╛рдПрдЧрд╛ред рдПрдХ рдкреНрд░рднрд╛рд╡реА рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреНрдпрд╛ рд╣реИ? рдпрд╣ рдРрд╕рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо
- рдЗрд╕ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдзрд┐рдХрддрдо рдХрд░реЗрдВ
- рдкреЗрдбрд╝ рдХреА рдЧрд╣рд░рд╛рдИ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░реЗрдВ (рддрд╛рдХрд┐ рд╕рдореАрдХрд░рдг рдореЗрдВ sin( sin(x))2+3 рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдерд╛ sin( sin(x)) )
- рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд╕рд╛рде рд╣рдордиреЗ рд╕рднреА рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рдПрдХ рдЪрд░ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╕рдореАрдХрд░рдг рдореЗрдВ sin(x)2+ sin(x)+x рд╣рдо рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд░реЗрдВрдЧреЗ t= sin(x) рддрдм рд╕рдм рдЦрд░рд╛рдм рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рд╕рдореАрдХрд░рдг рдореЗрдВ, рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди x рдпрд╣ рд╣реИ x (рдЕрд░реНрдерд╛рддреН, рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдирд╣реАрдВ рд╣реИ), рд▓реЗрдХрд┐рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП sin(x)2+ sin(x)+c рд╣рдо рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ t= sin(x) ред
рд╕рдореАрдХрд░рдг рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдмрд╣реБрдд рд╕рд░рд▓ рджрд┐рдЦрддрд╛ рд╣реИред
рдмрд╣реБрдкрдж
рддреЛ, рдкрд╣рд▓реА рдмрд╛рдд рд╣рдо рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо
expr.Expand()
-
expr.Expand()
рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдмреНрд░реИрдХреЗрдЯ рдЦреЛрд▓реЗрдВ
x(x+2) рдореЗрдВ рдмрджрд▓ рд░рд╣рд╛ рд╣реИ
x2+2x ред рдЕрдм, рдЦреБрд▓рд╛рд╕реЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рдорд┐рд▓рддрд╛ рд╣реИ
c+x3+3x2тИТрдПрдХтИЧx3+x
рд╡рд┐рд╣рд┐рдд рдирд╣реАрдВ? рдлрд┐рд░ рдкрд╣рд▓реЗ рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдореЛрдиреЛрдорд┐рдпрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВ, "рд░реИрдЦрд┐рдХ рдмрдЪреНрдЪреЛрдВ" (
рдЕрдВрддрд┐рдо рд▓реЗрдЦ рдореЗрдВ) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рднреА рд╢рд░реНрддреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореЛрдиреЛрдорд┐рдпрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ? рдПрдХ рдореЛрдиреЛрдорд┐рдпрд▓ рдХрд╛рд░рдХреЛрдВ рдХрд╛ рдПрдХ рдЙрддреНрдкрд╛рдж рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдПрдХ рдЪрд░ рд╣реИ, рдпрд╛ рдПрдХ рдЪрд░ рдХреА рдбрд┐рдЧреНрд░реА рдФрд░ рдкреВрд░реНрдгрд╛рдВрдХ рдХрд╛ рдПрдХ рдСрдкрд░реЗрдЯрд░ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рджреЛ рдЪрд░ рдкреЗрд╢ рдХрд░реЗрдВрдЧреЗ, рдПрдХ рдореЗрдВ рдбрд┐рдЧреНрд░реА рд╣реЛрдЧреА, рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ рдЧреБрдгрд╛рдВрдХ рд╣реЛрдЧрд╛ред рдЕрдЧрд▓рд╛, рдмрд╕ рдХрд╛рд░рдХреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдирд╛, рдФрд░ рд╣рд░ рдмрд╛рд░ рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╛ рддреЛ рд╡рд╣рд╛рдБ
x рдПрдХ рд╣рдж рддрдХ, рдпрд╛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдбрд┐рдЧреНрд░реА рдХреЗред рдпрджрд┐ рд╣рдо рдмрд╛рдХреВ рд╕реЗ рдорд┐рд▓рддреЗ рд╣реИрдВ - рд╣рдо рдЕрд╢рдХреНрдд рд╣реЛрдХрд░ рд▓реМрдЯрддреЗ рд╣реИрдВред
ByakaрдЕрдЧрд░ рд╣рдо рдЕрдЪрд╛рдирдХ рдХрд┐рд╕реА рд╕реЗ рдорд┐рд▓реЗ x3.2 ред рд▓реЙрдЧ(x,2) рдФрд░ рдЕрдиреНрдп рдЪреАрдЬреЗрдВ рдЬреЛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреА рд╣реИрдВ x , рд▓реЗрдХрд┐рди рдореЛрдиреЛрдорд┐рдпрд▓ рдкреИрдЯрд░реНрди рдлрд┐рдЯ рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдмреБрд░рд╛ рд╣реИред
рдареАрдХ рд╣реИ, рд╣рдордиреЗ рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреБрдВрдЬреА рдПрдХ рдбрд┐рдЧреНрд░реА (рдкреВрд░реНрдгрд╛рдВрдХ) рд╣реИ рдФрд░ рдорд╛рди рдПрдХ рдореЛрдиреЛрдорд┐рдпрд▓ рдЧреБрдгрд╛рдВрдХ рд╣реИред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рджрд┐рдЦрддрд╛ рд╣реИ:
0 => c 1 => 1 2 => 3 3 => 1 - a
рдпрд╣рд╛рдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджреНрд╡рд┐рдШрд╛рдд рд╕рдореАрдХрд░рдг рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
if (powers[powers.Count - 1] == 2) { var a = GetMonomialByPower(2); var b = GetMonomialByPower(1); var c = GetMonomialByPower(0); var D = MathS.Sqr(b) - 4 * a * c; res.Add((-b - MathS.Sqrt(D)) / (2 * a)); res.Add((-b + MathS.Sqrt(D)) / (2 * a)); return res; }
рдпрд╣ рдмрд┐рдВрджреБ рдЕрднреА рддрдХ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕реЗ рдХреНрдпреВрдмрд┐рдХ рдкреЙрд▓реАрдУрдирд┐рдпрд▓ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдпрд╣
рдпрд╣рд╛рдВ рд╣реЛрддрд╛
рд╣реИ ред
рд░рд┐рд╡рд░реНрд╕ рд╕реНрд╡реАрдк
рдЗрд╕рд▓рд┐рдП, рдпрд╣рд╛рдВ рд╣рдордиреЗ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд┐рдП рд╣реИрдВ
t= arcsin(x3+a2) , рдФрд░ рдЕрдм рд╣рдо рд╡рд╣рд╛рдВ рд╕реЗ x рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдФрд░ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреА рдПрдХ рдХрджрдо-рджрд░-рдЪрд░рдг рддреИрдирд╛рддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐
t= arcsin(x3+a2)
sin(t)=x3+a2
sin(t)тИТрдПрдХ2=x3
( s i n n ( t ) - a 2 ) f r a c 1 3 = x
рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
switch (func.Name) { case "sinf":
рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдб
рдпрд╣рд╛рдБ рд╣реИ ред
рд╕рдм рдХреБрдЫ, рд╕рдореАрдХрд░рдгреЛрдВ рдХрд╛ рдЕрдВрддрд┐рдо рд╕рдорд╛рдзрд╛рди (рдЕрд▓рд╡рд┐рджрд╛!) рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ
- рдпрджрд┐ рд╣рдо рд╢реВрдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рдСрдкрд░реЗрдЯрд░ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рд╡рд╣рд╛рдВ рд╕рдорд╛рдзрд╛рди рднреЗрдЬреЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдПрдХ * рдЦ = 0 рдЙрд╕рдХреЗ рдмрд╛рдж рд╣рд▓ (рдП) рдФрд░ рд╣рд▓ (рдмреА) рдЪрд▓рд╛рдПрдВ
- рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЦреЛрдЬреЗрдВ
- рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдПрдХ рдмрд╣реБрдкрдж рдХреЗ рд░реВрдк рдореЗрдВ рд╣рд▓ рдХрд░реЗрдВ
- рд╕рднреА рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд┐рдо рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рддреИрдирд╛рдд рдХрд░реЗрдВ
- рдпрджрд┐, рдПрдХ рдмрд╣реБрдкрдж рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рд╣рд▓ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рдЪрд░ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕реЗ рдиреНрдпреВрдЯрди рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ
рддреЛ, рдЖрдЬ рд╣рдо рд╣реИрдВ:
- рдХреИрд╢ рдХреЗ рдХрд╛рд░рдг рд╕рдВрдХрд▓рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЧрддрд┐ рджреЗрдВ
- LaTeX рдореЗрдВ рд░реЗрдВрдбрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛
- рд╣рдордиреЗ рд╕рдореАрдХрд░рдгреЛрдВ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣рд▓ рдХрд┐рдпрд╛
рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЕрднрд┐рдиреНрди рдХреА рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЧрдгрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣
рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ ред рдореИрдВрдиреЗ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХреА, рдХреНрдпреЛрдВрдХрд┐ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдореБрдЭреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЖрд▓реЛрдЪрдирд╛ рдорд┐рд▓реА рдереАред рд╡рд┐рдЪрд╛рд░ рдЕрдкрдиреЗ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдерд╛ред рдлрд┐рд░ рднреА, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдХреИрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВ?
рдкрд░рд┐рдпреЛрдЬрдирд╛
рдпрд╣рд╛рдБ рд╣реИ ред
рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ ...рдпрджрд┐ рдХрд┐рд╕реА рдФрд░ рдХреЛ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рддреЛ рд╣рдо рдХреНрдпреВрдмрд┐рдХ рдФрд░ рдЪреМрдереЗ рдбрд┐рдЧреНрд░реА рдХреЛ рдЬреЛрдбрд╝рдХрд░ рд╕рдореАрдХрд░рдгреЛрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдПрдХ рдЕрдзрд┐рдХ рдмреБрджреНрдзрд┐рдорд╛рди рддрд╣ рдкреНрд░рдгрд╛рд▓реА рднреАред рд╢рд╛рдпрдж рд╣рдо рдкреИрдЯрд░реНрди рдХрд╛ рдЪрдпрди рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рднреА рдЫрд╛рддреНрд░ рддрдп рдХрд░реЗрдЧрд╛
1тИТ sin(x)2+ cos(x)+0.5
рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдирд╣реАрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдирд┐рд╢реНрдЪрд┐рддрдХрд╛рд▓реАрди рдЕрднрд┐рдиреНрди (рд╢реБрд░реБрдЖрдд) рд╣реЛ рд╕рдХрддреА рд╣реИред рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЪрддреБрд░реНрдзрд╛рддреБрдХ рдпрд╛ рдорд╛рддреГ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЕрднреА рддрдХ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рддрд░рд╣ рдпрд╣ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рднрд╛рдЧ III рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рддреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рдВрджреЗрд╢реЛрдВ рдпрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВрдЬрд┐рди рд▓реЛрдЧреЛрдВ рдиреЗ рдХреЛрдб рдХреЛ рджреЗрдЦрд╛, рд╡реЗ рдиреЛрдЯрд┐рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдХрдЪреНрдЪрд╛ рдФрд░ рд░рд┐рдлреИрдХреНрдЯреЗрдб рдерд╛ред рдФрд░, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдореИрдВ рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░ рдХрд░реВрдВрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рд╡реНрдпрдХреНрдд рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдХреЛрдб рдореЗрдВ рдЭрд╛рдВрдХрдирд╛ рд╣реИред рдФрд░ рдкреБрд▓ рдкреБрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдо рдЕрднреА рднреА wolfram.alpha рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЦреБрд▓реА рд╣реИред
рдФрд░ рдпрд╣рд╛рдБ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ рдЬреЛ рд╣рдордиреЗ рдЖрдЬ рдХрд┐рдП
var x = MathS.Var("x"); var y = MathS.Var("y"); var expr = x.Pow(y) + MathS.Sqrt(x + y / 4) * (6 / x); Console.WriteLine(expr.Latexise()); >>> {x}^{y}+\sqrt{x+\frac{y}{4}}*\frac{6}{x}
рдПрдХреНрд╕ y +рд░реЛрдВрдХреНрд╖рдЖрд░рдЯреА рдПрдХреНрд╕ + рдЪ рдЖрд░ рдПрдХ рдЧ y 4 *рдЪрдЖрд░рдПрдХрд╕реА 6 рдПрдХреНрд╕ var x = MathS.Var("x"); var expr = MathS.Sin(x) + MathS.Sqrt(x) / (MathS.Sqrt(x) + MathS.Cos(x)) + MathS.Pow(x, 3); var func = expr.Compile(x); Console.WriteLine(func.Substitute(3)); >>> 29.4752368584034
Entity expr = "(sin(x)2 - sin(x) + a)(b - x)((-3) * x + 2 + 3 * x ^ 2 + (x + (-3)) * x ^ 3)"; foreach (var root in expr.Solve("x")) Console.WriteLine(root); >>> arcsin((1 - sqrt(1 + (-4) * a)) / 2) >>> arcsin((1 + sqrt(1 + (-4) * a)) / 2) >>> b >>> 1 >>> 2 >>> i >>> -i
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!