contenido programático| matlab nivel básico...matlab trabaja esencialmente con matrices numéricas...

56

Upload: others

Post on 12-Aug-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 2: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Contenido Programático| Matlab Nivel Básico

Tema 1: INTRODUCCION AL MATLABObjetivoComprender el manejo del software mediante la ejecución de comandosbásicos orientado al algebra.

Contenido1. Introducción al Lenguaje de Programación Matlab2. Importación de datos3. Llamado a funciones4. Variables5. Tipo de variables6. Operaciones entre variables7. Celdas y columnas8. Matrices y Vectores9. Operaciones con matrices y vectores

CURSO GRATIS<<AQUÍ

Page 4: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Tema 1: Introducción al Matlab| Nivel Básico

MATLABMatLab es un programa interactivo para el análisis, diseño, cálculo numérico y tratamiento de datos.Contiene muchas herramientas y utilidades que permiten además diversas funcionalidades, comoresolver problemas en matemática aplicada, física, química, ingeniería, finanzas y muchas otrasaplicaciones.

Está basado en un sofisticado software de matrices para el análisis de sistemasde ecuaciones como integrar en análisis numérico, cálculo matricial, proceso deseñal y visualización gráfica en un entorno completo, su elemento básico detrabajo son las matrices. El nombre de MATLAB proviene de la contracción delos términos MATrix LABoratory y fue inicialmente concebido paraproporcionar fácil acceso a las librerías LINPACK y EISPACK.

Page 5: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Entorno de MATLAB Nueva Variable Libreria SimulinkNueva Hoja

Carpetas del computador

Ventana de comandos Espacio de

trabajo

Ventana histórica de comandos

Tema 1: Introducción al Matlab| Nivel Básico

Page 6: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Entorno de MATLAB

Tema 1: Introducción al Matlab| Nivel Básico

Page 7: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Tema 1: Introducción al Matlab| Nivel Básico

Comandos en MATLAB

Page 8: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Pulsando ...O tecleando ‘help’

Comandos en MATLAB

Tema 1: Introducción al Matlab| Nivel Básico

Page 9: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Editor

• Menú File, opción New: .m

• Botones predefinidos:

Abrir fichero existente

Fichero nuevo

Tema 1: Introducción al Matlab| Nivel Básico

Page 10: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

• Menú File, opción New: .m

• Botones predefinidos:

Tema 1: Introducción al Matlab| Nivel Básico

Page 11: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Cuando el directorio donde se graba el fichero no pertenece alpath ni es el directorio de trabajo actual ...

Tema 1: Introducción al Matlab| Nivel Básico

Page 12: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Tema 1: Introducción al Matlab| Nivel Básico

Debugger

Nos permite detectar y corregir errores

Page 13: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

MATLAB trabaja esencialmente con matrices numéricas rectangulares. Lamanera más fácil de entrar matrices pequeñas es enumerando los elementos deésta de tal manera que:• Los elementos estén separados por blancos ó comas.• Los elementos estén cerrados entre corchetes, [ ].• Muestre el final de cada fila con ; (punto y coma) para almacenar datos.

Es de notar la diferencias entre mayúsculas y minúsculas en Matlab

Comandos en MATLAB

La primera forma de interactuar con MatLab es a través de la línea de comandos. Puede ejecutarseun comando si este está escrito después del símbolo >> y se presiona la tecla Enter.

Tema 1: Introducción al Matlab| Nivel Básico

Page 14: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

• Si una expresión es demasiado larga para que quepa en una línea, se colocan trespuntos (…) seguido de enter y esto indica que la expresión continúa en la siguientelínea.

• En una línea de comandos se pueden escribir varias instrucciones separadas porcomas.

• Se pueden recuperar comandos anteriores con el Command History o con lasflechas del teclado

• Se usa el carácter % al inicio de un comentario.• Los nombres de variables deben empezar siempre con una letra.• No hace falta declarar las variables a utilizar

Comandos en MATLAB

Tema 1: Introducción al Matlab| Nivel Básico

Page 15: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

• Al salir del programa todo el contenido de la memoria se borra automáticamente. Para guardaruna sesión (excepto gráficos) o matrices en forma selectiva se usa save. El comando sinargumentos guarda todas las variables de la sesión en un archivo binario llamado matlab.mat en eldirectorio actual. Los argumentos que se pueden usar son: nombre de archivo, variables a guardar,formato.

• Para recuperar el estado de la sesión o las variables guardadas se usa load

Comandos en MATLAB

Orden de prioridad de las operaciones: las expresiones se evalúan de izquierda a derecha; la operaciónpotencia tiene el orden de prioridad más alto, seguida por multiplicación y división que tienen ambas igualprioridad y seguidas, finalmente, por suma y resta con igual prioridad. Se pueden emplear paréntesis paraalterar esta ordenación, en cuyo caso la evaluación se inicia dentro del paréntesis más interno y se prosiguehacia afuera

Tema 1: Introducción al Matlab| Nivel Básico

Page 16: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Ejemplo Realizar los siguientes cálculos:

Operaciones en MATLAB

Tema 1: Introducción al Matlab| Nivel Básico

Page 17: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Operaciones en MATLAB

» a=3;» b=8;» c=13;» solution1=(-b+sqrt(b^2-4*a*c))/(2*a)

solution1 =-1.3333 + 1.5986i

» solution2=(-b-sqrt(b^2-4*a*c))/(2*a)solution2 =-1.3333 - 1.5986i

Tema 1: Introducción al Matlab| Nivel Básico

Page 18: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Operaciones en MATLAB

>> x=-4:.01:4;

>> y=sin(x); plot(x,y)

>> grid

>> title('seno(x)')

>>

Esto no se teclea!!!!

Tema 1: Introducción al Matlab| Nivel Básico

Page 19: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

En muchos cálculos matriciales los datos y/o los resultados no sonreales sino complejos, con parte real y parte imaginaria.

• Para ver como se representan por defecto los números complejos,ejecútense los siguientes comandos:

Se pueden utilizar indistintamente la i y la j pararepresentar el número imaginario unidad

Números Imaginarios

Tema 1: Introducción al Matlab| Nivel Básico

Page 20: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

• En general, cuando se está trabajando con números complejos,conviene no utilizar la i como variable.

• Antes de trabajar con complejos conviene ejecutar clear i, para que i no esté definidacomo variable.

• Cuando i y j se usan como variables, como unidad imaginaria, puede utilizarse la funciónsqrt(-1).

• La asignación de valores complejos a vectores y matrices es como se muestra en elejemplo siguiente.

Números Imaginarios

Tema 1: Introducción al Matlab| Nivel Básico

Page 21: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

MATLAB dispone asimismo de la función complex, que crea un número complejo a partir dedos argumentos, la parte real e imaginaria.

Podemos trabajar con complejos en su forma polar y en forma exponencial

Números Imaginarios

Tema 1: Introducción al Matlab| Nivel Básico

Page 22: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

• El operador de matriz traspuesta ('), aplicado a matrices complejas,produce la matriz conjugada y traspuesta.

Números Imaginarios

• La función conj(Z) permite hallar la matriz conjugada.• El operador punto y apóstrofe (.') que calcula simplemente la

matriz traspuesta

Tema 1: Introducción al Matlab| Nivel Básico

Page 23: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Todas las operaciones y funciones aritméticas funcionan con los númeroscomplejos, por ejemplo

• Debemos tener cuidado con las funciones que tienen varias ramas: logaritmo, potenciasfraccionarias, funciones trigonométricas e hiperbólicas inversas. MATLAB trabaja, de formapredeterminada con la rama principal de dichas funciones.

• Por ejemplo para z complejo log(z) = log|z| + iArg(z)

Números Imaginarios

Tema 1: Introducción al Matlab| Nivel Básico

Page 24: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Números Imaginarios

Tema 1: Introducción al Matlab| Nivel Básico

Page 25: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

• Un arreglo unidimensional es una sucesión de números distribuidos en una fila o en unacolumna.

• En MATLAB un vector renglón se crea asignando sus elementos a una variable, para ellointroducimos los valores deseados separados por espacios (o comas) todo ello entrecorchetes [].

• Si deseamos un vector columna entonces introducimos los valores separados por punto ycoma, todo ello entre corchetes [].

• Generalmente usaremos letras mayúsculas cuando nombremos a las matrices y minúsculaspara vectores y escalares. Esto no es imprescindible y Matlab no lo exige, pero resulta útil.

Vectores

Tema 1: Introducción al Matlab| Nivel Básico

Page 26: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Vectores

Tema 1: Introducción al Matlab| Nivel Básico

Page 27: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

• Para acceder a los elementos individuales de un vector lo haremos utilizando subíndices,x(n) es el n-ésimo elemento del vector x.

• Si queremos acceder al último podemos indicarlo usando end como subíndice

Vectores

Tema 1: Introducción al Matlab| Nivel Básico

Page 28: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

• Un vector puede cambiar su tamaño, si tiene n elementos, bastaañadir nuevos valores para las posiciones n+1, n+2 y asísucesivamente.

• Si es necesario MATLAB asigna ceros a los elementos entre elúltimo del vector original y el añadido.

Vectores

Tema 1: Introducción al Matlab| Nivel Básico

Page 29: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

También es posible añadir nuevos elementos a un vector ya existente a partir de otros vectores.

Vectores

Tema 1: Introducción al Matlab| Nivel Básico

Page 30: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Para acceder a un bloque de elementos a la vez, se usa la notación de dos puntos (:), asíx(m:n) nos da todos los elementos desde el m-ésimo hasta el n ésimo del vector x

Vectores

Tema 1: Introducción al Matlab| Nivel Básico

Page 31: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Vectores

También es posible eliminar elementos de un vector existente mediante laasignación del vacio [] al elemento o rango de elementos que se deseen eliminar.

Tema 1: Introducción al Matlab| Nivel Básico

Page 32: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Si introducimos un número entre el primero y el segundo también separado pordos puntos (:) se mostrarán los elementos del primero al último indicado,incrementados según el número que aparece en el centro (o decrementados si elnúmero es negativo).

Vectores

Tema 1: Introducción al Matlab| Nivel Básico

Page 33: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

• (a:b) crea un vector que comienza en el valor a y acaba en el valor baumentando de 1 en 1.• (a:c:b) crea un vector que comienza en el valor a y acaba en el valorb aumentando de c en c.• linspace (a,b,c) genera un vector linealmente espaciado entre losvalores a y b con c elementos.• linspace (a,b) genera un vector linealmente espaciado entre losvalores a y b con 100 elementos.• logspace (a,b,c) genera un vector logarítmicamente espaciado entrelos valores 10^a y 10^b con c elementos.• logspace (a,b) genera un vector logarítmicamente espaciado entrelos valores 10^a y 10^b con 50 elementos.

Vectores

Tema 1: Introducción al Matlab| Nivel Básico

Page 34: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

▪ Los polinomios se representan en Matlab por un vector fila de dimensión n+1 siendo n el grado del polinomio. Ejemplo: 𝑋3+2x-7 se representa por

>> pol1=[1 0 2 -7]▪ Cálculo de las raíces: roots (da un vector columna, aunque pol1 es un vector fila)

>>raices=roots(pol1)

▪ Un polinomio puede ser reconstruido a partir de sus raíces con elcomando poly

>> p=poly(raices) (da un vector fila) **

Si el argumento de poly es una matriz se obtiene el polinomiocaracterístico de la matriz.

Polinomios

Tema 1: Introducción al Matlab| Nivel Básico

Page 35: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Funciones de Matlab para polinomios

• Calcular el valor de un polinomio p en un punto dado x: polyval

>>y=polyval(p,x)

• Multiplicar y dividir polinomios: conv(p,q) y deconv(p,q)• Calcular el polinomio derivada: polyder(p)

Polinomios

Tema 1: Introducción al Matlab| Nivel Básico

Page 36: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Matlab nos brinda una serie de funciones para trabajar con lospolinomios. Los mismos se representan como vectores de lasiguiente manera

En Matlab seria:

>> p=[8 -5 1 3 4]

Si pudo observar Matlab no reescribe los corchetes, porlo que esta herramienta lo ve como vectores

Polinomios

Tema 1: Introducción al Matlab| Nivel Básico

Page 37: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Funciones básicas de polinomios:

▪ Roots(p): Obtiene raíces de un polinomio dado Calcula las raíces de un polinomio cuyos coeficientesson los elementos del vector p. Si p tiene N+1 componentes, el polinomio es p(1)*X^N + ... + p(N)*X +p(N+1).

>> q = [ 1 - 5 6 ]>> roots(q)

Poly(v): Construye un polinomio a partir de sus raíces Retorna un vector (polinomio) cuyos elementos son los coeficientes del polinomio cuyas raíces son los elementos de v. Puede apreciarse que roots y poly son funciones inversas

>> v = roots(q)>> q =poly(v)

Polinomios

Tema 1: Introducción al Matlab| Nivel Básico

Page 38: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

O si desea verlo un poco más claro note que:

>> poly(roots(q))>> roots(poly(v))

▪ Polyval(p, x): Evalúa un polinomio en un punto dado Si p tiene N+1 elementos, retorna el valor del polinomio al evaluarlo en x. Es decir y = p(1)* xN + p(2)*xN-1 + ... + p(N)*x + p(N+1)

▪ conv(p, q): Multiplicación de polinomios conv viene de convolución, en el caso de los vectores convolucionar dos vectores es equivalente a multiplicarlos. El resultado es un vector de longitud = longitud(p)+longitud(q)-1

Polinomios

Tema 1: Introducción al Matlab| Nivel Básico

Page 39: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Veamos un ejemplo: Sean p(x)=2x+1 y q(x)=3x+4

>> p=[2 1]>> q=[3 4]>> r= conv(p,q)

Deconv(p,q): Division entre polinomios se utiliza de la siguientemanera:

>> [Q,R] = deconv(p,q);

Polinomios

Tema 1: Introducción al Matlab| Nivel Básico

Page 40: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

El resultado de la división de p por q queda almacenado en la variable Q,

y el resto de esta operación en la variable R.

Ejemplo: >> r r = 6 11 4 >> p p = 2 1 >> [Q, R] = deconv(r, p);

Ejemplo: >> r r = 6 11 4

>> p p = 2 1

>> [Q, R] = deconv(r, p);

>> Q Q = 3 4

>> R R = 0 0 0

Como era de esperarse (por que?). Verifiquemos este resultado con la

fórmula r = Q*p + R:

Polinomios

Tema 1: Introducción al Matlab| Nivel Básico

Page 41: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

>> conv(Q, p) + R ans = 6 11 4 >> r r = 6 11 4

Suma y resta: Uno desearía poder sumar y restar polinomios de maneraágil y sencilla, lo óptimo sería utilizar los símbolos + y -, nada más.Veamos que sucede: >> p = [ 2 1 0 5 ]; >> q = [ 3 4 ]; >> p + q; ???Error using ==> + Matrix dimensions must agree.

En castellano: Error usando ==> + Las matrices deben tener la misma dimensión.Lo anterior nos informa que ocurrió un error al momento de utilizar el símbolo+, lo que sucede es que estos vectores (los vectores son un caso particular dematriz) no poseen la misma dimensión (cantidad de elementos).

Polinomios

Tema 1: Introducción al Matlab| Nivel Básico

La primer opción que tenemos para sortear este obstáculo es completar el vector p o qcon tantos ceros a la izquierda como sean necesarios, de esta manera conseguimos un par de vectores quecontinúan representando los polinomios que teníamos inicialmente

Page 42: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

En castellano: Error usando ==> + Las matrices deben tener la misma dimensión. Lo anterior nos informaque ocurrió un error al momento de utilizar el símbolo +, lo que sucede es que estos vectores (losvectores son un caso particular de matriz) no poseen la misma dimensión (cantidad de elementos). Laprimera opción que tenemos para sortear este obstáculo es completar el vector p o q con tantos cerosa la izquierda como sean necesarios, de esta manera conseguimos un par de vectores que continúanrepresentando los polinomios originales de la siguiente manera:

En nuestro caso seria:

>> p = [2 1 0 5];>>q = [0 0 3 4];>> p+q

Otra posibilidad es crear una función que suma o resta correctamente, sin necesidad de que nosotros modifiquemosmanualmente los vectores; si bien es una tarea mas compleja, el esfuerzo se hará única vez y luego siempre utilizaremos lafunción creada, además es una buena excusa para ponerse a programar

Polinomios

Tema 1: Introducción al Matlab| Nivel Básico

Page 43: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

>> x = [11 14 15 16 17];

>> y = [695 750 705 720 690];

>> plot(x,y,’r*:’), title('Indice general

de la Bolsa de Madrid'), xlabel('Septiembre

1998')

Polinomios

Tema 1: Introducción al Matlab| Nivel Básico

Page 44: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Vectores fila y columna

>> x = [3, -1, 4, 7, -2]; Asignación directa de un vector fila

>> x = [3 -1 4 7 -2]; Los elementos pueden separarse con espacios o comas

>> x(2) = 5; Asignación de uno de sus componentes

>> t = [3; -1; 4]; Asignación directa de un vector columna (los elementos pueden separarse

con enter)

>> t = x’; Mediante la transpuesta de un vector fila

>> y = [3, x, -6]; Asignación usando otro vector

>> y = 2:10; Asignación de valores con incremento 1

>> y = 1:0.1:3; Con incremento diferente de 1 (en este caso el incremento es de 0.1)

>> y = 2*x; Asignación de valores mediante una operación escalar

>> y = sin(x); o mediante una función

Polinomios

Tema 1: Introducción al Matlab| Nivel Básico

Page 45: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

>> A(2,1) manejo de uno de sus componentes (el primer índice indica la fila y el segundo lacolumna)>> A1 = [2,-3;5,1;0,7] una matriz 3x2>> A2 = [x;x]; una matriz 2x4>> b = [5,6]; vector fila de 2 columnas>> C = [A;b]; C es una matriz 3x2>> D = [A,b’]; D es una matriz aumentada 2x3>> x = C(1,:); Asigna al vector x la primera fila de C>> x = C(:,1); Asigna al vector x la primera columna de C>> B = A1' Asigna a la matriz B la traspuesta de A1>> E = A1 * B Resulta una matriz simétrica>> F = inv(A) Calcula la inversa de A

Los elementos de una misma fila se separan con espacios o comas y las filas seseparan con enter o con caracteres punto y coma (;).

>> A = [2 -3; 5 1]; Asignación directa de una matriz 2x2 Matrices

Tema 1: Introducción al Matlab| Nivel Básico

Page 46: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

• eye(n) Matriz identidad de tamaño nxn• eye(m,n) Matriz de tamaño mxn con 1’s en la diagonal y ceros• en cualquier otra entrada• zeros(n) Matriz de ceros de tamaño nxn• zeros(m,n) Idem de tamaño mxn• ones(m,n) Matriz de unos de tamaño mxn• linspace(x1,x2,n) Genera un vector con n valores igualmente espaciados entre x1 y x2• rand(m,n) Matriz de números aleatorios entre 0 y 1, con distribución uniforme, de tamaño mxn• randn(m,n) Matriz de números aleatorios, con distribución normal de valor medio 0 y varianza

1, de tamaño mxn• magic(n) Matriz nxn construida con los enteros de 1 a n^2 con la propiedad de que todas las

filas, columnas y diagonal suman lo mismo

Polinomios

Tema 1: Introducción al Matlab| Nivel Básico

Page 47: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Crear una matriz:

A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]

ones(dimensiones) eye(dimensiones)

A = [12 3 4 5 6]

• Dimensiones de una matriz >> Size (A)• Limpiar una matriz >> Clear A• Ver variables existentes >>Whos

Matrices

Tema 1: Introducción al Matlab| Nivel Básico

Page 48: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Matrices

Sumar:sum(A)A+ 5 (suma 5 a cada elemento)MultiplicarA*A’ ---- EstandardA.*A’ ---- Elemento a elementoA*3 ---- Cada elemento*3det(A) es el determinante

Transponer e Inversa

A’ X = inv(A)

Diagonaldiag(A)

Acceso a los elementos

A(1,4) + A(2,4) + A(3,4) + A(4,4)Cambiar un valor de la matriz

a(1,2)= 30

Tema 1: Introducción al Matlab| Nivel Básico

Page 49: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Dada una matriz numérica asignada a una variable M, de m filas y ncolumnas, se pueden definir submatrices tales como:

Seccionamiento

Tema 1: Introducción al Matlab| Nivel Básico

Page 50: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Algunos comandos

Tema 1: Introducción al Matlab| Nivel Básico

Page 51: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

Dado los siguientes vectores:

A=[7.1 -2 7 0 7.2] B=[13+6i 5.01+0.2i 13 10 7]

Calcular:• Valor absoluto de los vectores.• Ángulos de los elementos del vector.• Parte real e imaginaria de los elementos del vector.• Transpuesta y transpuesta conjugada de los elementos del vector.• Tamaño del vector.• Multiplicar el vector A por la parte real de B

Por ejemplo

Tema 1: Introducción al Matlab| Nivel Básico

Page 52: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

En Script de Matlab podemos decir que:

clear allclcA=[7.1 -2 7 0 7.2];B=[13+6i 5.01+0.2i 13 10 7];a=abs(A) % Calcula el Valor Absoluto del vector Ab=abs(B) %Calcula el Valor Absoluto del vector Bang=dot(A,B)/(norm(A)*norm(B)) % angulo entre los 2 vectoresanguloa=angle(A) % angulo del vector Aangulob=angle(B) % angulo del vector BA_real=real(A) % Parte RealB_real=real(B) % Parte RealA_imag=imag(A) % Parte ImaginariaB_imag=imag(B) % Parte Imaginaria

Tema 1: Introducción al Matlab| Nivel Básico

Page 53: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

trans_A=A' % Transpuesta conjugada Atrans_B=B' % Transpuesta conjugada Btrans_A_A=A.' % Transpuesta de los elementos de un vector Atrans_B_B=B.' % Transpuesta de los elementos de un vector Blength_A=length(A) % Tamaño del Vectorlength_B=length(B) % Tamaño del VectorC=A*real(B)' % Multiplicacion A*B(Real)D=A.*real(B) % OperacionesF=A+3 % operacion SumaG=A+real(B) % operacion Suma

En Script de Matlab podemos decir que:

Tema 1: Introducción al Matlab| Nivel Básico

Page 54: Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas rectangulares. La manera más fácil de entrar matrices pequeñas es enumerando

MatricesCrea una matriz (A) 3x3 y calcule:• El determinante de la matriz A• Inversa de la matriz A• Los valores propios de la matriz A.• Crear matrices3x3 de: ceros, unos, matriz identidad.

AA=[0 3 -1; 1 -2 0; 1 -9 1] % Matriz AAde_det=det(AA) % Determinantes de la Matriz AAinv(AA) % Inversa de la matriz AAeig(AA) % Valores propios de AAones (3) %Matriz de Unoszeros (3) % Matriz de Ceroseye (3) % Matriz Identidad

Tema 1: Introducción al Matlab| Nivel Básico