1 Funciones operaciones y comandos • Principales funciones y operaciones Escritura Significado Representación a+b suma a+b a−b resta a−b a∗b producto a/b cociente aˆb potencia ab a b ab E base de los logaritmos neperianos e PI π I número pi √ −1 inf inity infinito sqrt(a) raı́z cuadrada de a ∞ √ a Eˆa ⇔ exp(a) exponencial de a ea ln(a) logaritmo neperiano de a ln(a) sin(a) seno de a sin(a) cos(a) coseno de a cos(a) tan(a) tangente de a tan(a) abs(a) valor absoluto de a |a| i • Comandos 2 % Equivale a escribir el resultado de la última operación ejecutada f loat(a) Devuelve el valor aproximado de la expresión exacta a x := expr Asigna el nombre x a la expresión matemática expr subs(expr, z1 = expr1 , z2 = expr2 , . . .) Dentro de la expresión expr, substituye z1 por la expresión expr1 , z2 por la expresión expr2 , etc. delete x Elimina la variable x, i.e. “desasigna” el nombre x de la expresión matemática que designaba simplif y(expr) Simplifica la expresión expr expand(expr) Expande la expresión expr f actor(expr) Factoriza la expresión expr Álgebra matricial • Secuencias Escritura Resultado Ejemplo Resultado $ i..i + n i, i + 1, . . . , i + n $ 1..8 1,2,3,4,5,6,7,8 f (k)$k = i..i + n f (i), f (i + 1), . . . , f (i + n) 1 2 k $k = 1..8 1,4,9,16,25,36,49,64 • Definición y operaciones con Matrices A := matrix([[a11 , . . . , a1n ], [a21 , . . . , a2n ], . . . , [am1 , . . . , amn ]]) (m = 1 definirı́a un vector fila, y n = 1 un vector columna) A+B suma matricial A∗B producto matricial (no conmutativo) αA producto de un escalar por una matriz transpose(A) traspuesta de la matriz A linalg :: tr(A) traza de la matriz cuadrada A matrix :: identity(n) matriz identidad de orden n matrix(n, n, [a11 , . . . , ann ], Diagonal) matriz diagonal con elementos a11 , . . . , ann en la diagonal principal Aˆn potencia n-ésima de la matriz cuadrada A linalg :: rank(A) rango de la matriz A det(A) determinante de la matriz cuadrada A linalg :: gaussElim(A) emplea el algoritmo de eliminación gaussiana para obtener la forma escalonada de la matriz A Aˆ−1 ⇔ inverse(A) inversa de la matriz cuadrada A • Resolución de una ecuación y de un sistema de ecuaciones solve(eq, x) resuelve la ecuación eq respecto de la variable x (ejemplo: solve(xˆ2 + 2 ∗ x − 3, x) → {−3, 2}) solve(eq, x, Real) devuelve únicamente las raı́ces reales numeric :: solve(eq, x = a..b) devuelve únicamente una raı́z dentro del intervalo [a..b], aplicando un algoritmo numérico solve([eq1 , . . . , eqm ], [x1 , . . . , xn ]) resuelve un sistema de m ecuaciones eq1 , . . . , eqm respecto de n variables x1 , . . . , xn (ecuaciones y variables pueden escribirse entre corchetes, o entre llaves) devuelve las raı́ces reales expresadas en forma vectorial solve([eq1 , . . . , eqm ], [x1 , . . . , xn ], Real) • Valores y vectores propios linalg :: eigenvalues(A) linalg :: charpoly(A, λ) devuelve los valores propios de la matriz cuadrada A (si su expresión exacta no permite conocer su signo, es posible obtener una expresión aproximada con el comando f loat) calcula el polinomio caracterı́stico de la matriz cuadrada A solve(pol, λ) encuentra las raı́ces del polinomio caracterı́stico, i.e. los valores propios de la matriz cuadrada A f actor(pol) factoriza el polinomio caracterı́stico (expresándolo como producto de monomios) linalg :: eigenvectors(A) devuelve los valores propios, y para cada uno de ellos: su multiplicidad y los vectores propios linealmente independientes asociados al mismo • Formas cuadráticas linalg :: hessian(Q, [x1 , . . . , xn ])/2 det(A[1..i, 1..i]) matriz simétrica asociada a la forma cuadrática Q (cambiar filas y sus correspondientes columnas en la matriz A es equivalente a cambiar variables en el vector [x1 , . . . , xn ]) menor principal de orden i det(A[1..i, 1..i])$i = 1..n devuelve los n menores principales de la matriz cuadrada A 2 3 Cálculo • Definir una función (de expresión func) de una variable real: f := x− > f unc f := x− > x2 + 2 ∗ x − 3) (ejemplo: Al definir la función de esta forma, Mupad le asigna el nombre f (x). Esta forma de definir una función permite evaluarla en cualquier punto f (2), f (−1/2), . . . • Función definida a trozos: g := x− > piecewise([cond1, exp1], [cond2, exp2], . . .) Define la función g(x) como la expresión exp1 si se verifica la condición cond1, la expresión exp2 si se verifica la condición cond2, etc. x si x ≥ 0, Ejemplo: g := x− > piecewise([x >= 0, x], [x < 0, −x]), define la función |x| = −x si x < 0. • Lı́mite de la función f (x) en el punto a = ±∞ o a ∈ (−∞ + ∞): lı́mite limit(f, x = a) lı́mite por la izquierda limit(f (x), x = a, Lef t) lı́mite por la derecha limit(f (x), x = a, Right) • Derivada primera de la función f (x): dif f (f (x), x) f 0 (x) • Derivada n-ésima de la función f (x): dif f (f (x), x, x, . . . , x) dif f (f, x$n) f 00...0 (x) La última expresión permite calcular la derivada n-ésima de f (x) y evaluarla en un punto a: f 00...0 (a) • Polinomio de Taylor de grado n para la función f (x) en el punto a: expr(taylor(f (x), x = a, AbsoluteOrder = n + 1)) taylor(f (x), x = a, AbsoluteOrder = n + 1) Además del polinomio de Taylor, añade un término representando el error de grado n+1 • Integral indefinida de la función f (x): int(f (x), x) • Integral definida de la función f (x), con lı́mite inferior, a, y lı́mite superior, b: int(f (x), x = a..b) • Dibujar la función f (x): plot(f (x), x = a..b) plot(f (x), V iewingBox = [ax ..bx , ay ..by ]) Dibuja la gráfica de f (x) para x tomando valores entre a y b. Mupad ajusta el tramo a mostrar del eje de ordenadas Dibuja la gráfica de f (x) en un rectángulo definido por el intervalo [ax , bx ] para x y [ay , by ] para y plot(f (x), g(x), x = a..b) Dibuja las gráficas de f (x) y g(x) con diferente color, para x tomando valores entre a y b plot(f (x), g(x), x = a..b, LegendV isible) La opción LegendVisible añade una leyenda para cada gráfica 3