Upload
pierkross
View
108
Download
0
Tags:
Embed Size (px)
Citation preview
MatLab
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
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:
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
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.
Metodología para resolver problemas
Queremos calcular la temperatura media y también graficar los valores de temperatura.
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:
1. Planteamiento del problema
Calcular la media de una serie de temperaturas. Después graficar los valores de tiempo y temperatura
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.
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.
2. Descripción de Entradas y Salidas
Este es el diagrama de E/S para el presente problema:
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
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.
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
3. Ejemplo a mano
Calculamos a mano la media de las temperaturas:
(105 + 126 + 119) / 3 La media es 116.67 grados F
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.
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
4. Solución MatLab
El siguiente gráfico muestra el programa MatLab para nuestro problema:
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 (;)
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
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:
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:
5. Prueba
5. Prueba
Cuando se ejecutan estos comandos, la computadora exhibe la siguiente salida:
La gráfica siguiente también aparece en pantalla
5. Prueba
Escalares, Vectores y Matrices
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
Escalares, Vectores y Matrices
Un conjunto de cuatro coordenadas x,y,z puede considerarse como una matriz de cuatro filas y tres columnas
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
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
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
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
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
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
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
Listas Explícitas
La forma más sencilla de definir una matriz es usar una lista de números:
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
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
Listas Explícitas
También se puede definirse una matriz listando cada fila en una línea aparte:
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
Listas Explícitas
También puede definirse una matriz usando otras matriz, previamente definida. Por ejemplo:
Es equivalente a:
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
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
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
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
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:
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
Operador Dos Puntos (:)valores = 10 : -1 : 0;
Genera un vector llamado valores con los números 10, 9, … 0.
Operador Dos Puntos (:)
Puede también usarse para seleccionar una submatriz de otra matriz
Suponga que se definió la matriz C como sigue:
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:
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.
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
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
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:
Operador de Transponer0 51 102 153 204 25