1. 44519850723900Universidad Centroccidental<br />“Lisandro Alvarado”<br />Decanato De Agronomía<br />Programa Ingeniería Agroindustrial<br />Integrantes:<br />Díaz Virgilio C.I: 19.164.948<br />Nelo Norbelys C.I: 19.171.001<br /> Computación aplicada <br />Desarrollo.<br />¿Qué es matlab?<br />Es un entorno de computación y desarrollo de aplicaciones totalmente integrado orientado para llevar a cabo proyectos en donde se encuentren implicados elevados cálculos matemáticos y la visualización gráfica de los mismos. MATLAB integra análisis numérico, cálculo matricial, proceso de señal y visualización gráfica en un entorno completo donde los problemas y sus soluciones son expresados del mismo modo en que se escribirían tradicionalmente, sin necesidad de hacer uso de la programación tradicional.<br />Funcionalidad de matlab.<br />Las funcionalidades de Matlab se agrupan en más de 35 cajas de herramientas y paquetes de bloques (para Simulink), clasificadas en las siguientes categorías.<br />MATLAB (Cajas de herramientas)SimulinkMatemáticas y OptimizaciónModelado de punto fijoEstadística y Análisis de datosModelado basado en eventosDiseño de sistemas de control y análisisModelado físicoProcesado de señal y comunicacionesGráficos de simulaciónProcesado de imagenDiseño de sistemas de control y análisisPruebas y medidasProcesado de señal y comunicacionesBiología computacionalGeneración de códigoModelado y análisis financieroPrototipos de control rápido y SW/HW HILDesarrollo de aplicacionesTarjetas integradasInformes y conexión a bases de datosVerificación, validación y comprobación<br />¿Como realizar operaciones matemáticas, lógicas y racionales en matlab?<br />Matlab evalúa las expresiones de izquierda a derecha dando preferencia a la exponenciación sobre productos y cocientes y a éstos sobre sumas y restas. Además evalúa de manera convencional las expresiones con paréntesis.<br />Suma:<br />Cuando los cálculos que se hacen no se asignan a una variable determinada se asignan por defecto a la variable de respuesta ans. Ejemplo. <br />EDU>> 5+3 <br />ans = 8 <br />En cambio, cuando el cálculo se asigna a una variable en concreto, el resultado queda guardado en ella. Ejemplo. <br />EDU>> x=8+7 <br />x = 15 <br />Si queremos conocer el valor de una variable, es suficiente con escribir su nombre. Ejemplo. <br />EDU>> x <br />x = 15 <br />Cuando añadimos un punto y coma (;) al final de una instrucción, entonces no se muestra la respuesta en la ventana de órdenes. Ejemplo. <br />EDU>> y=6*8; <br />... pero no por ello deja de realizarse el cálculo. <br />EDU>> y <br />y = 48 <br />Existe un orden de prioridad en el que se efectúan las operaciones: primero las potencias, después las multiplicaciones y divisiones y, finalmente, las sumas y restas. Las operaciones de igual prioridad se evalúan de izquierda a derecha. Ejemplos. <br />EDU>> 2/4*3 <br />ans = 1.5000 <br />EDU>> 2/(4*3) <br />ans = 0.1667 <br />Resta:<br />Si no se asigna el resultado a ninguna variable, Matlab lo asigna por defecto a la variable ans (answer): <br />» 2-3 <br />ans = <br />1 <br />Para saber cuál es el valor asignado a una determinada variable, basta introducir el nombre de la variable: <br />» x <br />x = <br />5 <br />Operaciones lógicas:<br />Los operadores lógicos que proporciona MATLAB son: <br />& AND <br />| OR <br />~ NOT <br />xor EXCLUSIVE OR<br />EDU» x=(A>2)|(B<0) x = 1 1 1 1 0 1 0 1 1 0 EDU» y=~(A>4) y = 1 1 0 0 1 1 1 0 1 1 EDU» xor(x,y) ans = 0 0 1 1 1 0 1 1 0 1<br />Ejemplo de como usar estas técnicas para representar señales discontinuas o compuestas, la idea básica es multiplicar los valores que deseamos que permanezcan 1 y el resto por 0. <br />x=linspace(0,10,100); EDU» y=sin(x); EDU» z=(y>=0).*y; %Fijamos los valores negativos a cero EDU» z=z+0.5*(y<0); %Sumamos 0.5 a los valores negativos de sin(x) EDU» z=(x<=8).*z; %Hacemos cero los valores mayores que x=8 EDU» plot(x,z) EDU» xlabel('Eje x'),ylabel('z=f(x)') EDU» title('Una señal discontinua')<br />Comparaciones con desigualdades:<br />Ejemplos.<br />Vamos a diseñar una funcion que nos diga si un numero que introducimos es mayor o menor que 0.<br />>>edit<br />function f(x)<br />if x<0<br />'menor que 0'<br />elseif x>0<br />'mayor que 0'<br />else<br />'el numero es 0'<br />end<br />Guardar el fichero como escero.m<br />Ejecutar para varios numeros, por ejemplo<br />>>escero(3)<br /> Veamos como hacer algo similar con un script utilizando la entrada desde teclado input. <br />>>edit<br />x=input('introduce un numero ')<br />if x<0<br />'menor que 0'<br />elseif x>0<br />'mayor que 0'<br />else<br />'el numero es 0'<br />Ingresar una matriz.<br />Operaciónesconmatrices .<br />Acceder a la posición de la matriz.<br />Cambiar un valor de una posición específica de una matriz.<br />Al igual que sucede con los vectores, es posible cambiar el valor de un solo elemento de la matriz asignándole un nuevo valor. Asimismo, los elementos se pueden utilizar individualmente como variables en expresiones matematicas y funciones. He aquí algunos ejemplos:<br />>>MAT = [3 11 6 5; 4 7 10 2; 13 9 0 8] crea una matriz 3 x 4<br />MAT =<br />3 11 6 5<br />4 7 10 2<br />13 9 0 8<br />>> MAT(3,1) = 20 asigna un nuevo valor al elemento (3,1)<br />MAT = <br /> 3 11 6 5<br /> 4 7 10 2<br />20 9 0 8<br />>>MAT(2,4) – MAT(1,2) utilización de los elementos de la matriz en <br />ans = expresiones matemáticas<br /> -9 <br />>><br />A(3, 2) = 7 coloca un 7 en el elemento (3, 2). <br />A(3,:) = v sustituye los valores de la tercera fila por los de v. <br />A(:, 2) = w sustituye los valores de la segunda columna por los de w. <br />El símbolo de los dos puntos: significa todo (todas las columnas o todas las filas). <br />A([2 3],:) = A([3 2],:) intercambia las filas 2 y 3 de A.<br />Multiplicación de matrices.<br />Determinar una matriz transpuesta.<br />El operador .' calcula automáticamente la transpuesta de una matriz. <br />El operador ' calcula la transpuesta conjugada.<br />Ejemplo: <br />EDU» C=[fila1;3 4 5;fila1([2 1 3])] C = 1 3 5 3 4 5 3 1 5<br />Matriz C: <br />Calcular la transpuesta y la transpuesta conjugada de la matriz C anterior. <br />EDU>>d=C.' d = 1 3 3 3 4 1 5 5 5 EDU>>d=C' d = 1 3 3 3 4 1 5 5 5<br />Se observa que como la matriz C es real los operadores .' y ' dan el mismo resultado.<br />Ejemplo: Calculamos la transpuesta y la transpuesta conjugada de una matriz C con elementos números complejos no reales. <br />EDU» D=[1+i 2 i; -i 1-i 2-3i] D = 1.0000 + 1.0000i 2.0000 0 + 1.0000i 0 - 1.0000i 1.0000 - 1.0000i 2.0000 - 3.0000i EDU» D' ans = 1.0000 - 1.0000i 0 + 1.0000i 2.0000 1.0000 + 1.0000i 0 - 1.0000i 2.0000 + 3.0000i EDU» D.' ans = 1.0000 + 1.0000i 0 - 1.0000i 2.0000 1.0000 - 1.0000i 0 + 1.0000i 2.0000 - 3.0000i<br />También se puede crear un operador que calcule la matriz traspuesta. <br />EDU» for i=1:3 for j=1:3 trB(i,j)=B(j,i); end; end<br />Ejemplos de operaciones con matrices.<br />>>A=[2 1;3 2]<br />A =<br />2 1<br />3 2<br />>>B=[3 4;-1 5]<br />B =<br />3 4<br />-1 5<br />>>A+B<br />ans =<br />5 5<br />2 7<br />Resta:<br />» A=[1 2; 3 4]<br />A = <br />1 2 <br />3 4<br />» A-4 <br />ans = <br />-3 -2 <br />-1 0<br />>> A = [1 2 3; 4], B = [5, 6, 7, 8]<br /> A =<br /> 1 2<br /> 3 4<br />B =<br /> 5 6<br /> 7 8<br />>> A - B<br /> ans =<br /> -4 -4<br /> -4 -4<br />Multiplicación:<br />A=[1 2 3; -2 3 5; 3 4 17]<br />x=[1 -3 7]<br />Ax=A*x<br />Ax =<br />16<br />24<br />110<br />» A=[1 2; 3 4] <br />A = <br />1 2 <br />3 4 <br />» A*2 <br />ans = <br />2 4 <br />6 8<br />División:<br />» A=[1 2], b=[2] <br />A = <br />1 2 <br />b = <br />2 <br />» x=A <br />x = <br />0 <br />1<br />>> A = [1 2 3; 4], B = [5, 6, 7, 8]<br /> A =<br /> 1 2<br /> 3 4<br /> B =<br /> 5 6<br /> 7 8<br />>> A / B<br /> ans =<br /> 0.2000 0.3333<br /> 0.4286 0.5000<br />Transpuesta:<br />>>A=[2 1;3 2]<br />A =<br />2 1<br />3 2<br />>>B=[3 4;-1 5]<br />B =<br />3 4<br />-1 5<br />>>A'<br />ans =<br />2 3<br />2<br />A =[2 4;6 8]; <br />A =<br />2 4 <br />6 8<br />C = A'<br />C =2 6 4 8<br />