Mat lab00

55
MatLab

Transcript of Mat lab00

Page 1: Mat lab00

MatLab

Page 2: Mat lab00

Metodología para resolver problemas

La resolución de problemas es una parte clave de los cursos de ingeniería, y también de los de ciencias de computación, matemáticas, física, química, estadística.

Es importante tener una estrategia consistente para resolver los problemas

Page 3: Mat lab00

Metodología para resolver problemas

Es importante que la estrategia sea lo bastante general para funcionar con todas estas distintas áreas, para no tener que aprender una técnica para los problemas de matemáticas, una técnica diferente para los problemas de física, etc.

La metodología que usaremos consta de cinco pasos:

Page 4: Mat lab00

Metodología para resolver problemas

1. Plantear el problema claramente2. Describir la información de entrada y

de salida3. Resolver el problema a mano (o con

una calculadora) para un conjunto de datos sencillo

4. Crear una solución con MatLab5. Probar la solución con diversos datos

Page 5: Mat lab00

Metodología para resolver problemas

Analizaremos estos pasos utilizando datos recolectados de un experimento de laboratorio de física.

Suponga que hemos recabado una serie de temperaturas de un sensor de cierto equipo que se está utilizando en un experimento.

Se tomaron mediciones de temperatura cada 30 segundos, durante 5 minutos, en el curso del experimento.

Page 6: Mat lab00

Metodología para resolver problemas

Queremos calcular la temperatura media y también graficar los valores de temperatura.

Page 7: Mat lab00

1. Planteamiento del problema

El primer paso es plantear el problema claramente.

Es en extremo importante preparar un enunciado claro y conciso del problema para evitar malentendidos.

Para el presente ejemplo, el enunciado es el siguiente:

Page 8: Mat lab00

1. Planteamiento del problema

Calcular la media de una serie de temperaturas. Después graficar los valores de tiempo y temperatura

Page 9: Mat lab00

2. Descripción de Entradas y Salidas

El segundo paso consiste en describir cuidadosamente la información que se da para resolver el problema y luego identificar los valores que se deben calcular.

Estos elementos representan las entradas y salidas del problema, y pueden llamarse colectivamente entrada/salida o E/S.

Page 10: Mat lab00

2. Descripción de Entradas y Salidas

En muchos problemas resulta útil hacer un diagrama que muestre las entradas y las salidas.

En este punto, el programa es una abstracción (caja negra) porque no estamos definiendo los pasos para determinar las salidas; sólo estamos mostrando la información que se usará para calcular la salida.

Page 11: Mat lab00

2. Descripción de Entradas y Salidas

Este es el diagrama de E/S para el presente problema:

Page 12: Mat lab00

3. Ejemplo a mano

El tercer paso es resolver el problema a mano o con una calculadora, empleando un conjunto sencillo de datos.

Se trata de un paso muy importante y no debe pasarse por alto, ni siquiera para problemas sencillos.

Este es el paso en que se detalla la solución del problema

Page 13: Mat lab00

3. Ejemplo a mano

Si no podemos tomar un conjunto sencillo de números y calcular la salida (ya sea a mano o con calculadora), no estamos preparados para continuar con el siguiente paso; debemos releer el problema y tal vez consultar material de referencia.

Page 14: Mat lab00

3. Ejemplo a mano

Para nuestro ejemplo, el único cálculo consiste en calcular la media de una serie de valores de temperatura.

Supongamos que usamos los siguientes datos para el ejemplo a mano:

Tiempo (minutos) Temperatura (Grados F)0.0 1050.5 1261.0 119

Page 15: Mat lab00

3. Ejemplo a mano

Calculamos a mano la media de las temperaturas:

(105 + 126 + 119) / 3 La media es 116.67 grados F

Page 16: Mat lab00

4. Solución MatLab

Una vez que podemos resolver el problema para un conjunto sencillo de datos, estamos listos para desarrollar un algoritmo: un bosquejo paso a paso de la solución del problema

Si el problema es complicado, puede ser necesario escribir a grandes rasgos los pasos y luego descomponer esos pasos en otros más pequeños.

Page 17: Mat lab00

4. Solución MatLab

Si la solución es sencilla, puede escribirse de inmediato el algoritmo utilizando comandos MatLab

Una de las ventajas de MatLab es que sus comandos coinciden notablemente con los pasos seguidos para resolver problemas de ingeniería

Page 18: Mat lab00

4. Solución MatLab

El siguiente gráfico muestra el programa MatLab para nuestro problema:

Page 19: Mat lab00

4. Solución MatLab

Las palabras que siguen a los caracteres de porcentaje son comentarios que ayudan a entender las instrucciones MatLab

Si una instrucción MatLab asigna o calcula un valor, también imprime el valor en la pantalla si la instrucción no termina en el carácter punto y coma (;)

Page 20: Mat lab00

4. Solución MatLab

Los valores de tiempo y temps no se imprimen porque las instrucciones que les asignan valores terminan con caracteres punto y coma.

El valor promedio se calculará y luego se imprimirá en la pantalla porque la instrucción no termina con el carácter ;

Por último, se genera una gráfica de los datos de tiempo y temperatura

Page 21: Mat lab00

5. Prueba

El paso final es probar la solución Primero probamos con los datos del

ejemplo a mano porque ya probamos la solución antes

Al ejecutarse las instrucciones anteriores, la computadora exhibe la salida:

Page 22: Mat lab00

5. Prueba

También se genera una gráfica de los puntos dados.

El promedio coincide con el ejemplo a mano, así que ahora podemos sustituir esos datos por los datos del experimento de física, dando el siguiente programa:

Page 23: Mat lab00

5. Prueba

Page 24: Mat lab00

5. Prueba

Cuando se ejecutan estos comandos, la computadora exhibe la siguiente salida:

La gráfica siguiente también aparece en pantalla

Page 25: Mat lab00

5. Prueba

Page 26: Mat lab00

Escalares, Vectores y Matrices

Page 27: Mat lab00

Escalares, Vectores y Matrices

Matriz: Conjunto de números dispuestos en una retícula rectangular de filas y columnas.

Un solo valor puede considerarse como una matriz de una fila y una columna

Una coordenada x,y puede considerarse como una matriz de una fila y dos columnas

Page 28: Mat lab00

Escalares, Vectores y Matrices

Un conjunto de cuatro coordenadas x,y,z puede considerarse como una matriz de cuatro filas y tres columnas

Page 29: Mat lab00

Escalares, Vectores y Matrices

Los datos contenidos dentro de una matriz se escriben dentro de corchetes

Si la matriz tiene una fila y una columna, se denomina Escalar al número

Si una matriz tiene sólo una fila o una columna se denomina vector fila o vector columna

Page 30: Mat lab00

Escalares, Vectores y Matrices Para referirnos s los elementos de la

matriz, debemos mencionar la fila y la columna donde se encuentra dicho número.

Por ejemplo C4,3 indica que nos referimos al valor de la cuarta fila y tercera columna. 4 y 3 se denomina subíndices

Para referirnos a toda la matriz, utilizamos el nombre de la matriz sin subíndices

Page 31: Mat lab00

Escalares, Vectores y Matrices

El tamaño de la matriz se especifica en el número de filas y columnas

Si una matriz tiene m filas y n columnas, tiene entonces m*n elementos

Si una matriz tiene igual número de filas y de columnas, se denomina matriz cuadrada

Page 32: Mat lab00

Escalares, Vectores y Matrices Conteste las siguientes preguntas acerca

de esta matriz:

6. ¿Qué tamaño tiene G?7. Dé las referencias de subíndices de todas

las posiciones que contienen el valor 0.5

Page 33: Mat lab00

Escalares, Vectores y Matrices En los programas MatLab, se asigna

nombres a los escalares, vectores y matrices. Las siguientes reglas se aplican a estos nombres de variables:

2. Los nombres de variables deben comenzar con una letra

3. Los nombres de variables pueden contener letras, dígitos y el carácter de subrayado (_)

4. Los nombres de variables pueden tener cualquier longitud, pero deben ser únicos dentro de los 19 primeros caracteres

Page 34: Mat lab00

Escalares, Vectores y Matrices

MatLab es sensible a la diferencia entre mayúsculas y minúsculas. Así los nombres Tiempo, TIEMPO y tiempo representan tres variables distintas

Asegúrese de escoger nombres que le ayuden a recordar lo que se está almacenando en la variable

Page 35: Mat lab00

Inicialización

Métodos para inicializar variables:2. Lista explícita de valores3. Operador de dos puntos4. Uso de funciones MatLab5. Lectura de datos desde el teclado

Page 36: Mat lab00

Listas Explícitas

La forma más sencilla de definir una matriz es usar una lista de números:

Page 37: Mat lab00

Listas Explícitas Estas instrucciones son ejemplos de la

instrucción de asignación. Esta consiste de un nombre de variable

seguido de un signo igual y de los valores de datos que se asignarán a la variable

Dichos valores se encierran entre corchetes en orden por fila, separados por caracteres punto y coma (;) y los valores de cada fila se separan mediante comas o espacios

Page 38: Mat lab00

Listas Explícitas Un valor puede contener un signo mas o un

sigo menos y un punto decimal, pero no una coma.

Si una instrucción de asignación termina con el carácter punto y coma, no se exhibe en la pantalla la asignación

El comando who lista las matrices que se han definido

El comando whos lista las matrices y sus tamaños

Page 39: Mat lab00

Listas Explícitas

También se puede definirse una matriz listando cada fila en una línea aparte:

Page 40: Mat lab00

Si hay demasiado números en una fila de una matriz para que quepan en una línea, podemos continuar la instrucción en la siguiente línea, pero se requiere de una coma y tres puntos ( , … ) al final de la línea para indicar que la fila debe continuar

Listas Explícitas

Page 41: Mat lab00

Listas Explícitas

También puede definirse una matriz usando otras matriz, previamente definida. Por ejemplo:

Es equivalente a:

Page 42: Mat lab00

Listas Explícitas

Podemos modificar los valores de una matriz usando la referencia a un elemento específico.

S(2) = -1.0; Cambia el segundo valor de la matriz

S de 1.5 a -1.0

Page 43: Mat lab00

Listas Explícitas

El comando:S(4) = 5.5;

Añade un elemento a la matriz S. Si ejecuta el siguiente comando:

S(8) = 9.5; La matriz S tendrá 8 elementos. Los

elementos 5, 6 y 7 tendrán valor cero

Page 44: Mat lab00

Operador Dos Puntos (:)

Es un operador muy potente para crear nuevas matrices

Puede usarse para crear vectores a partir de matrices.

Si usa un signo dos puntos en lugar de un subíndice específico, el signo dos puntos representa toda la fila o la columna

Page 45: Mat lab00

Operador Dos Puntos (:) Por ejemplo, después de definir una matriz

C, los siguientes comandos almacenan la primera columna de C en el vector columna X, la segunda en el vector columna Y y la tercera en el vector columna Z

Page 46: Mat lab00

Operador Dos Puntos (:)

También puede usarse para generar nuevas matrices.

Si usa el carácter dos puntos para separar dos enteros, el operador dos puntos genera todos los enteros entre los enteros especificados.

Por ejemplo:

Page 47: Mat lab00

Operador Dos Puntos (:)H = 1 : 8;

Genera un vector llamado H con los enteros entre 1 y 8 como valores

tiempo = 0.0 : 0.5 : 5.0 Genera un vector llamado tiempo que

contiene los números de 0.0 a 5.0 con incrementos de 0.5

Page 48: Mat lab00

Operador Dos Puntos (:)valores = 10 : -1 : 0;

Genera un vector llamado valores con los números 10, 9, … 0.

Page 49: Mat lab00

Operador Dos Puntos (:)

Puede también usarse para seleccionar una submatriz de otra matriz

Suponga que se definió la matriz C como sigue:

Page 50: Mat lab00

Operador Dos Puntos (:)

Si ejecutamos los comandos:c_parcial_1 = C(:, 2:3);C_parcial_2 = C(3:4, 1:2);

Habremos definido las siguientes matrices:

Page 51: Mat lab00

Operador Dos Puntos (:)

Si la notación de signo de dos puntos define una matriz con subíndices no válidos, como C(5:6, :) se exhibe un mensaje de error.

Page 52: Mat lab00

Matriz vacía

Los siguientes comandos generan una matriz vacía:A = [];B = 4: -1: 5;

Una matriz vacía es diferente a tener una matriz de ceros

Page 53: Mat lab00

Columna Larga

La expresión C(:) equivale a una matriz de columna larga que contiene la primera columna de C seguida de la segunda columna de C, y así sucesivamente

Page 54: Mat lab00

Operador de Transponer

La transpuesta de la matriz A se denota por A’x = 0:4;y = 5:5:25;[x’ y’]

La salida generada por estas instrucciones es:

Page 55: Mat lab00

Operador de Transponer0 51 102 153 204 25