Você está na página 1de 12

TALLER DE INVESTIGACION SOBRE MATLAB 1. Qu es Matlab, describa su entorno o ambiente de trabajo y cules son los operadores aritmticos.

Matlab es un sistema interactivo que se desarrollo para facilitar la solucin de clculos cientficos y de ingeniera basados en matrices. Con l se pueden resolver complejos problemas numricos sin necesidad de escribir un programa especfico para ello, aunque tambin es posible programar. El entorno de Matlab es agradable y simple de manejar. Al ejecutar el programa, podemos observar varias ventanas en la pantalla. Una de ella es la ventana de comandos Command. En ella aparece >> llamado prompt y a continuacin de ellas se escriben las ordenes, comandos. La siguiente ventana es Workspace (Espacio de trabajo), en ella aparece la variable ans (answer) y va guardando el ltimo resultado de esta variable. La ltima ventana es Command History (Historia de comandos), guarda todos los comandos que se han introducido en la sesin y en las anteriores sesiones. Los operadores aritmticos son los habituales y sus notaciones son: - Suma + - Resta - Divisin / - Exponente ^ - Multiplicacin * Y se efectan segn su prioridad. Lo que primero se ejecuta es lo que hemos puesto entre parntesis, en su caso, y en caso de tener varios parntesis anidados, se van evaluando de dentro hacia fuera. Dentro de cada parntesis (si es que los hay), lo primero que se evala son las potencias, despus las multiplicaciones y divisiones, y finalmente las sumas y restas. Si hay varias operaciones del mismo nivel seguidas, se efectan de izquierda a derecha.

2. Cmo se crean vector y matrices en Matlab y cules son las operaciones bsicas entre estos. Ilustre con la creacin de un ejemplo de cada una y las operaciones de suma y multiplicacin. Las matrices son los elementos bsicos con los que trabaja Matlab. VECTOR: Un vector se puede definir introduciendo sus coordenadas separadas por espacios o comas entre corchetes. Matlab lo considera una matriz 1x n >>x = [1 3 5] Si queremos definir un vector columna, se separan las filas por puntos y comas (;) o bien se calcula el transpuesto de un vector fila >>x Otra forma de crear vectores es la siguiente: >> x=1:0.5:3 x= 1.0000 1.5000 2.0000 2.5000 3.0000 Que genera un vector que va desde 1 hasta 10 con un paso de 0.5 unidades. Exactamente el mismo resultado lo conseguiramos con el comando linspace. >>x=linspace(1,3,5) Que produce 5 nmeros igualmente espaciados entre 1 y 3.

- Producto Escalar: Consideremos los dos vectores siguientes >>a=[1 2 3]; b=[2 -3 5]; Si los multiplicamos de la forma >>c=a.*b c= 2 -6 15 Obtenemos el producto de los elementos del primer y del segundo vector elemento a elemento. Para obtener el producto escalar >>sum(c) Ans= 11 Tambin lo podemos obtener de la siguiente forma: >>dot(a,b) - Suma, resta, multiplicacin: Se hacen de la siguiente forma, respectivamente: >>a+b 3 -1 8 >>a-b -1 5 -2 >>a*b 2 -6 15 - Producto por un escalar: >> x=2 >>x*a - Producto vectorial: >> cross(a,b).

MATRIZ: Una matriz se puede definir entre corchetes, separando las filas por ; y los elementos de cada fila por comas o simplemente espacios. A=[3 2 1; 6 5 4; 9 8 7] A= 321 654 987 Veamos algunas operaciones elementales con matrices. Definimos dos matrices 3 x 3 >>A=[1 1 2; 3 4 6; 2 1 0];B=[-1 2 0; 2 0 0; -2 3 4]; - Para sumarlas >>C=A+B C= 032 546 044 - Para multiplicarlas >>D=A*B D= -3 8 8 -7 24 24 040 - Para elevar una matriz a una potencia >>A^3 ans = 45 44 58 162 157 204 43 39 46 - Para calcular su determinante >>det(A) ans = -4 - Para calcular su inversa, si existe >>inv(A) ans = 1.5000 -0.5000 0.5000 -3.0000 1.0000 0 1.2500 -0.2500 -0.2500

3. Cmo se soluciona un sistema de ecuaciones lineales en Matlab y realice un ejemplo sencillo de la solucin. Para la solucin de ecuaciones lineales en Matlab, primero se consideran las ecuaciones (sistema) provenientes del ejercicio. Sistema: 2x y + z = 3 x+y=3 y 3z = 7

Del sistema se sacan la matriz A, el vector x y el vector b. Como se trata con un sistema de nica solucin, el determinante de A es diferente de cero.

A=

2 1 1 1 1 0 0 1 3

x= x y z

b= 3 3 7

Una forma de resolver el sistema es ampliando la matriz A con el vector b con el comando >>Ab=[A b] rref(Ab) 1 0 0 1 0 1 0 2 0 0 1 3 Es decir, la solucin es x=1 y=2 z=3 Otra forma es resolver el sistema consistente en despejar x. x=A-1b mediante el comando >>x=inv(A)*b .x 1 2 3 Tambien se puede resolver utilizando lo que en Matlab se denomina como divisin matricial a la izquierda mediante el comando >>x=A\b .x 1 2 3

EJEMPLO: Una empresa tiene tres minas con menas de composiciones: Nquel (%) Cobre (%) Hierro (%) Mina A 1 Mina B 2 Mina C 1 2 5 3 3 7 1

Cuntas toneladas de cada mina deben utilizarse para obtener 7 toneladas de nquel, 18 de cobre y 16 de hierro? La solucin est dada por las siguientes matrices: A= 1 2 3 2 5 7 1 3 1 x= x y z b= 7 18 16

La solucin de este ejercicio la realic por medio de la divisin matricial a la izquierda. Tambin se efectu el comando >> A*Solucion que dio resultado el vector b y se comprob la veracidad de las operaciones.

4. Cite y define 10 de las funciones de que vienen incorporadas en Matlab, las que considere ms importantes, pero de diferentes categoras (matemticas, matriciales, factorizacin, integracin, etc.) magic(n), crea una matriz en forma de cuadrado mgico de tamao n x n logspace(d1,d2,n), genera un vector logartmicamente entre 10d1 y 10d2 con n valores espaciados

polyval(pol,x), evala el polinomio pol para el valor de x. Si x es un vector, pol se evala para cada elemento de x. rand(n), matriz de nmeros aleatorios entre 0 y 1, distribuidos uniformemente (n x n) ode23, mtodo Runge-Kutta de largo de paso variable que combina un mtodo de orden dos con uno de orden tres qrt, da el resultado de una raz cuadrada abs, muestra el valor absoluto poly, calcula el polinomio caracterstico asociado sinh, seno hiperblico en radianes atan, arcotangente en radianes log, logaritmo neperiano

5. Programacin con Matlab: Cmo se implementan las instrucciones de decisin y los ciclos. Ilustre con un ejemplo sencillo. INSTRUCCIONES DE INSTRUCCIONES Y CICLOS. Se utilizan cuando queremos repetir un proceso un determinado nmero de veces. - For Con este script se pide que se ejecute el comando o comandos situados desde la lnea for hasta la lnea end como indique el contador situado en la lnea for... Su formato es : >>for i=inicio:incre:valorfinal Expresiones End Por ejemplo: >>for k=1:10 .k^5 En este caso, desde que k es igual a 1 hasta que es igual a 10, obtenemos las potencias quintas. Lo que se ha hecho es ejecutar sucesivamente el comando k^5 desde que k es 1 hasta que k es 10, pasando por todos los valores intermedios. El bucle empieza con k igual a 1. Nos encontramos con la lnea k^5 que nos pide evaluar esa expresin para el valor actual de k, que es 1, imprimir el resultado en pantalla (ya que la lnea no acaba con punto y coma) y guardar el resultado en la variable ans (ya que no indicamos otra variable en la que guardarlo). Despus viene la lnea end que nos dice que el paso k=1 est terminado; entramos de nuevo en el bucle con k=2 y hacemos la misma operacin; de los valores anteriores de k y ans no queda ni rastro...y as sucesivamente hasta alcanzar el valor k=10. - Ifend y whileend Ambos tipos de bucle son de ejecucin condicional, es decir, los comandos que engloban se ejecutan slo si se verifica determinada condicin. En el caso de los bucles if, los comandos se ejecutarn, si la condicin se cumple, una sola vez. Por ejemplo: >>i=input('Escribe un numero ') if i>10 disp('Es mayor que 10') end El comando disp('Es mayor que 10') se ejecutar slo si se cumple la condicin i>10. En el caso de los bucles while...end, los comandos del bucle se ejecutarn un nmero indefinido de veces, hasta que la condicin deje de cumplirse. Por ejemplo: >>k=1; while factorial(k)<10000 k=k+1; end k En la primera lnea inicializamos k a 1, para ir probando con todos los factoriales a partir de 1!: Ahora nos encontramos el bucle while, en el que estamos condenados a entrar hasta que la condicin de entrada (factorial(k)<10000) deje de cumplirse. En este primer momento k es 1 y por lo tanto la condicin se cumple (el factorial de 1 es menor que 105); por lo tanto se ejecuta la lnea de dentro del bucle, que aade 1 al contador. Luego la vez siguiente que se comprueba si se cumple o no la condicin de entrada, k ya vale 2; como todava 2! < 105; seguimos entrando y por lo tanto

aadiendo una unidad a k, y as sucesivamente hasta que k haya crecido lo suficiente como para superar 105, momento en el que el bucle deja de ejecutarse y k se queda con ese primer valor que no cumple la condicin. - Elseif: Significa \si en cambio se cumple que...", mientras que else, que aparece (si es el caso) al final de la lista de condiciones, significa \en cualquier otro caso..." Se puede introducir en conjunto con el comando if y else. As: if condicion1 sentencias1 elseif condicion2 sentencias2 elseif condicion3 sentencias3 else sentencias4 end - Else Se utiliza en conjunto con el if. Se da cuando se propone algo verdadero con el if y si la proposicin es falsa se usa else. De esta forma: If condicin Sentencia 1 Else Sentencia 2 End Por ejemplo: if calificacion >= 5 disp(Aprobado) else disp(Suspenso) end - Switch La expresin del switch admite un escalar o cadena de caracteres. De esta forma: switch expresion case exp1, sentencias1 case exp2, sentencias2 case exp3, sentencias3 otherwise, sentencias_por_defecto end Por ejemplo: %Ejemplo de utilizacin del switch nota=input(introduce nota) switch nota case {0,1,2,3,4}, disp(Suspenso) case {5,6}, disp(Aprobado)

case {7,8}, disp(Notable) otherwise, disp(Sobresaliente) end 6. Qu tipo de graficas se pueden realizar en Matlab, explique cmo crear uno de ellos y hacer un ejemplo. En Matlab se puede realizar las siguientes clases de grficos: GRAFICAS 2D - Funciones de la forma y=f (x) Para hacer grficas de funciones de una variable con Matlab, primero tenemos que crear una tabla de valores de la variable para despus dibujar la funcin. Por ejemplo, queremos dibujar la grfica de la funcin y=seno(x) Primero creamos una tabla de valores para x. >>x=0 : pi/100 : 2*pi ; Se ha formado una tabla (con el vector x) con 200 valores entre 0 y 2 . Tambin se podra construir la tabla de valores as: >>x=lindspace(0,2*pi,200); Ahora calculamos los valores de y >>y=sin(x); Y por ltimo >>plot(x,y). Y la funcin queda graficada. El aspecto de la grfica se puede modificar utilizando algunos comandos: - Cuadricula: >>grid on (con cuadricula); >>grid off (sin cuadricula) - Color y trazo: >>plot(x,y,'r*') (color rojo y asteriscos en la grfica) - Ejes: >>axis equal (rangos iguales de los ejes); >>axis([-2 2 -1 1]) (aparece dentro de ese rango); >>axis square (aparece en un cuadrado sin cambiar el rengo de los ejes) - Zoom: >>zoom on (acercamiento); >>zoom off (alejamiento) - Varias graficas en la misma figura: >>hold on (mantener la figura anterior); >>hold off (deshacer el comando anterior) - Etiquetado de grafica: >>gtext('texto') - Obtencion de puntos desde el grfico: >>[x,y]=ginput(N) - Trazar la curva correspondiente a una expresin funcional que se introduce como una cadena de caracteres >> ezplot

- Curvas en paramtricas Matlab tambin nos permite graficar curvas en el plano dadas en formas paramtricas, es decir, (t) = (x(t); y(t)) con t [a; b] Primero se generan los valores mediante el comando >>lindspace y sepuede graficar de dos formas diferentes, mediante el comando >>plot o >>comet. Los dos comando producen el mismo resultado, sin embargo la forma de ejecucin es diferente, la segunda es ms divertida, aparece un circulito (el cometa) que va dibujando la curva. La velocidad de ejecucin depende del nmero de puntos que hayamos generado en el comando lindspace. Dibujada una curva en paramtricas existe la posibilidad de dibujar sobre la misma los vectores velocidad, utilizando el comando >>quiver. - Curva en polares. Una curva en coordenadas polares es la imagen de la funcin r=h() con (1, 2)

Un punto de la curva en polares (r0; 0) tiene distancia al origen r0 y el ngulo que forma el vector de posicin del punto con el eje horizontal, medido en sentido positivo, es 0. Por lo tanto, la relacin entre las coordenadas polares y las coordenadas paramtricas es x = r cos() y = r sen() Para dibujar una curva en polares con Matlab se utiliza el comando >>polar. Hay dos comandos que permiten hacer cambios de coordenadas. Si queremos cambiar de coordenadas polares a coordenadas cartesianas hay que utilizar el comando >>[x,y]=pol2cart(theta,r);

GRAFICAS 3D - Curvas en el espacio Se generan de una manera similar a las curvas en el plano, con la diferencia de que aqu se utilizan los comandos >>plot3 o >>comet3, tambin existe un comando >>quiver3 para dibujar vectores velocidad sobre las curvas. Primero se genera la tabla de valores mediante >>lindspace y luego >>plot3 o >>comet3 para graficar. - Funciones de la forma z=f(x,y) Para dibujar grficos de funciones de dos variables z = f(x; y), al igual que para funciones de una variable, en primer lugar hay que generar tablas de valores para las variables x e y, en realidad, ahora lo que tenemos que hacer es generar un mallado sobre un rectngulo del plano XY. Para eso se utiliza el comando >>meshgrid. Estos son algunos de los comandos que se pueden utilizar para graficar la funcin: >>plot3(x,y,z) >>mesh(x,y,z) >>surf(x,y,z) >>surf(x,y,z),shading flat %efecto de sombreado distinto Hay otros comandos que tienen distintos efectos sobre la funcin de graficar: - Sombras y colores: mediante los comandos >>colormap o >>shading o >>colorbar que genera una escala de colores a la grafica. - Ejes: se manejan por medio del siguiente comando >>axes([xmin xmax ymin ymax zmin zmax]). Los comandos >>grid on y >>axis square tambin funcionan con este tipo de grficas. - Rotacin de grficas: Nos permite rotarla de manera de manera interactiva en tres dimensiones mediante el comando >>rotate3d - Curvas de nivel: Las curvas de nivel se pueden hacer utilizando alguno de los comandos siguientes: >>contour(x,y,z,10) % dibuja 10 curvas de nivel; >>contour3(x,y,z,10) % lo mismo, pero en el espacio; >>pcolor(x,y,z),colorbar - Algunas superficies en el espacio Hay varios comandos en Matlab que permiten generar las grficas de superficies en R3 (superficies que no son funciones.) Estos comandos son funciones que ya vienen programadas. - Esfera: Se genera utilizando el comando >>sphere(n) donde n es el nmero de puntos en que queda divido el ecuador de la esfera. - Cilindro: El comando >>cylinder(R,n) genera automticamente un cilindro de revolucin de radio R, donde n es el nmero de puntos de la circunferencia de la base del cilindro. - Mas superficies de revolucin: El comando >>makevase hace aparecer una ventana interactiva que permite dibujar grficas de superficies de revolucin en

las que la generatriz es una poligonal cuyos vrtices se sealan con el ratn sobre el propio dibujo. - Grficos de funciones complejas El comando >>cplxmap permite representar grficas de funciones complejas de variable compleja. El comando >>cplxmap(z,f(z)) dibuja una grfica tridimensional en la que el eje X es la parte real de la variable, es decir, Real(z); el eje Y es la parte imaginaria de la variable, es decir, Im(z) y el eje Z es la parte real de la imagen de la funcin, es decir, Re(f(z)). Para graficar lo que se conoce como superficies de Riemann est el comando >>cplxroot(n) donde n es el ndice de la raz.

GRFICOS ESTADISTICOS - Diagramas de sectores tiles para tipos de datos cualitativos en los que tenemos varias opciones. Permite compararlas en un crculo cuyo ngulo es directamente proporcional al porcentaje de cada opcin. Para graficar, introducimos los datos en vector. Si se desea colocarle nombre a cada parte, se utiliza el comando >>pie(x),leyend(texto). Con el comando >>pie3 se obtiene un diagrama de sectores en tridimensional - Diagramas de pareto Consta de barras cuyas alturas son el nmero de estaos ordenados en forma decreciente y sobres las barras un polgono con las frecuencias acumuladas de los escaos. Adems en el eje vertical derecho aparece una escala de porcentajes. Para graficar, se escriben los datos en un vector y a continuacin el siguiente comando >>pareto(x),ylabel('Nmero de Escaos') - Diagramas de barras Existen varias posibilidades para representar diagramas de barras. Se introducen los datos en un vector, luego alguno de los siguientes comandos, dependiendo cual se desea utilizar: >>subplot(2,2,1),bar(x),title('Barras Verticales') >>subplot(2,2,2),barh(x),title('Barras Horizontales') >>subplot(2,2,3),bar3(x),title('Barras Verticales 3D') >>subplot(2,2,4),bar3h(x),title('Barras Horizontales 3D') Tambin se pueden agrupar en 3D, de forma diferente a la anterior, con la orden >>bar3(x,'group') y se puede hacer que aparezcan las barras apiladas con >>bar3(x,'stack') - Histograma Para generar histogramas se utiliza el comando >>hist(x,N) donde N es el nmero de intervalos y x los datos previamente escritos en un vector. GRFICOS EN MOVIMIENTO MOVIES Se trata de pequeos programas, llamados movies", que elaboran una pelcula" fotograma a fotograma. Estos fotogramas, una vez visualizados, producen la sensacin de movimiento. En primer lugar, abrimos el editor de programas de Matlab, con File New M-File. 7. Conclusiones personales.

Puedo concluir que Matlab es una herramienta que ofrece gran variedad de funciones para el desarrollo de problemas tanto simples como complejos. Es una herramienta que nos permite graficar todo tipo de funciones y que cuenta con funciones que modifican la grfica segn la necesidad de cada persona, enfocndose ya bien sea en la delimitacin, en la creacin de superficies, en la creacin de las diferentes grficos estadsticos, entre otros Es de vital importancia conocer la mayora de funciones posibles con las que cuenta Matlab pues utilizando los comandos adecuados se puede dar solucin a cualquier tipo de problema e incluso personalizar las graficas realizadas. Matlab no solo se enfoca en la solucin de problemas, tambin tiene la opcin de programar dando lugar a la formacin de ciclos e instrucciones especificas que facilitan aun ms el desarrollo de determinados problemas.

Você também pode gostar