Documente Academic
Documente Profesional
Documente Cultură
Ficheros
Matlabrc.m
Parmetros de inicializacin y es el responsable de los mensajes que aparecen al arrancar el programa. Se ejecuta automticamente al iniciar Matlab. Busca el archivo statup.m
Startup.m Finish.m
Sesin y variables
Guardar el estado de sesin save
Se crea en le directorio actual un fichero binario matlab.mat con el estado de sesin. No grficos porque ocupan mucha memoria.
load
Sesin y Variables
Se puede guardar matrices y vectores de forma selectiva y en ficheros con nombre especificando por le usuario.
Save filename A x y guarda las variables A, x, y en el archivo filename.mat Load filename.mat
diary on
Inicia el estado para guardar el trabajo
Lneas de comentarios
% /* */
Operadores aritmticos
Operadores Aritmticos
Los operadores anteriores se pueden aplicar tambin de modo mixto ( entre escalar y matricial)
Tipos de datos
Matlab trabaja con vectores y matrices as como variables escalares. Tambin trabaja en doble precisin es decir guarda cada dato en 8 bytes con 15 cifras de decimales exactas.
Tipos de datos
Nmero reales de doble precisin Otros tipos de variables:
Integer Float Logical
funcin complex
0/0
Representacin especial para los resultados que no estn definidos como nmeros. NaN Not a Number
Estas respuestas son muy importantes porque permiten controlar la fiabilidad de los resultados de los clculos matriciales.
realmin devuelve el nmero ms pequeo con que se puede trabajar (2.2251e-308) realmax devuelve el nmero ms grande con que se puede trabajar (1.7977e+308)
Entero
Matlab trabaja por defecto con variables de punto flotante y doble precisin. Con esto no es necesario declarar el tipo de variables Sin embargo, es conveniente declarar variables de otros tipo para ahorrar memoria y clculos mas rapidos.
Entero
Matlab permite crear variables enteras con 1, 2, 4 y 8 bytes. Pueden tener signo o no
Var con signo representan var casi simtricos respecto al 0
int8, int16, int32, int64
Ejemplos
i=int32(100);
% se crea un entero de 4 bytes con valor 100
>> i=zeros(1000,1000,'int32');
% se crea una matriz 1000x1000 de enteros
Tipos de variables
Las funciones intmin(int64) e intmax(int64) que permite saber el valor del entero mas pequeo y mas grande que puede fomarse con variables enteras de 64 bits. >> disp([intmin('int64'), intmax('int64')])
Entero
Isinteger(i)
1 si es entero 0 en otro caso
Class(i)
Devuelve el tipo de variable que es i
Isa(i,int16)
Identifica si la variable i corresponde a un entero de 16 bits.
isfloat(x)
X es una variable real, de simple o doble precisin.
Variables Lgicas
Las variables lgicas surgen como el resultado de los operadores relacionales. Y de funciones lgicas
any all aplicados a vectores y matrices
Variables Lgicas
Funcin logical(A) produce una variable lgica con el mismo nmero elementos de A Aplicacin
Separar o extraer elementos de una matriz o vector que cumpla con cierta condicin y operar luego sobre dichos elementos.
Ejemplo
A= magic(4) j=A>10 isa(j,logical) A(j)=-10 Creacin matriz mgica todos los elementos de la matriz >10 Convierto la j en variable lgica Accin
Nmeros complejos
Funcin complex Muchos clculos matriciales los datos no son reales sino complejos (parte real, parte imaginaria) a=sqrt(-4) a= 0 + 2.0000i >> 3 + 4j ans = 3.0000 + 4.0000i
Nmeros Complejos
Se recomienda no trabajar como variable i para no confundirse con la parte imaginaria de un nmero. i=2 i= 2 >> 2+3i ans = 2.0000 + 3.0000i
Nmeros complejos
Cuando i y j son variables utilizadas para otras finalidades como unidad imaginaria puede utilizar la funcion sqrt(-1) Asignacin >> A = [1+2i 2+3i; -1+i 2-3i] A= 1.0000 + 2.0000i 2.0000 + 3.0000i -1.0000 + 1.0000i 2.0000 - 3.0000i >> A = [1 2; -1 2] + [2 3; 1 -3]*I % En este caso el * es necesario A= 1.0000 + 2.0000i 2.0000 + 3.0000i -1.0000 + 2.0000i 1.0000 - 3.0000i
Numeros complejos
Funcion complex >> complex(1,2) ans = 1.0000 + 2.0000i
Cadena de carcteres
MATLAB puede definir variables que contengan cadenas de caracteres. En MATLAB las cadenas de texto van entre apstrofos o comillas simples
s = 'cadena de caracteres'
Funciones de Librera
Partes de una funcin
Nombre Entrada Salida
Ejemplo
X =[4 9 16] B= sqrt(X)
[x,y]= size(d)
Anidar funciones
g= sqrt(sin(x))
Recomendacin: Asegurarse de incluir los argumentos para cada funcin dentro de su propio conjunto de parntesis.
Ayuda
help help (funcin)
help tan
doc (funcin)
Ejercicios
Use el comando help en la ventana de comando para encontrar la sintaxis adecuada para las siguientes funciones.
cos sqrt exp
Web resources
Clculos comunes
abs(x) sqrt(x) nthroot(x,n) sign(x) rem(x,y) exp(x) log(x) log10(x) Encuentra el valor absoluto de x Raiz cuadrada Encuentra la n-esima raz real de x. Regresa un valor de 1 si x es menor que cero, un valor de 0 si es x es igual a cero y +1 si x es mayor que cero Calcula el residuo de x/y Calculo el valor de ex donde e es la base para logaritmos naturales o 2.7183 Calcula ln(x), el logaritmo natural de x (a la base e) Calcula log10(x), el logaritmo comun de x (a la base 10) abs(-2) sqrt(85) nthroot(x,n) sign(-8) rem(25,4) exp(10) log(10) log10(10)
Ejercicios
1. Cree el valor x de -2 a +2 con un incremento de 1. el vector debe ser
x=[-2, -1, 0, 1, 2]
Encuentre el valor absoluto y raz cuadrada de cada elemento del vector
6. Use la funcin sign para determinar cuales de los elementos en el vector x son positivos.
Funciones de redondeo
round (x) fix(x) floor(x) ceil(x) Redondea x al entero mas cercano round(8.6) Redondea x al entero mas cercano hacia cero. Note fix(8.6) que con esta funcin 8.6 se trunca a 8, no a 9 Redondea x al entero mas cercano hacia el infinito negativo Redondea x al entero mas cercano hacia infinito positivo floor(-8.6) ceil(-8.6)
Matemticas Discretas
Matlab incluye funciones para factorizar nmeros, encontrar denominadores y mltiplos comunes, calcular factoriales y explorar nmeros primos. Todas estas funciones requieren escalares enteros como entrada. Incluye la funcin rats que se expresa un numero punto flotante como un nmero racional (fraccin)
Funciones
factor(x) gcd(x,y) lcm(x,y) rats(x,) factorial(x) primes(x) isprime(x) Encuentra los factores primos de x Encuentra el mximo comn denominador de x y Encuentra el mnimo comn mltiplo de x y Representa x como fraccin Encuentra el valor de x factorial(x!) . El factorial es el producto de todos los enteros menores que x. Encuentra todos los numeros primos menores que x Verifica para ver si x es un nmero primo. Si los es regresa 1 sino lo es regresa 0 factor(12) gcd(10,15) lcm(2,5) rats(1.5) factorial(6) primes(10) isprime(7)
Ejercicio
Factorice el numero 322 Encuentre el mximo comn denominador de 322 y 6 322 es un numero primo? Cuantos primos existen entre 0 y 322? Aproxime pi como numero racional Encuentre 10!
Funciones Trigonomtricas
Funciones estndar e hiperblicas Los ngulos se expresan en radianes
Cambiar a grados
Grados= radianes*180/pi; Radianes= grados *pi/180
Funciones trigonomtricas
sin(x) cos(x) tan(x) Encuentra el seno de x cuando x se expresa en sin(0) radianes Encuentra el coseno de x cuando x se expresa en radianes Encuentra la tangente de x cuando x se expresa en radianes cos(pi) tan(pi)
asin(x)
Encuentra el arcoseno o seno inverso de x, x debe estar entre -1 y 1. la funcin regresa un ngulo en radianes entre /2 y /2
Encuentra el seno hiperbolico de x cuando x se expresa en radianes
asin(-1)
sinh(x)
sinh(pi) asinh(1)
sind(x)
sind(90)
asind(90)
Ejercicios
x=[1 5 3; 2 4 6] [a,b]=max(x)
max(x,y) crea una matriz del mismo tamao que x y y (matriz cuadrada) cada elemento en la matriz resultante contiene el valor mximo de las posiciones correspondientes en x y y.
x=[1 5 3; 2 4 6] y=[10,2,4; 1,8,7] max(x,y)
Crea una matriz del mismo tamao que x y y. Debe ser matriz cuadrada. La matriz resultante contendr el valor mnimo de las posiciones correspondientes en x y y.
x=[1 5 3; 2 4 6] y=[10,2,4; 1,8,7] max(x,y)
Sugerencia
Todas las funciones operan sobre columnas. En caso de analizar datos en filas se debe usar la traspuesta del vector.
x=[1 5 3; 2 4 6] max(x)
Ejercicios
X=[4 90 85 75; 2 55 65 75; 3 78 82 79; 1 84 92 93] Cual es el valor max de cada columna? En que posicin se presenta dicho maximo? Cual es el valor maximo de cada fila?
Media y mediana
Media: promedio de todos los valores en el conjunto de datos. Mediana: el valor medio en un conjunto de datos.
Promedios
mean(x)
Calcula el valor medio de un vector x
x=[1 5 3] mean(x) x=[1 5 3; 2 4 6] mean(x) promedio por columna
median(x)
Encuentra la mediana de los elementos de un vector x
x=[1 5 3] median(x) x=[1 5 3; 2 4 6; 3 8 4] median(x)
Sumas y productos
sum(x)
Suma los elementos en el vector x
x=[1 5 3] sum(x) x=[1 5 3; 2 4 6; 3 8 4] sum(x) suma por columnas
prod(x)
Calcula el productor de los elementos de un vector x.
x=[1 5 3] prod(x) x=[1 5 3; 2 4 6] prod(x)
cumsum(x)
Calcula un vector del mismo tamao que un vector x y contiene sumas acumuladas de los elementos del mismo.
x=[1 5 3] cumsum(x)
x=[1 5 3; 2 4 6] cumsum(x)
cumprod(x)
x=[1 5 3] cumprod(x) x=[1 5 3; 2 4 6] cumprod(x)
Valores de ordenacin
sort(x)
Ordena los elementos de un vector x ascendente
x=[1 5 3] sort(x) x=[1 5 3; 2 4 6] sort(x) columnas
sort(x,descend)
Ordena los elementos en cada columna descendente
x=[1 5 3] sort(x,descend) x=[1 5 3; 2 4 6] sort(x,descend) columna
sortrows(x)
Ordena las filas de una matriz sobre la base de los valores en la primera columna y mantiene intacta cada fila. x=[1 5 3; 2 4 6; 3 8 4] sortrows(x) sortrows(x,n)
Ordena las filas en una matriz sobre la base de los valores en la columna n
sortrows(x,2)
Funciones de tamao
size(x)
Determina el numero de filas y columnas en la matriz x.
x=[1 5 3; 2 4 6] size(x) [a,b]=size(x)
Determina el numero de filas y columnas en la matriz x y asigna el numero de filas a a y el numero de columnas a b
length(x)
Determina la dimensin mas grande de una matriz x
x=[1 5 3; 2 4 6] lenght(x)
Sintaxis
Parmetros iguales que las funciones internas
Nombre Entrada Salida
Cos(x)
El usuario no necesita ver los clculos realizados, sino que solo se acepta la respuesta.
mifuncion(x) Las funciones definidas por el usuario se crean en archivos-m
function output=mifuncion(x)
Los nombres de las variables son arbitrarios y depende del programador.
Ejemplo
function output=poly(x) output=3*x.^3+5*x.^2-2*x+1 Antes de poder usar esta funcin, se debe guardar en el directorio actual.
El nombre del archivo debe ser el mismo que el nombre de funcin con la finalidad que de MATLAB lo encuentre.
Una vez guardado el archivo-m, la funcin esta disponible para usar desde la ventana de comandos.
Sugerencia: tomar en cuenta las reglas de declaracin de variables.
En particular
Nombre de la funcin debe empezar con una letra Puede formarse con letras, nmeros y el guin bajo No se pueden usar nombres reservados Permite cualquier longitud, aunque los nombres largos no son una buena prctica.
x= 1 poly(x)
x= [1 2 3 4 5] poly(x)
Ejercicios
Crear funciones MATLAB para evaluar las siguientes funciones matemticas.
y(x)=x2 y(x)=e1/x y(x)=sen(x2)
Ejercicios
Cree funciones MATLAB para las siguientes conversiones de unidades.
Pulgadas a pies Caloras a joules Metros a millas Millas por hora a pies por segundos
Ejercicio
X= 2 Y=9 G(x,y)
Mejor:
Resultados=*t, distancia, velocidad, aceleracion+
Hipermatrices
Definicion Funciones que trabajan con hipermatrices
Estructuras
Creacion de estructuras Funciones para operar con estructuras
Clases y objetos
Grficas
Bidimensionales
Funciones grficas 2D elementales 108 8.1.1. Funcin plot 109 8.1.2. Estilos de lnea y marcadores en la funcin plot 111 8.1.3. Aadir lneas a un grfico ya existente 111 8.1.4. Comando subplot 112 8.1.5. Control de los ejes: funcin axis() 112 8.1.6. Funcin line() 113 8.1.7. Funcin findobj() 113 8.2. Control de ventanas grficas: Funcin figure 114 8.3. Otras funciones grficas 2-D 115 8.3.1. Funcin fplot 115 8.3.2. Funcin fill para polgonos 116 8.3.3. Dibujo simplificado de funciones: Funciones ezplot() y ezpolar() 116 8.4. Entrada de puntos con el ratn 117 8.5. Preparacin de pelculas o "movies" 117 8.6. Impresin de las figuras en impresora lser 118 8.7. Las ventanas grficas de MATLAB
Graficos 3D
Tipos de funciones grficas tridimensionales 121 9.1.1. Dibujo simplificado de funciones 3-D: Funciones ezplot3(), ezsurf(), etc. 122 9.1.2. Dibujo de lneas: funcin plot3 122 9.1.3. Dibujo de mallados: Funciones meshgrid, mesh y surf 123 9.1.4. Dibujo de lneas de contorno: funciones contour y contour3 124 9.2. Utilizacin del color en grficos 3-D Imgenes y grficos en pseudocolor. Funcin caxis 125 9.2.3. Dibujo de superficies faceteadas 126 9.2.4. Otras formas de las funciones mesh y surf 126 9.2.5. Formas paramtricas de las funciones mesh, surf y pcolor 127 9.2.6. Otras funciones grficas 3D 127 9.2.7. Elementos generales: ejes, puntos de vista, lneas ocultas, ...
Graficos avazados
Imgenes Manipulacin de grficos Animacin Otras tcnicas de visualizacin Introduccin a visualizacin de volumen
Programacin en Matlab
6.1.1. Sentencia if 64 6.1.2. Sentencia switch 64 6.1.3. Sentencia for 65 6.1.4. Sentencia while 66 6.1.5. Sentencia break 66 6.1.6. Sentencia continue 66 6.1.7. Sentencias try...catch...end 66 6.2. Lectura y escritura interactiva de variables 66 6.2.1. funcin input 66 6.2.2. funcin disp 67 6.3. Ficheros *.m 67 6.3.1. Ficheros de comandos (Scripts) 68 6.3.2. Definicin de funciones 68 6.3.3. Sentencia return 69 6.3.4. Funciones con nmero variable de argumentos 69 6.3.5. Help para las funciones de usuario 70 6.3.6. Help de directorios 71 6.3.7. Sub-funciones 71 6.3.8. Funciones privadas 72 6.3.9. Funciones *.p 72 6.3.10. Variables persistentes 72 6.3.11. Variables globales 72 6.4. Referencias de funcin (function handles) 72 6.4.1. Creacin de referencias de funcin 73 6.4.2. Evaluacin de funciones mediante referencias 74 6.4.3. Informacin contenida por una referencia de funcin. Funciones sobrecargadas 75 6.4.4. Otros aspectos de las referencias de funcin 76 6.4.5. Utilidad de las referencias de funcin 76 6.4.6. Funciones inline 77 6.4.7. Funciones annimas 77 6.4.8. Funciones anidadadas 77 6.5. Entrada y salida de datos 79 6.5.1. Importar datos de otras aplicaciones 79 6.5.2. Exportar datos a otras aplicaciones 79 6.6. Lectura y escritura de ficheros 6.6.1. Funciones fopen y fclose 80 6.6.2. Funciones fscanf, sscanf, fprintf y sprintf 80 6.6.3. Funciones fread y fwrite 81 6.6.4. Ficheros de acceso directo
Funciones de funcin
Integracin numrica de funciones 84 6.10.2. Ecuaciones no lineales y optimizacin 84 6.10.3. Integracin numrica de ecuaciones diferenciales ordinarias 86 6.10.4. Las funciones eval, evalc, feval y evalin 94 6.11. Distribucin del esfuerzo de clculo: Profiler
Scripts
Editor debugger