Segunda-feira, 2026-05-11, 4:38 PM
InovaTIsoft Tecnologia & Inovação
Início Registrar-se Login
Bem-vindo, Convidado · RSS
Menu do site
Estatísticas

Total Online: 1
Convidados: 1
Usuários: 0
 Matemática Avançada

Exemplos de Telas Típicas de Folha de Documento de Cálculos do Maple


Bivariate Limits

The limit command has been enhanced for the case of limits of bivariate rational functions. Many such limits that could not be determined previously are now computable. The new algorithm specifically handles the case where the function has an isolated singularity at the limit point.

In Maple 16, the following limit calls would return unevaluated, but they can be computed in Maple 17:

Example 1 

Example 2 

Example 3 

>f := `/`(`*`(x, `*`(y)), `*`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))))); -1

 

>limit(f, {x = 0, y = 0})

 

undefined
>g := `/`(`*`(x, `*`(`^`(y, 2))), `*`(`+`(`*`(`^`(x, 4)), `*`(`^`(y, 2))))); -1

 

>limit(g, {x = 0, y = 0})

 

0
>h := `/`(`*`(`+`(`*`(`^`(x, 4)), `*`(x, `*`(`^`(y, 2))), `*`(`^`(x, 2)), `*`(`^`(y, 2)))), `*`(`+`(`-`(`*`(`^`(x, 2), `*`(y))), `*`(`^`(x, 2)), `*`(`^`(y, 2))))); -1

 

>limit(h, {x = 0, y = 0})

 

1

Let us plot these three functions in the neighborhood of the origin:

>pf := plot3d(f, x = -.1 .. .1, y = -.1 .. .1, axes = boxed); -1; pf
pf := plot3d(f, x = -.1 .. .1, y = -.1 .. .1, axes = boxed); -1; pf

 

Plot_2d
>pg := plot3d(g, x = -.1 .. .1, y = -.1 .. .1, axes = boxed); -1; pg
pg := plot3d(g, x = -.1 .. .1, y = -.1 .. .1, axes = boxed); -1; pg

 

Plot_2d
>ph := plot3d(h, x = -.1 .. .1, y = -.1 .. .1, axes = boxed); -1; ph
ph := plot3d(h, x = -.1 .. .1, y = -.1 .. .1, axes = boxed); -1; ph

 

Plot_2d

In the last two examples, we can visually verify the existence of the limit.

In the first example, by inspecting the graph we can identify two different directions with different limits, namely y = x and y = `+`(`-`(x)). Indeed:

>eval(f, y = x)

 

`/`(1, 2)
>eval(f, y = `+`(`-`(x)))

 

-`/`(1, 2)
>with(plots); -1

 

>c1 := spacecurve([x, x, `/`(1, 2)], x = -.1 .. .1, color = red, thickness = 3); -1

 

>c2 := spacecurve([x, `+`(`-`(x)), -`/`(1, 2)], x = -.1 .. .1, color = blue, thickness = 3); -1
c2 := spacecurve([x, `+`(`-`(x)), -`/`(1, 2)], x = -.1 .. .1, color = blue, thickness = 3); -1

 

>display(pf, c1, c2)

 

Plot_2d


[0, 0, 0, 0, 0]

This is a proof that the bivariate limit of g at the origin exists and is equal to 0.

The following graph depicts the function g as well as all of the critical paths:

>curves := map(proc (z) options operator, arrow; plots[spacecurve]([x, z, eval(g, y = z)], x = -.1 .. .1, color = red, thickness = 3) end proc, paths); -1
curves := map(proc (z) options operator, arrow; plots[spacecurve]([x, z, eval(g, y = z)], x = -.1 .. .1, color = red, thickness = 3) end proc, paths); -1

 

>display(pg, op(curves))

 

Plot_2d

Branch Cuts of Mathematical Expressions

The FunctionAdvisor can now compute, algebraically, branch cuts (discontinuities) of mathematical expressions involving compositions of +, *, ^, and possibly fractional powers, with every mathematical function call for which FunctionAdvisor knows the branch cuts, with no restrictions to the level of nesting in the expression. This new feature includes the ability to generate 2-D and 3-D plots of the cuts, so as to view where the cuts are located and how the function evolves from one cut to another one.

Example

>expression := ln(sqrt(`*`(`^`(z, 3))))

 

>FunctionAdvisor(branch_cuts, expression, plot = 3.)

 

Plot_2dPlot_2d
[`+`(`*`(`/`(1, 2), `*`(ln(`*`(`^`(z, 3)))))), `<`(z, 0), And(Re(z) = `+`(`-`(`*`(`/`(1, 3), `*`(`^`(3, `/`(1, 2)), `*`(Im(z)))))), `<`(Im(z), 0)), And(Re(z) = `+`(`*`(`/`(1, 3), `*`(`^`(3, `/`(1, 2))...

The segments of discontinuity are therefore located in the imaginary part of expression, Im(`+`(`*`(`/`(1, 2), `*`(ln(`*`(`^`(z, 3))))))).

You can rotate these plots with the mouse and use any of the options of plot, plot3d and plotcompare to observe the cuts in different ways.

A 2-D more abstract visualization of the same cuts:

>FunctionAdvisor(branch_cuts, expression, plot = `2D`)

 

Plot_2d
[`+`(`*`(`/`(1, 2), `*`(ln(`*`(`^`(z, 3)))))), `<`(z, 0), And(Re(z) = `+`(`-`(`*`(`/`(1, 3), `*`(`^`(3, `/`(1, 2)), `*`(Im(z)))))), `<`(Im(z), 0)), And(Re(z) = `+`(`*`(`/`(1, 3), `*`(`^`(3, `/`(1, 2))...

Example

A classic example in the theory of branch cut calculation: Kahan's teardrop

>expression := `+`(`*`(2, `*`(arccosh(`+`(1, `*`(`+`(`*`(2, `*`(z))), `/`(1, 3)))))), `-`(`*`(2, `*`(arccosh(`/`(`*`(`+`(12, `*`(5, `*`(z)))), `*`(`+`(`*`(3, `*`(z)), 12))))))), `-`(`*`(2, `*`(arccosh(...

 

This expression is equal to zero for all values of z in the complex plane except for a small teardrop shaped region over the negative real axis, as shown in the following 3-D plot on the right (you can rotate it with the mouse). To see just the plot, without displaying the complicated algebraic description of the cuts, end the input with colon ':'

>FunctionAdvisor(branch_cuts, expression, plot = 3., shift_range = -3, scale_range = 2, orientation = [-124, 20, 14])

 

Plot_2dPlot_2d

Differential Equations

A new class of ordinary differential equations of Abel type, with non-constant invariants and depending on two arbitrary parameters, is now fully solvable in Maple 17.  Additionally, a large number of changes were added to the routines for tackling ordinary and partial differential equations.

Ordinary differential equation

For 1st order ODEs, the simplest problem beyond the reach of complete solving algorithms is known as Abel equations. These are equations of the form

where `≡`(y, y(x)) is the unknown and the `≡`(f[i], f[i](x)) and `≡`(g[j], g[j](x)) are arbitrary functions of x. The biggest subclass of Abel equations known to be solvable was discovered by our research team and is the AIR 4-parameter class. New in Maple 17, another 2-parameter class of Abel equations, beyond the AIR class, is now known and solvable.

Example

>

 

>sol[1] := dsolve(ode[1])

 

Typesetting:-mprintslash([sol[1] := `+`(_C1, `/`(`*`(`^`(`+`(`-`(`/`(`*`(y(x)), `*`(beta))), `-`(1)), `+`(beta, 1)), `*`(`^`(`+`(`-`(`/`(`*`(y(x)), `*`(alpha))), 1), `+`(alpha, 1)))), `*`(`^`(`+`(`*`(...
>odetest(sol[1], ode[1])

 

0

The related class of Abel equations that is now entirely solvable consists of the set of equations that can be obtained from equation above by changing variables

proc (x) options operator, arrow; F(x) end proc, proc (y) options operator, arrow; `/`(`*`(`+`(`*`(P[1](x), `*`(y)), Q[1](x))), `*`(`+`(`*`(P[2](x), `*`(y)), Q[2](x)))) end proc 

where  and the four  are arbitrary rational functions of x; this is the most general rational transformation that preserves the form of Abel equations and thus generates Abel ODE classes.

Several changes were performed in the existing algorithms to optimize their functioning, resulting in new solutions for problems that were out of reach in previous releases.

Example: Second order linear equations

>ode[2] := `+`(diff(y(x), x, x), `-`(`*`(`+`(l, `/`(`*`(`*`(2, `+`(`*`(`^`(a, 2)), `*`(`^`(b, 2))))), `*`(`^`(`+`(`*`(a, `*`(cos(x))), `*`(b, `*`(sin(x)))), 2)))), `*`(y(x))))) = 0; -1

 

>sol[2] := dsolve(ode[2], useInt)

 

Typesetting:-mprintslash([sol[2] := y(x) = `+`(`*`(_C1, `*`(`^`(`+`(`*`(`+`(`*`(`^`(b, 2), `*`(l)), `-`(`*`(`^`(a, 2)))), `*`(`^`(tan(x), 2))), `*`(2, `*`(a, `*`(b, `*`(`+`(l, 1), `*`(tan(x)))))), `*`...
Typesetting:-mprintslash([sol[2] := y(x) = `+`(`*`(_C1, `*`(`^`(`+`(`*`(`+`(`*`(`^`(b, 2), `*`(l)), `-`(`*`(`^`(a, 2)))), `*`(`^`(tan(x), 2))), `*`(2, `*`(a, `*`(b, `*`(`+`(l, 1), `*`(tan(x)))))), `*`...
Typesetting:-mprintslash([sol[2] := y(x) = `+`(`*`(_C1, `*`(`^`(`+`(`*`(`+`(`*`(`^`(b, 2), `*`(l)), `-`(`*`(`^`(a, 2)))), `*`(`^`(tan(x), 2))), `*`(2, `*`(a, `*`(b, `*`(`+`(l, 1), `*`(tan(x)))))), `*`...
Typesetting:-mprintslash([sol[2] := y(x) = `+`(`*`(_C1, `*`(`^`(`+`(`*`(`+`(`*`(`^`(b, 2), `*`(l)), `-`(`*`(`^`(a, 2)))), `*`(`^`(tan(x), 2))), `*`(2, `*`(a, `*`(b, `*`(`+`(l, 1), `*`(tan(x)))))), `*`...
Typesetting:-mprintslash([sol[2] := y(x) = `+`(`*`(_C1, `*`(`^`(`+`(`*`(`+`(`*`(`^`(b, 2), `*`(l)), `-`(`*`(`^`(a, 2)))), `*`(`^`(tan(x), 2))), `*`(2, `*`(a, `*`(b, `*`(`+`(l, 1), `*`(tan(x)))))), `*`...
>odetest(sol[2], ode[2])

 

0

Example: Nonlinear ODE problems with initial values

>ode[3] := {diff(y(x), x) = `+`(`-`(`*`(`+`(1, `-`(y(x))), `*`(sqrt(abs(y(x))))))), y(0) = `/`(1, 2)}; -1

 

>sol[3] := dsolve(ode[3], implicit)

 

Typesetting:-mprintslash([sol[3] := `+`(x, `-`(PIECEWISE([`+`(`*`(2, `*`(arctan(`*`(`^`(`+`(`-`(y(x))), `/`(1, 2))))))), `<=`(y(x), 0)], [`+`(`-`(`*`(2, `*`(arctanh(`*`(`^`(y(x), `/`(1, 2)))))))), `<`...
>odetest(sol[3], ode[3])

 

{0}

Example: Third order nonlinear ODE depending on arbitrary function, a reduction to a Riccati equation

>

 

>sol[4] := dsolve(ode[4], y(x))

 


>odetest(sol[4], ode[4])

 

0


Semialgebraic System Solving

The SolveTools[SemiAlgebraic] command has been integrated directly into the solve command, such that many systems involving non-linear polynomial inequalities that could not be solved previously, are solved.

In Maple 16, no solutions were found for the following system, but in Maple 17 it is easily solved:

Example

>sol := solve({`<=`(0, `+`(`-`(`*`(`^`(y, 2))), x)), `<`(0, `+`(`-`(y), `*`(3, `*`(x)), `-`(2))), `<`(`+`(`*`(`^`(x, 2)), `*`(`^`(y, 2))), 9)}, [x, y])

 

[[x = 1, `<`(y, 1), `<=`(-1, y)], [x = `+`(`-`(`/`(1, 2)), `*`(`/`(1, 2), `*`(`^`(37, `/`(1, 2))))), `<`(y, `+`(`*`(`/`(1, 2), `*`(`^`(`+`(`-`(2), `*`(2, `*`(`^`(37, `/`(1, 2))))), `/`(1, 2)))))), `<`...
[[x = 1, `<`(y, 1), `<=`(-1, y)], [x = `+`(`-`(`/`(1, 2)), `*`(`/`(1, 2), `*`(`^`(37, `/`(1, 2))))), `<`(y, `+`(`*`(`/`(1, 2), `*`(`^`(`+`(`-`(2), `*`(2, `*`(`^`(37, `/`(1, 2))))), `/`(1, 2)))))), `<`...
[[x = 1, `<`(y, 1), `<=`(-1, y)], [x = `+`(`-`(`/`(1, 2)), `*`(`/`(1, 2), `*`(`^`(37, `/`(1, 2))))), `<`(y, `+`(`*`(`/`(1, 2), `*`(`^`(`+`(`-`(2), `*`(2, `*`(`^`(37, `/`(1, 2))))), `/`(1, 2)))))), `<`...
[[x = 1, `<`(y, 1), `<=`(-1, y)], [x = `+`(`-`(`/`(1, 2)), `*`(`/`(1, 2), `*`(`^`(37, `/`(1, 2))))), `<`(y, `+`(`*`(`/`(1, 2), `*`(`^`(`+`(`-`(2), `*`(2, `*`(`^`(37, `/`(1, 2))))), `/`(1, 2)))))), `<`...
[[x = 1, `<`(y, 1), `<=`(-1, y)], [x = `+`(`-`(`/`(1, 2)), `*`(`/`(1, 2), `*`(`^`(37, `/`(1, 2))))), `<`(y, `+`(`*`(`/`(1, 2), `*`(`^`(`+`(`-`(2), `*`(2, `*`(`^`(37, `/`(1, 2))))), `/`(1, 2)))))), `<`...

A solution to such a system of inequalities is a decomposition of the feasible region of the inequalities into bands as can be seen in the inequality plot:

>plots[inequal](sol, x = 0 .. 3, y = -2 .. 2)

 

Plot_2d

Additionally, the SemiAlgebraic command now can build case discussions for systems with real-valued parameters.

>SolveTools[SemiAlgebraic]({`<`(a, x), `<`(`*`(a, `*`(`^`(x, 2))), b)}, [x])

 

piecewise(And(a = 0, `<`(0, b)), [[`<`(0, x)]], And(`<`(0, a), `<`(`*`(`^`(a, 3)), b)), [[`<`(a, x), `<`(x, `/`(`*`(sqrt(`*`(a, `*`(b)))), `*`(a)))]], And(`<`(a, 0), b = 0), [[`<`(0, x)], [`<`(a, x), ...

Copyright MyCorp © 2026
Pesquisar
Calendário
«  Maio 2026  »
STQQSSD
    123
45678910
11121314151617
18192021222324
25262728293031
Arquivo de postagens
Amigos do site
  • Crie seu site gratuitamente
  • Desktop Online
  • Jogos Online Gratuitos
  • Vídeo Tutoriais
  • Tags HTML
  • Kits de Navegação
  • Formulário de Login
    Construtor de sites gratuito - uCoz