# Matematická analýza v programu Maxima

## Symbolické derivování

'diff(exp(-x^2),x);

Apostrof před příkazem diff zamezí vyhodnocení. Používá se například pro kontrolu 
správnosti zadání. 

%, nouns;

'diff(exp(-x^2),x)$ %=ev(%,nouns);

'diff(log(x/(x^2+1)),x)$ %=ev(%,nouns);

rat(%);

'diff(x^(x^x),x)$ %=ev(%,nouns);

Derivace vyšších řádů:

'diff(exp(-x^2),x,2)$ %=ev(%,nouns);

'diff(exp(-x^2),x,5)$ %=ev(%,nouns);

### Derivace funkce dané implicitně

eq : x^2 +y^2 = c;

depends(y,x);

diff(eq, x);

dydx : solve(%, 'diff(y,x));

dydx : rhs(dydx[1]);

diff(eq, x, 2);

solve(%, 'diff(y,x,2));

rat(subst(dydx, 'diff(y,x,1), %));

remove(y, dependency);

### Parciální derivace

'diff(exp(a*x*y^2),x,1,y,2)$ %=ev(%, nouns);

factor(%);

'diff(sin(x+y)/y^4, x,5, y,2)$ %=ev(%, nouns);

## Integrace a sumace

### Neurčitý integrál

'integrate(x/(x^3+1),x);

'integrate(x/(x^3+1),x)$ %=ev(%,nouns);

diff(rhs(%),x);

Pomocí rhs() se odkazujeme na pravou stranu zadané rovnice, pomocí lhs() 
na levou.

rat(%);

'integrate(x/(x^5+1),x)$ %=ev(%,nouns);

radcan(diff(rhs(%),x));

'integrate(2*x*(x^2+1)^24,x)$ %=ev(%,nouns);

Substituční metoda

'integrate(2*x*(x^2+1)^24,x);

changevar(%, x^2+1-t,t,x );

ev(%, nouns);

subst(t=(x^2+1), %);

### Určitý integrál

'integrate(x/(x^3+1), x,1,2); %=ev(%, nouns);

'integrate(1/((1+x^2)*(1+2*x^2)), x,0,1)$ %=ev(%, nouns);

integrate(1/x^2, x,-1,1);

Maxima kontroluje nespojitosti integrandu na zadaném intervalu.

integrate(t^4*ln(t)^2/(1+3*t^2)^3, t,0,inf);

'integrate(exp(asin(x)), x,0,1); %=ev(%, nouns);

Pozn. Maple tento neurčitý integrál nespočítá.

%, numer;

Numerické integrování (Rombergovou metodou)

romberg(exp(asin(x)), x,0,1);

### Konečné a nekonečné součty

'sum(k^7, k,1,20)$ %=ev(%, nouns);

'sum(k^7, k,1,n)$ %=ev(%, nouns, simpsum);

## Taylorův rozvoj

t : taylor(sin(tan(x))-tan(sin(x)),x,0,25);

taylorp(t);

taylorinfo(t);

sin_series : taylor(sin(x), x,0,5);

subst(x=2, sin_series);

diff(sin_series, x);

integrate(sin_series,x);

## Výpočty limit

'limit((x^2-1)/(2*x^2-x-1),x,1)$ %=ev(%, nouns);

'limit( cos(x)^(1/x^3), x,0)$ %=ev(%, nouns);

Jednostranné limity

'limit( cos(x)^(1/x^3), x,0, plus)$ %=ev(%, nouns);

'limit( cos(x)^(1/x^3), x,0, minus)$ %=ev(%, nouns);

y : exp(a*x)*cos(b*x);

'limit(y,x,minf)$ %=ev(%, nouns);

assume(a>0);

'limit(y,x,minf)$ %=ev(%, nouns);

facts();

forget(a>0);

facts();