P. 1
Matlab- Tipos de Datos (2)

Matlab- Tipos de Datos (2)

|Views: 110|Likes:

More info:

Published by: Krlos A Guaillazaca Gonzalez on May 25, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPTX, PDF, TXT or read online from Scribd
See more
See less

12/13/2013

pdf

text

original

Matlab

Ficheros
• Matlabrc.m
– Parámetros de inicialización y es el responsable de los mensajes que aparecen al arrancar el programa. – Se ejecuta automáticamente al iniciar Matlab. – Busca el archivo statup.m

• Startup.m • Finish.m

mensajes de inicio quit

Sesión y variables
• Guardar el estado de sesión save

– Se crea en le directorio actual un fichero binario «matlab.mat» con el estado de sesión. – No gráficos porque ocupan mucha memoria.

• Recuperar el estado de sesión

load

– Save filename A x y «guarda las variables A. x.Sesión y Variables • Se puede guardar matrices y vectores de forma selectiva y en ficheros con nombre especificando por le usuario.mat» – Load filename.mat • save -append filename – Se guarda a continuación de lo que hubiera en el fichero. y en el archivo filename. .

txt – diary off • Necesario para abrir el archivo – diary on • Inicia el estado para guardar el trabajo • Líneas de comentarios –% – /* – */ .Guardar sesión y copiar salidas • diary – diary filenames.

Operaciones con matrices • Operador aritméticos • Operadores para la resolución de sistemas de ecuaciones lineales • Operadores elemento a elemento .

Operadores aritméticos .

Operadores Aritméticos • Los operadores anteriores se pueden aplicar también de modo mixto ( entre escalar y matricial) .

.Tipos de datos • Matlab trabaja con vectores y matrices así como variables escalares. • También trabaja en doble precisión es decir guarda cada dato en 8 bytes con 15 cifras de decimales exactas.

Tipos de datos • Número reales de doble precisión • Otros tipos de variables: – Integer – Float – Logical • Números complejos • Cadena de caracteres función complex .

– NaN – Not a Number • Estas respuestas son muy importantes porque permiten controlar la fiabilidad de los resultados de los cálculos matriciales.0 – Infinito en Matlab es representado como Inf • 0/0 – Representación especial para los resultados que no están definidos como números. .Números reales de doble precisión • 1.0 /0.

• realmin devuelve el número más pequeño con que se puede trabajar (2.Operaciones con coma flotante • eps Da una idea de la precisión o número de cifras almacenadas. En un PC.2251e-308) • realmax devuelve el número más grande con que se puede trabajar (1.7977e+308) . eps vale 2.2204e016.

es conveniente declarar variables de otros tipo para ahorrar memoria y cálculos mas rapidos. . • Con esto no es necesario declarar el tipo de variables • Sin embargo.Entero • Matlab trabaja por defecto con variables de punto flotante y doble precisión.

int64 – Var sin signo son números no negativos desde cero – max • uint8. 4 y 8 bytes. int16.Entero • Matlab permite crear variables enteras con 1. int32. uint16. uint64 . 2. • Pueden tener signo o no – Var con signo representan var casi simétricos respecto al 0 • int8. uint32.

– % se crea una matriz 1000x1000 de enteros . i=int8(j).1000.Ejemplos • i=int32(100). – % se crea un entero i a partir de j • >> i=zeros(1000.'int32'). – % se crea un entero de 4 bytes con valor 100 • >> j=zeros(100).

• >> disp([intmin('int64').Tipos de variables • Las funciones intmin(‘int64’) e intmax(‘int64’) que permite saber el valor del entero mas pequeño y mas grande que puede fomarse con variables enteras de 64 bits. 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.

. de simple o doble precisión. – realmin(‘single’) – realmax(‘single’) • isfloat(x) – X es una variable real.Variable reales o float • single(x) • double(y) • Las funciones realmin y realmax permiten saber los números double mas pequeño y mas grande en valor absoluto que admite el computador.

Variables Lógicas • Las variables lógicas surgen como el resultado de los operadores relacionales. • Y de funciones lógicas – any – all aplicados a vectores y matrices Help any Help all .

.Variables Lógicas • Función logical(A) produce una variable lógica con el mismo número elementos de A • Aplicación – Separar o extraer elementos de una matriz o vector que cumpla con cierta condición y operar luego sobre dichos elementos.

’logical’) • A(j)=-10 Creación matriz mágica todos los elementos de la matriz >10 Convierto la j en variable lógica Acción .Ejemplo • A= magic(4) • j=A>10 • isa(j.

parte imaginaria) a=sqrt(-4) a= 0 + 2.0000 + 4.0000i >> 3 + 4j ans = 3.Números complejos • Función complex • Muchos cálculos matriciales los datos no son reales sino complejos (parte real.0000i .

0000 + 3.Números Complejos • Se recomienda no trabajar como variable ‘i’ para no confundirse con la parte imaginaria de un número. i=2 i= 2 >> 2+3i ans = 2.0000i .

0000i 2. 1 -3]*I % En este caso el * es necesario A= 1.0000 + 2.0000 + 2. -1+i 2-3i] A= 1.0000i 1.0000 + 3.0000 . -1 2] + [2 3.0000i 2.3.0000i -1.Números complejos • Cuando i y j son variables utilizadas para otras finalidades como unidad imaginaria puede utilizar la funcion sqrt(-1) • Asignación >> A = [1+2i 2+3i.0000 .0000i >> A = [1 2.0000i -1.0000 + 3.3.0000i .0000i 2.0000 + 1.0000 + 2.

0000 + 2.2) ans = 1.Numeros complejos • Funcion complex >> complex(1.0000i .

En MATLAB las cadenas • de texto van entre apóstrofos o comillas simples – s = 'cadena de caracteres' .Cadena de carácteres • MATLAB puede definir variables que contengan cadenas de caracteres.

Funciones internas de Matlab • • • • • • • • • Uso de las funciones internas Uso de la ayuda Funciones matemáticas fundamentales Funciones trigonométricas Funciones de análisis de datos Números aleatorios Números complejos Limitaciones computacionales Valores especiales y funciones varias .

Funciones de Librería • Partes de una función – Nombre – Entrada – Salida • Ejemplo – X =[4 9 16] – B= sqrt(X) .

• Size determina el número de filas y columnas en una matriz – d = [1 2 3 4 5 6] – f= size(d) – f= 2 3 • [x.y]= size(d) Asignación de las valores a var .

.Anidar funciones • g= sqrt(sin(x)) – Recomendación: Asegurarse de incluir los argumentos para cada función dentro de su propio conjunto de paréntesis.

Ayuda • help • help (función) – help tan Ayuda general Ayuda especifica • doc (función) .

– cos – sqrt – exp • Web resources .Ejercicios • Use el comando help en la ventana de comando para encontrar la sintaxis adecuada para las siguientes funciones.

Funciones matemáticas comunes • • • • Logaritmos Exponenciales Valor absoluto Funciones de redondeo .

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. el logaritmo natural de x (a la base e) Calcula log10(x).Cálculos comunes abs(x) sqrt(x) nthroot(x. el logaritmo comun de x (a la base 10) abs(-2) sqrt(85) nthroot(x.n) sign(-8) rem(25.7183 Calcula ln(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 raíz real de x.4) exp(10) log(10) log10(10) .

Encuentre la raíz cuadrada de -3 y +3 – Use la función sqrt – nthroot -3 y +3 a la potencia de ½ • ¿Cómo varia el resultado? . el vector debe ser – x=[-2. -1. Cree el valor x de -2 a +2 con un incremento de 1. 0. 2] • Encuentre el valor absoluto y raíz cuadrada de cada elemento del vector 2. 1.Ejercicios 1.

Cree un vector x de -10 a 11 con un incremento de 3 – Encuentre el resultado de x dividido entre 2 – Encuentre el residuo de x dividido entre 2 4. Use la función sign para determinar cuales de los elementos en el vector x son positivos. Use el vector del problema 3 y encuentre ex 5. Use el vector del problema 3 – Encuentre ln(x) – Encuentre log10(x) 6. .3.

6) Redondea x al entero mas cercano hacia cero.6) ceil(-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) que con esta función 8. Note fix(8.6 se trunca a 8.Funciones de redondeo round (x) fix(x) floor(x) ceil(x) Redondea x al entero mas cercano round(8.6) .

• Incluye la función rats que se expresa un numero punto flotante como un número racional (fracción) • Las matemáticas discretas son las matemáticas de números enteros. . • Todas estas funciones requieren escalares enteros como entrada. encontrar denominadores y múltiplos comunes. calcular factoriales y explorar números primos.Matemáticas Discretas • Matlab incluye funciones para factorizar números.

Si los es regresa 1 sino lo es regresa 0 factor(12) gcd(10. El factorial es el producto de todos los enteros menores que x.5) rats(1.Funciones factor(x) gcd(x.y) rats(x. Encuentra todos los numeros primos menores que x Verifica para ver si x es un número primo.15) lcm(2.) factorial(x) primes(x) isprime(x) Encuentra los factores primos de x Encuentra el máximo común denominador de x – y Encuentra el mínimo común múltiplo de x – y Representa x como fracción Encuentra el valor de x factorial(x!) .y) lcm(x.5) factorial(6) primes(10) isprime(7) .

Ejercicio • Factorice el numero 322 • Encuentre el máximo común 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 Trigonométricas • Funciones estándar e hiperbólicas • Los ángulos se expresan en radianes – Cambiar a grados • Grados= radianes*180/pi. • Radianes= grados *pi/180 .

Funciones trigonométricas 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. la función 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) asinh(x) Encuentra el seno hiperbolico inverso de x sind(x) Encuentra el seno de x cuando x se expresa en grados sind(90) asind(90) asind(x) Encuentra el seno inverso de x y reporta el resultado en grados . x debe estar entre -1 y 1.

Ejercicios .

Funciones de análisis de datos • Máximo y mínimo – Valor máximo de un vector • x=[1 5 3] • max(x) • x=[1 5 3. 2 4 6] • max(x) • Valor y ubicación • x=[1 5 3] • [a.b]=max(x) .

4.b]=max(x) – max(x. 1. 2 4 6] • y=[10.7] • max(x. • x=[1 5 3. 2 4 6] • [a.• x=[1 5 3.y) .y) crea una matriz del mismo tamaño que x y y (matriz cuadrada) cada elemento en la matriz resultante contiene el valor máximo de las posiciones correspondientes en x y y.2.8.

3. 2.6] • [a. 2.b]=min(x) .• min(x) Encuentra el valor mas pequeño de un vector x • x=[1 5 3] • min(x) • x=[1.4.6] • min(x) • x=[1 5 3] • [a.5.5.3.4.b]=min(x) • x=[1.

y) . 1.4.7] • max(x. 2 4 6] • y=[10.2. Debe ser matriz cuadrada.– Crea una matriz del mismo tamaño que x y y. – La matriz resultante contendrá el valor mínimo de las posiciones correspondientes en x y y.8. • x=[1 5 3.

Sugerencia • Todas las funciones operan sobre columnas. 2 4 6] – max(x’) . • En caso de analizar datos en filas se debe usar la traspuesta del vector. – x=[1 5 3.

Ejercicios X=[4 90 85 75. 1 84 92 93] • Cual es el valor max de cada columna? • En que posición se presenta dicho maximo? • Cual es el valor maximo de cada fila? . 3 78 82 79. 2 55 65 75.

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 tamaño 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)

2 4 6] • sort(x) columnas .Valores de ordenación • sort(x) – Ordena los elementos de un vector x – ascendente • x=[1 5 3] • sort(x) • x=[1 5 3.

• sort(x.’descend’) – Ordena los elementos en cada columna – descendente • x=[1 5 3] • sort(x. 2 4 6] • sort(x.’descend’) • x=[1 5 3.’descend’) columna .

– x=[1 5 3.2) . 3 8 4] – sortrows(x) – sortrows(x. 2 4 6.• sortrows(x) – Ordena las filas de una matriz sobre la base de los valores en la primera columna y mantiene intacta cada fila.n) • Ordena las filas en una matriz sobre la base de los valores en la columna n • sortrows(x.

• x=[1 5 3.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 . 2 4 6] • size(x) • [a.Funciones de tamaño • size(x) – Determina el numero de filas y columnas en la matriz x.

• length(x) – Determina la dimensión mas grande de una matriz x • x=[1 5 3. 2 4 6] • lenght(x) .

• Sintaxis – Parámetros iguales que las funciones internas • Nombre • Entrada • Salida – Cos(x) .Funciones definidas por el usuario • Creación de archivos –m de función – Tenemos funciones internas de Matlab pero es posible crear nuestras propias funciones.

– mifuncion(x) – Las funciones definidas por el usuario se crean en archivos-m .• El usuario no necesita ver los cálculos realizados. sino que solo se acepta la respuesta.

.– Se debe iniciar con una línea de definición de función que contenga: • • • • Palabra function Una variable que defina la salida de la función Un nombre de función Una variable que se use para el argumento de entrada – function output=mifuncion(x) • Los nombres de las variables son arbitrarios y depende del programador.

– Sugerencia: tomar en cuenta las reglas de declaración de variables. la función esta disponible para usar desde la ventana de comandos.^3+5*x. • Una vez guardado el archivo-m. se debe guardar en el directorio actual. .Ejemplo • function output=poly(x) • output=3*x.^2-2*x+1 • Antes de poder usar esta función. • El nombre del archivo debe ser el mismo que el nombre de función con la finalidad que de MATLAB lo encuentre.

.• En particular – Nombre de la función debe empezar con una letra – Puede formarse con letras. números y el guión bajo – No se pueden usar nombres reservados – Permite cualquier longitud. aunque los nombres largos no son una buena práctica.

• x= 1 • poly(x) • x= [1 2 3 4 5] • poly(x) .

Ejercicios • Crear funciones MATLAB para evaluar las siguientes funciones matemáticas. – y(x)=x2 – y(x)=e1/x – y(x)=sen(x2) .

Ejercicios • Cree funciones MATLAB para las siguientes conversiones de unidades. – Pulgadas a pies – Calorías a joules – Metros a millas – Millas por hora a pies por segundos .

– Se muestran cuando se requiere la ayuda de la función. • function results = f(x) • %esta es una función de conversión de unidades de segundos a minutos • Help f .Ayuda de nuestra función • Comentarios – Los comentarios inmediatamente siguiente a la primera linea tienen un papel especial.

Funciones con entradas y salidas • Se puede requerir multiples entradas y salidas – Función definida: rem(5.y) – %esta función multiplica x – y – %x y y deben ser del mismo tamaño – a= x.*y – output=a .3) – function output=g(x.

y) .Ejercicio • X= 2 • Y=9 • G(x.

acele] = m(t) • % esta función calcula la distancia.Funciones con mas de una salida • function [dist.*t .5*t • vel= acele. velo.*t • dist=vel. velocidad y aceleración de un automovil para un valor t • acele= 0.

velocidad’. velocidad.• t= [0:10:30] • [distancia. aceleracion’+ . distancia’. aceleracion]=m(t) • Mejor: – Resultados=*t’.

.

Funciones logicas y estructuras de control .

Otros tipos de datos en Matlab • • • • • Hipermatrices (una o mas dimensiones) Estructuras Vectores o matrices de celdas Matrices dispersas (sparse) Clases y objetos .

Hipermatrices • Definicion • Funciones que trabajan con hipermatrices .

Estructuras • Creacion de estructuras • Funciones para operar con estructuras .

Vectores o matrices de celdas • Creación de vectores y matrices de celdas 56 • Funciones para trabajar con vectores y matrices de celdas 57 • Conversión entre estructuras y vectores de celdas .

Matrices dispersas (sparse) • Operaciones con matrices dispersa • Operaciones de álgebra lineal con matrices dispersas • Reglas generales para operar con matrices dispersas • Permutaciones de filas y/o columnas en matrices sparse .

Clases y objetos .

Gráficas .

Entrada de puntos con el ratón 117 8.3.4. Control de los ejes: función axis() 112 8. Otras funciones gráficas 2-D 115 8.2. Control de ventanas gráficas: Función figure 114 8.3.1. Comando subplot 112 8. Función fill para polígonos 116 8.3.5. Estilos de línea y marcadores en la función plot 111 8. Añadir líneas a un gráfico ya existente 111 8. Función findobj() 113 8.1.6.5.1.3.7. Función plot 109 8.1. Dibujo simplificado de funciones: Funciones ezplot() y ezpolar() 116 8.1.1. Función fplot 115 8.7.1.1.1. Las ventanas gráficas de MATLAB .6.4. Función line() 113 8.Bidimensionales • • • • • • • • • • • • • • • • • Funciones gráficas 2D elementales 108 8.2. Impresión de las figuras en impresora láser 118 8. Preparación de películas o "movies" 117 8.3.3.2.

1.2.5. Elementos generales: ejes.6. Otras formas de las funciones mesh y surf 126 • 9. Dibujo de mallados: Funciones meshgrid.Graficos 3D • Tipos de funciones gráficas tridimensionales 121 • 9. Dibujo de superficies faceteadas 126 • 9.1.3. Formas paramétricas de las funciones mesh.2. mesh y surf 123 • 9. puntos de vista.2. . 122 • 9. Dibujo simplificado de funciones 3-D: Funciones ezplot3()..2.4.1. Dibujo de líneas: función plot3 122 • 9. etc. Otras funciones gráficas 3D 127 • 9.. ezsurf().7. Función caxis 125 • 9. .1.1.2.4. líneas ocultas.2. Utilización del color en gráficos 3-D • Imágenes y gráficos en pseudocolor. surf y pcolor 127 • 9.3. Dibujo de líneas de contorno: funciones contour y contour3 124 • 9.2.

Graficos avazados • • • • • Imágenes Manipulación de gráficos Animación Otras técnicas de visualización Introducción a visualización de volumen .

7.7. función disp 67 6..8.6.1. Help de directorios 71 6.1.4. Sentencia for 65 6.6.4. sscanf. fprintf y sprintf 80 6. Variables persistentes 72 6. Referencias de función (function handles) 72 6.1. Funciones *.2. Información contenida por una referencia de función.4.5. Lectura y escritura interactiva de variables 66 6. Sentencias try. Sentencia return 69 6.5.1. Entrada y salida de datos 79 6.1.4.p 72 6.5.end 66 6.8.1. Exportar datos a otras aplicaciones 79 6.3. Importar datos de otras aplicaciones 79 6. Definición de funciones 68 6. Funciones sobrecargadas 75 6. Sentencia if 64 6. Lectura y escritura de ficheros 6.4.1.3.4. Sentencia while 66 6. Funciones anidadadas 77 6.1. función input 66 6.10.3. Ficheros de acceso directo .4. Ficheros de comandos (Scripts) 68 6.4. Help para las funciones de usuario 70 6.4.3.3.1.5.1.9.4. Sub-funciones 71 6.2. Sentencia switch 64 6.2.3.Programación en Matlab • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 6. Funciones anónimas 77 6.3.6.4. Utilidad de las referencias de función 76 6.. Otros aspectos de las referencias de función 76 6. Ficheros *.6.11. Creación de referencias de función 73 6. Funciones con número variable de argumentos 69 6.2.3. Funciones privadas 72 6.3.1.2. Evaluación de funciones mediante referencias 74 6.6..3. Variables globales 72 6. Funciones fread y fwrite 81 6.3.3.3.4.6.6.4.catch.3..6.3. Funciones fopen y fclose 80 6.1.1. Sentencia continue 66 6.2.5.7.2.3.5. Funciones inline 77 6.2. Funciones fscanf. Sentencia break 66 6.m 67 6.2.

10. Integración numérica de ecuaciones diferenciales ordinarias 86 • 6. feval y evalin 94 • 6.11. Distribución del esfuerzo de cálculo: Profiler . Ecuaciones no lineales y optimización 84 • 6.Funciones de función • Integración numérica de funciones 84 • 6.3.4.2.10.10. Las funciones eval. evalc.

Scripts .

Editor debugger .

Interfaces de Matlab con otros lenguajes .

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->