Matlab como calculadora Las operaciones básicas son + - * / ^ y son utilizadas en conjunto con los paréntesis: ( ). El símbolo ^ es utilizado para potencias: 2^4=16. Los comandos deben introducirse luego de los símbolos: >>. >> 2 + 3/4*5 ans = 5.7500 >> Es este cálculo 2 + 3/(4*5) or 2 + (3/4)*5? Matlab trabaja de acuerdo a la siguiente jerarquía: 1. cantidades en paréntesis, 2. potencias 2 + 3^2 2 + 9 = 11, 3. * /, trabajando de izquierda a derecha(3*4/5=12/5), 4. + -, trabajando de izquierda a derecha(3+4-5=7-5), Por tanto,el cálculo anterior era para 2 + (3/4)*5 debido a la regla 3.
Números y Formatos
Variables >> 3-2^4 ans = -13 >> ans*5 -65 El resultado del primer cálculo es denominado “ans” por MATLAB, y es usado en la segunda operación donde le cambiamos el valor. >> x = 3-2^4 x = >> y = x*5 y = Declaracion de asignación: se le asignan valores a las variables.
Nombres de Variables Los nombres permitidos(“legales”) de variables pueden ser combinaciones de letras o números, siempre que comiencen con una letra. Estos no están permitidos: Net-Cost, 2pay, %x, @sign No se recomienda usar “pi”, “i”, “j”, pues ya tienen valores asignados.
Suprimir salidas Esto se logra mediante el uso del punto y coma. >> x=-13; y = 5*x, z = x^2+y y = -65 z = 104 >>
Ejercicio. En cada caso encuentre el valor de la expresión en MATLAB y describa el orden preciso en que las operaciones se realizaron. i) -2^3+9 ii) 2/3*3 iii) 3*2/3 iv) 3*4-5^2*2-3 v) (2/3^2*5)*(3-4^3)^2 vi) 3*(3*4-2*5^2-3)
Funciones integradas Funciones Trigonométricas: sin, cos, tan >> x = 5*cos(pi/6), y = 5*sin(pi/6) x = 4.3301 y = 2.5000 Para trabajar en grados, use sind, cosd y tand. Las funciones trigonométricas inversas son asin, acos, atan. Estas devuelven radianes. >> acos(x/5), asin(y/5) ans = 0.5236 >> pi/6
Funciones integradas Otras funciones elementales: Estas incluyen sqrt, exp, log, log10 >> x = 9; >> sqrt(x),exp(x),log(sqrt(x)),log10(x^2+6) ans = 3 8.1031e+03 1.0986 1.9395 exp(x) denota la función exponencial exp(x) = e^x y la función inversa eslog: >> format long e, exp(log(9)), log(exp(9)) ans = 9.000000000000002e+00 ans = 9 >> format short Log10 devuelve el logaritmo de base 10.
Vectores Se presentan en dos formas: presentamos primero los vectores fila. Son listas de números separadas por comas o espacios. El número de entradas se conoce como longitud del vector y a las entradas se les conoce como las componentes o elementos del vector. Las entradas deben encerrarse en corchetes: “[ ]”. >> v = [ 1 3, sqrt(5)] v = 1.0000 3.0000 2.2361 >> length(v) ans = 3 Los espacios pueden ser vitalmente importantes: >> v2 = [3+ 4 5] v2 = 7 5 >> v3 = [3 +4 5] v3 = 3 4 5
Vectores Podemos hacer ciertas operaciones con vectores del mismo tamaño, tales como los vectores v y v3 de la sección anterior: >> v + v3 ans = 4.0000 7.0000 7.2361 >> v4 = 3*v v4 = 3.0000 9.0000 6.7082 >> v5 = 2*v -3*v3 v5 = -7.0000 -6.0000 -10.5279 >> v + v2 ??? Error using ==> + Matrix dimensions must agree.
Vectores Un vector puede multiplicarse por un escalar(un número, (Vea v4 en la diapositiva anterior), o sumarse/restarse a otros vectores de la misma longitud Podemos crear otros vectores fila a partir de vectores ya existentes: >> w = [1 2 3], z = [8 9] >> cd = [2*z,-w], sort(cd) w = 1 2 3 z = 8 9 cd = 16 18 -1 -2 -3 ans = -3 -2 -1 16 18 El último comando ordenó los componentes en orden ascendente. Podemos también cambiar o ver el valor de las diferentes entradas: >> w(2) = -2, w(3) 1 -2 3 3
Los dos puntos >> 1:4 ans = 1 2 3 4 >> 3:7 3 4 5 6 7 >> 1:-1 [] De una forma más general, a : b : c produce un vector cuyas componentes comienzan con el valor a, con un incremento según el valor b hasta llegar a c(no producirá un valor más allá de c). Por esta razón 1:-1 produjo el vector vacío [].
Extrayendo partes de vectores 1 3 5 -1 -3 -5 -7 Para obtener las componentes desde la 3era hasta la 6ta: >> r5(3:6) ans = 5 -1 -3 -5 Para obtener componentes alternadas: >> r5(1:2:7) 1 5 -3 -7
Vectores Columna Tienen una estructura similar a los vectores fila, pero a diferencia de estos, sus componentes están separadas por ; o “nuevas líneas”. >> c = [ 1; 3; sqrt(5)] c = 1.0000 3.0000 2.2361 >> c2 = [3 4 5] c2 = 3 5 >> c3 = 2*c - 3*c2 c3 = -7.0000 -6.0000 -10.5279
Vectores La longitud de un vector(su número de componentes) puede ser determinado de la siguiente manera: >> length(c) ans = 3 >> length(r5) ans = 7 Este comando no distingue entre vectores fila o columna. El último elemento de un vector puede encontrarse mediante la palabra reservada end: >> c2(end), c2(end-1:end) ans = 4 4 5
Transposición Podemos convertir un vector fila en un vector columna y viceversa mediante un proceso denominado transposición el cual está denotado por ‘. >> w, w’, [1 2 3], [1 2 3]’ w = 1 -2 3 ans = 1 -2 3 1.0000 3.0000 2.2361 1.0000 3.0000 2.2361 >> t = w + 2*[1 2 3]’ t = 3.0000 4.0000 7.4721 >> T = 5*w’-2*[1 2 3] T = -16.0000 10.5279
Transposición Si x es un vector complejo, entonces x’ devuelve la transpuesta compleja conjugada de x: >> x = [1+3i, 2-2i] ans = 1.0000 + 3.0000i 2.0000 - 2.0000i >> x’ 1.0000 - 3.0000i 2.0000 + 2.0000i
Transposición Note que los componentes de x fueron definidos sin un operador *; esto significa que definir números complejos con I funciona aún cuando la variable I tiene un valor numérico. Para obtener la transpuesta simple de un número complejo use .’, como se muestra a continuación: >> x.’ ans = 1.0000 + 3.0000i 2.0000 - 2.0000i Uno debe estar alerta(pendiente) de esto todo el tiempo, como se muestra en el siguiente ejemplo: >> i=3; [1+2i, 3-i, 3-1i] 1.0000 + 2.0000i 0 3.0000 - 1.0000i Aquí solo la segunda componente ha sido afectada por el valor asignado a la variable i.