Práctica No. 2. Matlab Aplicada a Matrices. Teoria del control III. ICA
Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas...
Transcript of Contenido Programático| Matlab Nivel Básico...MATLAB trabaja esencialmente con matrices numéricas...
![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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/2.jpg)
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 3: 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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/3.jpg)
INTRODUCCIÓN AL MATLAB
![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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/4.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/5.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/6.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/7.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/8.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/9.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/10.jpg)
• 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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/11.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/12.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/13.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/14.jpg)
• 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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/15.jpg)
• 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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/16.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/17.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/18.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/19.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/20.jpg)
• 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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/21.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/22.jpg)
• 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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/23.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/24.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/25.jpg)
• 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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/26.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/27.jpg)
• 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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/28.jpg)
• 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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/29.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/30.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/31.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/32.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/33.jpg)
• (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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/34.jpg)
▪ 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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/35.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/36.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/37.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/38.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/39.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/40.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/41.jpg)
>> 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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/42.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/43.jpg)
>> 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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/44.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/45.jpg)
>> 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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/46.jpg)
• 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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/47.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/48.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/49.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/50.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/51.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/52.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/53.jpg)
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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/54.jpg)
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
![Page 55: 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](https://reader031.fdocument.pub/reader031/viewer/2022012011/613da4ffd6303f41db6f0b27/html5/thumbnails/55.jpg)
SUSCRIBETE A NUESTROCANAL