Matlab Para Matemáticas en Ingenierías

October 5, 2017 | Author: Hernan Aquino | Category: Window (Computing), Pi, Mathematical Analysis, Physics & Mathematics, Mathematics
Share Embed Donate


Short Description

Descripción: Matlab para matematicas en ingeniería...

Description

Matlab para matemáticas en ingenierías Lucía Agud Albesa Mª Leonor Pla Ferrando

EDITORIAL UNIVERSITAT POLITÈCNICA DE VALÈNCIA

Subido por:

Libros de Ingeniería Química y más

https://www.facebook.com/pages/InterfaseIQ/146073555478947?ref=bookmarks

Si te gusta este libro y tienes la posibilidad, cómpralo para apoyar al autor.

Lucía Agud Albesa Mª Leonor Pla Ferrando

Matlab para matemáticas en ingenierías

EDITORIAL UNIVERSITAT POLITÈCNICA DE VALÈNCIA

Los contenidos de esta publicación han sido revisados por el Departamento de Matemática Aplicada de la Universitat Politécnica de València

Colección Académica

Para referenciar esta publicación utilice la siguiente cita: AGUD ALBESA, L; PLA FERRANDO, Mª L (2015). Matlab para matemáticas en ingenierías. Valencia: Universitat Politècnica de València

Primera edición, 2015 (versión impresa) Primera edición, 2015 (versión electrónica)

© Lucía Agud Albesa Mª Leonor Pla Ferrando © de la presente edición: Editorial Universitat Politècnica de València distribución: Telf.: 963 877 012 / www.lalibreria.upv.es / Ref.: 6270_01_01_01

ISBN: 978-84-9048-421-0 (versión impresa) ISBN: 978-84-9048-422-7 (versión electrónica)

Queda prohibida la reproducción, distribución, comercialización, transformación y, en general, cualquier otra forma de explotación, por cualquier procedimiento, de la totalidad o de cualquier parte de esta obra sin autorización expresa y por escrito de los autores.

Para todas las personas que nos han ofrecido su apoyo día a día.

Contenido 1 Capítulo1EntornodetrabajoMatlab................................................................5 1.1 Introducción.................................................................................................5 1.2 ComandosoinstruccionesenMatlab..........................................................7 1.3 Variablesyformatos....................................................................................8 1.4 Variablessimbólicasynuméricas................................................................9 1.4.1 Salidamatemáticaeleganteporpantalla.............................................12 1.4.2 Generarvectoresovariables................................................................12 1.4.3 GenerarMatrices..................................................................................13

1.5 Funciones...................................................................................................13 1.5.1 Crearfunciones.....................................................................................13

2 Capítulo2GráficosconMatlab........................................................................19 2.1 Introducción...............................................................................................19 2.2 Funcionesdeunavariable,y=f(x)..............................................................20 2.2.1 AlgunosComandospararepresentar...................................................20 2.2.2 Subventanas..........................................................................................26

2.3 Representacióndefuncionessimbólicas...................................................27 2.3.1 Representacióndefuncionescreadascomofichero.m.......................31

2.4 Funcionesatrozos:definiciónyrepresentación.......................................32 2.4.1 Funciónatrozosdesdefichero.m........................................................32 2.4.2 Funciónatrozosvectorizada................................................................33

2.5 Otroscomandosparadibujarcurvasenelplanoycurvasparamétricas: >>ezplot.............................................................................................................35 2.5.1 Curvasenparamétricas.......................................................................37

2.6 Curvasplanasencoordenadaspolares......................................................38

I

2.6.1 Otroscomandosparacurvasencoordenadaspolares.........................39 2.6.2 Cambiosdecoordenadasrectangularesapolares...............................40

2.7 Rellenoderegionesdelplano....................................................................40 2.8 Funcionesdevariasvariables.Superficies.................................................43 2.8.1 Representacióndefuncionesen3D:z=f(x,y).Comandosmásusados.43 2.8.2 Curvasdeniveldeunasuperficie.........................................................44 2.8.3 Curvasenelespacio..............................................................................45 2.8.4 Superficiesderevolución......................................................................46 2.8.5 SuperficiesParamétricas.......................................................................51 2.8.6 Cambiosdecoordenadasacilíndricasyesféricasyviceversa..............54

2.9 Ejercicios....................................................................................................54 3 Capítulo3Operacionesbásicasconfunciones..................................................57 3.1 Polinomios..................................................................................................57 3.1.1 Polinomiointroducidocomovector....................................................57 3.1.2 Polinomiointroducidocomofunción...................................................58

3.2 Dominiosdefuncioneseinecuaciones......................................................61 3.2.1 Comando>>solve..................................................................................61 3.2.2 Comando>>fzero(resoluciónnuméricaoaproximadadeecuaciones).62 3.2.3 Inecuacionesconvaloresabsolutos......................................................64

3.3 Simplificar,factorizar,expandirydemásoperacionesalgebraicas...........65 3.4 Cálculodelímites.......................................................................................67 3.4.1 Límiteslaterales....................................................................................67 3.4.2 Asíntotas...............................................................................................68 3.4.3 Límitesdefuncionesatrozos................................................................72

3.5 NúmerosComplejos...................................................................................74 3.6 Derivadas....................................................................................................79

IV

3.6.1 Funcionesde1variable........................................................................80 3.6.2 Funcionesdevariasvariables...............................................................81

3.7 Integración.................................................................................................81 3.7.1 Integralesimpropias.............................................................................82 3.7.2 Cálculodeáreas....................................................................................84

3.8 Ejercicios....................................................................................................85 4 Capítulo4Funcionesdevariasvariables.Ecuacionesdiferenciales.................89 4.1 Derivacióndefuncionesdevariasvariables..............................................89 4.2 Vectorgradiente........................................................................................91 4.3 MatrizJacobianayJacobiano.....................................................................91 4.4 MatrizHessianayHessiano.......................................................................92 4.5 Puntoscríticosdefuncionesdevariasvariables.......................................95 4.6 Integracióndefuncionesdevariasvariables.............................................99 4.7 Ecuacionesdiferenciales..........................................................................103 4.7.1 SistemasdeEDO’s...............................................................................105 4.7.2 MétodosnuméricosparalaresolucióndeEDO’s...............................106

4.8 Ejercicios..................................................................................................107 5 Capítulo5IntroducciónalaEstadísticaDescriptiva........................................111 5.1 Introducción.............................................................................................111 5.2 Estadísticosyrepresentación...................................................................114 5.2.1 Variablesestadísticas..........................................................................114

5.3 Distribucióndefrecuencias.....................................................................115 5.3.1 Representacionesgráficas..................................................................116 5.3.2 EjemplosconMatlabdedistribucióndefrecuenciasydiagramas.....117

5.4 Parámetrosestadísticosdeposiciónydispersión...................................126 5.4.1 Parámetrosestadísticosdeposición..................................................126

III

5.4.2 Medidasdedispersión........................................................................130

5.5 Ejercicios..................................................................................................135 6 Capítulo6IntroducciónalÁlgebramatricial..........................................139 6.1 IntroducciónalasmatricesenMatlab.....................................................139 6.1.1 Generarmatrices.Operacionesconmatrices.....................................139 6.1.2 Matricesespeciales.............................................................................140 6.1.3 Manipulacióndematrices,submatrices.............................................142 6.1.4 Operacionesconmatrices...................................................................145 6.1.5 OtrasfuncionesimplementadasenMatlab.......................................146

6.2 Clasificaciónyresolucióndesistemasdeecuacioneslineales................151 6.2.1 Clasificacióndesistemasdeecuaciones.............................................151 6.2.2 Resolucióndesistemasusandolafunción:>>inv(A)oAͲ1................154 6.2.3 Resolucióndesistemasusandodivisiónmatricialalaizquierda:A\b154 6.2.4 Resolucióndesistemasusandolafunción:>>solve...........................155 6.2.5 ResolucióndesistemasusandolaRegladeCramer...........................157 6.2.6 Resolucióndesistemasdeecuacionesdependientesdeparámetros162

6.3 Ajustesdedatos(mínimoscuadrados)....................................................164 6.4 Ejercicios..................................................................................................169 7 Referenciasbibliográficas................................................................................173

IV

Capítulo 1 Entorno de trabajo Matlab 1

1.1

Introducción

Este libro consta de dos partes, una dedicada al Álgebra: matrices, determinantes, sistemas de ecuaciones, etc; y otra enfocada al análisis matemático, donde se trabajarán funciones, expresiones algebraicas, ecuaciones, derivadas e integrales. El paquete matemático que se emplea es Matlab, cuyo nombre responde a las siglas de Matrix Laboratory. Al abrir este paquete matemático se observa que la pantalla se subdivide en varias ventanas que se detallan a continuación: -

La ventana Command Window (ventana central) es donde se introducirán los comandos, variables e instrucciones a realizar. Es decir, la ventana donde se trabaja. La ventana Current Folder (izquierda superior) indica el contenido del directorio en el que se está trabajando, y que salvo cambio del mismo, es donde se irá guardando el archivo o las funciones que se hayan creado. La ventana de Workspace (derecha superior) es la ventana donde se indican las variables definidas en la sesión de trabajo o ya guardadas y cargadas de otras sesiones. Para borrar alguna de ellas, se usará el comando >>clear nombredevariable o se selecciona la variable en esa ventana y se suprime.

5

Matlab para Matemáticas en ingenierías

-

La ventana de Command History muestra todos los comandos y órdenes que se han introducido, permitiendo recuperarlos o bien arrastrándolos a la Command Window (no ejecuta), o bien haciendo doble click sobre ellos (ejecuta).

Figura 1.1 Pantalla de Matlab y ventanas

Al ejecutar el comando para representar una función, Matlab abre una nueva ventana de Figure, la cual se puede minimizar y mantener toda la sesión mientras se va actualizando, o bien cerrar. Con el icono del folio o New Script de la barra de herramientas (primero de los iconos de la misma), también se abrirá una nueva ventana donde Matlab permite programar o crear funciones en ficheros con extensión .m. La sesión de trabajo que se está realizando se puede guardar. Para ello, cuando se quiere comenzar a guardar se escribe (sin espacios en blanco en el nombre del fichero): >>diary nombrefichero.txt Y desde ahí hasta que se teclee >>diary off, guarda con el nombre indicado la sesión realizada. Si en cualquier momento se quiere volver a activar dicha sesión, bastará con poner de nuevo >>diary on. Por defecto, se guardará en la ruta que esté especificada en Current Directory. En caso de querer guardar sólo las variables creadas en la sesión, bastará realizarlo con el comando >>save, o bien en File >>Save Workspace. Para recuperarlas en una nueva sesión de trabajo se cargan con el comando >>load y el nombre especificado cuando han sido guardadas.

6

Entorno de trabajo Matlab

1.2

Comandos o instrucciones en Matlab

Los comandos en Matlab se escriben en minúscula y sus argumentos entre paréntesis. Su escritura es en inglés y se ejecutan en cuanto se presiona la tecla enter. Cuando hayan dudas de los argumentos de alguna instrucción, bastará con escribir en la ventana de comandos >>help nombredelcomando, como por ejemplo: >>help gcd (y saldrá la ayuda de Matlab, en este caso para el cálculo del máximo común divisor). Para recuperar alguno de los comandos introducidos, hay dos formas. Una, como ya se ha comentado, desde la ventana deCommand History;la otra, con las teclas de desplazamiento. Las flechas de arriba y abajo, Ĺ, Ļ recuperan los comandos. Mientras que las de izquierda y derecha, ĸ, ĺ, sirven para desplazarse dentro de la línea de edición para poder modificar las expresiones. Para interrumpir el funcionamiento de una instrucción de MATLAB se pulsan las teclas Control y C a la vez y después enter. A veces, esta operación se deberá repetir. La forma de salir de Matlab es o bien cerrar la ventana, o bien con los comandos >>exit, o >>quit. Y como siempre dándole al enter al final de cualquier instrucción para que así se ejecute. Si no se quiere que la ejecución de un comando salga por pantalla, aunque sí que sea ejecutado, bastará con poner después del comando un ;. Al introducir una orden en la ventana Command Window que no quepa toda entera en una misma línea de instrucción, se puede terminar con … y darle a enter. Matlab entiende que no ha terminado la instrucción y sin aparecer el prompt del sistema, >>, permite seguir escribiendo en la línea siguiente, ejecutando luego la instrucción al darle a enter: >> A=[1 2 3 4 5 6 7 8 9;- 1 -2 -3 -4 -5 -6 -7 9 2;zeros(1,9);3*ones(1,9);... 9:-1:1] A= 1

2

3

4

5

6

7

8

9

-1 -2

-3 -4 -5

-6 -7

9

2

0

0

0

0

0

0

0

0

0

3

3

3

3

3

3

3

3

3

9

8

7

6

5

4

3

2

1

7

Matlab para Matemáticas en ingenierías

Si en una línea de instrucción se introduce el símbolo %, cambia el color del texto y automáticamente Matlab entiende que lo que se escribe, hasta pulsar enter, es un comentario y no debe ser ejecutado.

1.3

Variables y formatos

Cuando se ejecuta un comando sin dar nombre a la variable que se obtiene como resultado, Matlab lo asigna a una variable que él tiene en el sistema llamada ans. Nunca se podrá llamar a ninguna variable con este nombre, por tenerlo ya el programa asignado. En cada ejecución sin variable de salida, Matlab irá guardando en ella ese resultado, machacando el resultado anterior. Para guardar en una variable la operación realizada, se asignará con el = >>a=gcd(3,12) a= 3 Automáticamente en la ventana del Workspace aparecerá la variable a e indicará su tipo y dimensión. Para asignar a este nombre de variable otro valor, simplemente o se borra y vuelve a definir o se reasigna con otro valor. Matlab es sensible a mayúsculas y minúsculas; por lo tanto a y A son dos variables distintas. No se puede nombrar a una variable cuyo nombre ya esté siendo utilizado por Matlab o bien en una función o comando, o bien para sus variables internas. Variables ya asignadas por Matlab son, entre otras: i ó j ........................................................ para la unidad imaginaria i=ξെ1 pi ......................................................... para el valor de ߨ ans ......................................................... para las variables de salida que no tengan asignación previa eps ....................................................... como valor es 2.2204e-016.También puede utilizarse como comando (mirar >>help eps en caso de querer más información)

Matlab almacena internamente los números en formato de coma flotante normalizado; es decir, notación científica tal que, la parte entera es 0 y la primera cifra decimal es distinta de cero (0.0003 sería 0.3*e03). Generalmente, por pantalla muestra el resultado con el formato short, 4 dígitos decimales. Si interesa cambiar el formato, se consigue con el comando >>format tipodeformato

8

Entorno de trabajo Matlab

Los formatos que existen en Matlab, y que usaremos generalmente, son: FORMAT SHORT

son 5 dígitos, contando parte entera y decimal.

FORMAT LONG

son 5 dígitos o 7

FORMAT SHORTE

son 5 dígitos en coma flotante normalizada

FORMAT LONGE

son 15 dígitos o 7 en coma flotante normalizada

FORMAT SHORTG

elige el mejor formato con 5 dígitos de salida (adecuado si trabajas en un vector con números de diferentes longitudes)

FORMAT +

saca por pantalla los signos, +, - y espacios en blanco

FORMAT RAT

pone el valor en forma racional.

Si se quiere obtener más información sobre los formatos de Matlab, el programa la proporciona escribiendo >> help format

1.4

Variables simbólicas y numéricas

Cuando en Matlab se quiere trabajar con una variable como tal, ha de definirse como simbólica. En caso contrario Matlab pediría valores para esa variable y daría un mensaje de error. Si se quiere introducir una función de forma que la variable x no tome valores concretos hasta cuando se requiera, existe el comando >>sym, o se declara la variable como simbólica de cualquiera de las dos formas siguientes: >>x=sym(‘x’), o bien >>syms x De la segunda forma, es posible declarar todas las variables simbólicas en una misma sentencia, separadas por espacios en blanco. Dar un valor concreto a esta variable para que deje de ser simbólica, y así conocer el valor numérico del resultado, se realiza con el comando >>double. Ejemplo 1.1 Evaluar la función f(x)=x2-3x+2 en x=2, ʌ/4. >>syms x >>f=x^2-3*x+2; >>subs(f,2) ans= 0

9

Matlab para Matemáticas en ingenierías

>>subs(f,pi/4) ans = pi^2/16 - (3*pi)/4 + 2 >>double(ans) ans = 0.2607

Nota: dependiendo de la versión de Matlab, esta última operación de sustitución puede hacerla de forma directa. Por ejemplo, en la versión R2011a; sin embargo en la versión R2013b hay que hacerlo como se ha indicado en el Ejemplo 1.1. El comando >>subs siempre evalúa funciones de tipo simbólico y el resultado que devuelve es considerado también simbólico. Si se define la función de otra forma, por ejemplo con el comando >>inline, la instrucción >>subs no funciona; debe evaluarse con su nombre directamente o con el comando >>feval. Ejemplo 1.2 Define la función f(x)=x2-3x+2 con inline y evalúala en x=2,0. >> clear x >> g=inline('x^2-3*x+2') g= Inline function: g(x) = x^2-3*x+2 >> g(2) ans = 0 >>feval(g,0) ans= 0

El comando inline será explicado con detalle más adelante. Fracciones de decimales no exactos o valores irracionales Es importante destacar qué ocurre cuando se trabaja con fracciones que no dan lugar a decimales exactos, por ejemplo fracciones del tipo 1/3, o radicales como ξ͵ǡetc. Matlab siempre guarda en memoria los datos en coma flotante, y por lo tanto redondea dichos números. Al efectuar operaciones con ellos, el resultado final puede verse afec10

Entorno de trabajo Matlab

tado de error. Una forma sencilla de solucionarlo es definir estos valores como simbólicos: >>a=sym(1/3)

Ejemplo 1.3 Realizar la siguiente operación 1-

a) b)

૚ ૚ ା ૜ ૛ ૚ ૚ି ૟

y comparar los resultados:

de forma numérica, definiendo como simbólico los números.

Es evidente, sin más que realizar los cálculos, que esta operación debe dar 0: >> 1-(1/3+1/2)/(1-1/6) ans = 1.1102e-16

Sin embargo, Matlab no devuelve el valor 0 aunque sí un valor muy pequeño. Esto se debe al trabajo con decimales y su redondeo. La forma de solucionarlo sería: >> a=sym(1/3);b=sym(1/6) b= 1/6 >> 1-(a+1/2)/(1-b) ans = 0

Otro problema de este estilo que se observa es, por ejemplo, si se quiere calcular algo tan sencillo como sin(pi), cuyo valor es 0. Matlab devuelve un valor muy pequeño, que se puede considerar como 0, pero no lo es. Por lo tanto, a la hora de resolver ecuaciones no detectará estos valores (una solución a esto se verá cuando se expliquen las funciones y el comando para resolver ecuaciones >>solve): >>sin(pi) ans = 1.2246e-16

En este caso, la opción para que evalúe bien vuelve a ser, definir este valor ʌ como simbólico: >>syms pi,sin(pi) ans= 0

11

Matlab para Matemáticas en ingenierías

1.4.1 Salida matemática elegante por pantalla Matlab escribe por pantalla las expresiones matemáticas tal cual deben ser introducidas: >> syms x, >> f = x^3-6*x^2+11*x-6 Sin embargo, mediante el comando >>pretty(expression) las muestra de la forma que uno escribe la expresión matemática: >> pretty(f) 3 2 x - 6 x + 11 x – 6

Otro ejemplo sería: >> syms x, y=1/(x+1) y= 1/(x + 1) >> pretty(y) 1 ----x+1

1.4.2 Generar vectores o variables Para generar una variable que tome valores en un rango elegido existen varias formas. Entre ellas cabe destacar las siguientes: >>x=0:.2:12; .................................. calcula un vector con 0൑ ‫ ݔ‬൑ ͳʹ donde los valores van de 0.2 en 0.2. >>x=linspace(0,12,200); ................. calcula un vector con 0൑ ‫ ݔ‬൑ ͳʹ con 200 valores equiespaciados. >>w=logspace(-1,3); ...................... calcula 50 valores espaciados logarítmicamente entre 10-1 y 103.

Nota: En los comandos linspace y logspace, el tercer argumento de entrada, correspondiente al número de puntos, es opcional. Los valores por defecto son 100 y 50, respectivamente. Asimismo, si no se especifica la distancia entre valores, el paso por defecto es 1. Es importante destacar que las variables así definidas son vectores y, por ello, las operaciones algebraicas que las involucren deben realizarse con un punto delante: ./, .*, .^. De esta forma, Matlab realiza los cálculos elemento a elemento, todo esto se explica con más detalle en el Capítulo 6. 12

Entorno de trabajo Matlab

1.4.3 Generar Matrices Las matrices en Matlab se definen entre corchetes. Los elementos de cada fila pueden ir separados mediante comas o espacios en blanco. Las columnas van indicadas por punto y coma, ;. Los elementos se pueden introducir de forma manual, con comandos o bien indicando el paso que lleva de un elemento al siguiente: >> A=[1:2:9; 0 -2 4 6 -1;ones(1,5)] A= 1 3 5 7 9 0 -2 4 6 -1 1 1 1 1 1 Para saber más sobre matrices y matrices implementadas ya por Matlab, consultar la parte de Álgebra.

1.5

Funciones

Matlab posee muchas funciones implementadas. Para saber cuáles basta teclear >>helpwin y desde ahí acudir a matlab\elfun, donde mostrará las funciones que tiene definidas. Entre las más habituales destacan:       

Funciones seno y coseno: sin(x), cos(x),sind(x),cosd(x) Funciones seno y coseno hiperbólico: sinh(x), cosh(x) Función tangente: tan(x) Funciones arcoseno, arcocoseno y arcotangente: asin(x), acos(x), atan(x) Función exponencial, logaritmo neperiano y logaritmo decimal: exp(x), log(x), log10(x) Función valor absoluto: abs(x) Funciones hiperbólicas: sinh(x),cosh(x),asinh(x), etc.

Nota: Matlab trabaja, salvo definición distinta de la variable, con valores numéricos. Concretamente, para las funciones trigonométricas, si no se declaran previamente como variables simbólicas, entiende que son valores numéricos y, por lo tanto, expresados en radianes. En caso de querer trabajar con valores expresados en grados, deben usarse las funciones: >>sind, >>cosd

1.5.1 Crear funciones Para crear funciones en Matlab existen varias formas. Aquí sólo se va a indicar cómo definirlas y evaluarlas. Para su representación gráfica consultar el tema de gráficos.

13

Matlab para Matemáticas en ingenierías

Se van a considerar dos tipos de funciones que engloban a todas, las simbólicas y las funciones a trozos. Existen varias posibilidades de definir funciones simbólicas. A. Definición de función simbólica usando Anonymus Esta definición se realiza mediante el símbolo @. Cuando las funciones son básicas de Matlab no hace falta indicar el argumento si este es x: >>fun=@atan, ................................ Y para dibujarla >> fplot(fun,[-2,2]) >>fun2=@sin, ................................ Y para dibujarla >> fplot(fun2,[-3,3])

Sin embargo, si el argumento resulta ser composición de funciones o la función posee varios argumentos, entonces debe indicarse al principio, justo al lado de @, tal y como se muestra en el siguiente ejemplo >> y=@(x) x^2+1;

Para evaluarla se puede hacer directamente asignándole un nombre: >> y(1) ans = 2 >> y(0) ans = 1

O también con el comando >>subs >> subs(y,0) ans = 1

B.

Definición de funciones simbólicas mediante el comando >>inline

Los argumentos se introducen entre comillas simples. De esta forma se hallan los valores de la función sin más que calcular su imagen directamente o con el comando >>feval. Se detalla en el ejemplo siguiente

14

Entorno de trabajo Matlab

Ejemplo 1.4 Definir dos funciones cualesquiera con el comando >>inline y evaluarlas de forma distinta: a) >> f=inline('x^2-3*x+2') f= Inline function: f(x) = x^2-3*x+2 >> f(2) ans = 0 b) >> y=inline('x^2+1') y= Inline function: y(x) = x^2+1 >> y(1) ans = 2 >> feval(y,1) ans = 2

Nota: Se recuerda que para evaluar funciones definidas mediante >>inline no se puede usar el comando >>subs. C.

Definición de funciones simbólicas definiendo la variable como simbólica

Para evaluar se utiliza el comando >>subs. >> x=sym('x');p=2*x-5; >> subs(p,1) ans = -3

D.- Definición de función simbólica entre comillas simples En este caso no hace falta declarar la variable. De nuevo es evaluada con el comando >>subs >> y='x^2+1';

15

Matlab para Matemáticas en ingenierías

>> subs(y,0) ans = 1

Para las funciones a trozos se indican aquí la forma vectorizada y mediante archivo .m; es decir, esta segunda desde el Editor de Matlab. Se ilustra mediante un ejemplo. Ejemplo 1.5 Introducir, de varias formas la siguiente función a trozos: ‫ݔ‬൏ͳ ‫ݔ‬ଶǡ ݂ሺ‫ݔ‬ሻ ൌ ൝ ͳǡͳ ൑ ‫ ݔ‬൏ ͵ ‫ ݔ‬൅ ͳǡ ‫ݔ‬൒͵ 1. Desde fichero .m Esta definición debe hacerse desde la ventana del Editor de Matlab, icono de NewScript o más directamente en NewĺFunction. Se crea con ello un archivo .m que, si no se indica nada, se guarda con el nombre que se le haya puesto a la función. Es importante que si posteriormente se modifica, se tenga cuidado de no cambiarle el nombre, ya que la llamada para ser ejecutada se hace por el nombre del fichero. Para evaluarla basta referirse a ella con su nombre. Si se realiza para la función del Ejemplo 1.5, quedaría function y=funcion2(x) if x>inline:

>>f=inline('(x.^2).*(x> t=-5:.1:5;y1=t.^2;subplot(1,2,1),plot(t,y1,'b'),title('Curva a girar'),axis square >> subplot(1,2,2),t=0:.1:5;u=0:.1:2*pi;surf(sqrt(t)'*cos(u),t,sqrt(t)'*sin(u))

Para elegir el color de la superficie con el comando >>surf, es suficiente añadir un último argumento >> surf(sqrt(t)'*cos(u),t'*ones(size(u)),sqrt(t)'*sin(u),’FaceColor’,blue’)

49

Matlab para Matemáticas en ingenierías

Opción 2: parametrizar de otra manera para que no haya radicales, esta vez asignar a la variable y el valor t2, es decir, el parámetro t es ඥ‫ݕ‬. >> t=-5:.1:5;y1=t.^2;subplot(1,2,1),plot(t,y1,'b'),title('Curva a girar'),axis square >> subplot(1,2,2), u=0:.1:2*pi;surf(t'*cos(u),t.^2,t'*sin(u),'FaceColor','blue') Curva a girar 25

5

20

15 0 10 -5 0

5

5

10 0

20 0 -5

0

30

5

-5

Figura 2.33 Curva origen y superficie de revolución obtenida

Opción 3: Con el comando >>cylinder. Este exige darle como argumento la función radio, aunque dibujará siempre en el eje OZ. Es el interesado el que debe saber que, en realidad, esa figura es en torno al eje OY -en este caso-, y en cada ejercicio elegir la rotación de ejes adecuada: >> t=0:.1:5;y=sqrt(t);cylinder(y)

1

0.8

EJE Y

0.6

0.4

0.2

0 3 2 1 0 -1 -2 -3 EJE X

2.5

2

1.5

1

0.5

0

-0.5

EJE Z

Figura 2.34 Ejecución del comando >>cylinder

50

-1

-1.5

-2

-2.5

Gráficos con Matlab

2.8.5 Superficies Paramétricas Una superficie S puede ser representada por una función vectorial r(u,v) = (x, y, z), donde (u,v)Ruv Ž Թ 2.

Las ecuaciones x=x(u,v),

y=y(u,v),

z=z(u,v),

se denominan ecuaciones paramétricas de S. Una superficie S parametrizada por r(u,v) es suave en un punto (u0,v0) si dichas funciones (u,v) son continuas, tienen primeras derivadas parciales continuas en (u0,v0) y existe plano tangente a S en (u0,v0). Si se quiere dibujar superficies expresadas en paramétricas, los comandos a utilizar son: >> ezmesh(x,y,z), >> ezmesh(x,y,z,[a,b]), >>ezmesh(x,y,z,[a,b,c,d]) donde -

x, y, z son expresiones de funciones de dos variables dibujan la superficie de coordenadas paramétricas x=x(u,v), y=y(u,v), z=z(u,v) para (u,v) variando en el cuadrado [-2ʌ,2ʌ]u[-2ʌ,2ʌ] en el primer caso; en el cuadrado [a,b]u[a,b] en el segundo; y en el rectángulo [a,b]u[c,d] en el tercer caso.

Ejemplo: >> ezmesh('u*cos(v)','u*sin(v)','v',[-pi,pi])

4 3 2

z

1 0 -1 -2 -3 -4 4 2 0

1 -2 y

-2 -4

-4

2

3

4

0

-1

-3 x

Figura 2.35 Representación del helicoide

51

Matlab para Matemáticas en ingenierías

También puede ser usado el comando >>mesh, creando previamente una matriz de puntos o definida por el usuario, o con >>meshgrid ya que los argumentos deben ser matrices de puntos (puede verse el ejemplo desarrollado en el tema de funciones de varias variables). Ejemplo 2.23 Sea el semicono de ecuación z2=x2+y2 con z[0,1]. Parametrizar y representar para los valores de z[0,1]. Para realizar la parametrización, considérese que sobre planos paralelos al plano XY se tienen circunferencias con radio variable: x(u,v)= u*cos(v), y(u,v)=u*sin(v), Sustituyendo en la ecuación del cono, se obtiene la variable z que, en este caso, es z(u,v)= u con u[0,1], v[0,2S]. Las expresiones necesarias para representar el semicono son: >> u=linspace(0,1,20);v=linspace(0,2*pi,20); >> [U,V]=meshgrid(u,v); >> X=U.*cos(V);Y=U.*sin(V);Z=U;

1 0.8 0.6 0.4 0.2 0 1 0.5

1 0.5

0

0

-0.5

-0.5 -1

-1

Figura 2.36 Representación del semicono parametrizado

Ejemplo 2.24 Sea el paraboloide de ecuación z=2-x2-y2 con zԹ. Parametrizar y representar el trozo de paraboloide con z[0,2]. Para realizar la parametrización, considérese que sobre planos paralelos al plano XY se tienen circunferencias con radio variable x(u,v)= u*cos(v), y(u,v)=u*sin(v),

52

Gráficos con Matlab

Sustituyendo en la ecuación del paraboloide, se obtiene la variable z que, en este caso, es z(u,v)= 2-u2 donde u [0,1], v[0,2S]. Como del ejemplo anterior ya se tienen valores asignados para u y v, en este caso no hace falta volver a definirlas: >> X=U.*cos(V);Y=U.*sin(V);Z=2-U.^2; >> surf(X,Y,Z);axis([-1 1 -1 1 0 2])

2 1.8 1.6 1.4 1.2 1 1 0.5

1 0.5

0

0

-0.5

-0.5 -1

-1

Figura 2.37 Representación del paraboloide

Ejercicio: Indicar qué órdenes deben darse para representar conjuntamente el semicono y el paraboloide de los ejemplos anteriores y que el resultado final sea la siguiente representación:

2 1.5 1 0.5 0 1 0.5

1 0.5

0

0

-0.5

-0.5 -1

-1

Figura 2.38 Representación conjunta del semicono y paraboloide

53

Matlab para Matemáticas en ingenierías

2.8.6 Cambios de coordenadas a cilíndricas y esféricas y viceversa >>[TH,R,Z] = cart2pol(X,Y,Z) .............. pasa de coordenadas cartesianas a cilíndricas. >>[X,Y,Z] = pol2cart(TH,R,Z) .............. pasa de coordenadas cilíndricas a cartesianas. >>[TH,PHI,R] = cart2sph(X,Y,Z) ......... pasa de coordenadas cartesianas a esféricas. El orden de los argumentos de salida es: TH es el ángulo en sentido contrario a las agujas del reloj en el plano XY, PHI es el ángulo de elevación desde el plano XY y R es el radio. >>[X,Y,Z] = sph2cart(TH,PHI,R) ......... pasa de coordenadas esféricas a cartesianas

2.9

Ejercicios

1.- Representa las siguientes gráficas: a) ݂ሺ‫ݔ‬ሻ ൌ

௫ మ ିଷ௫ାଶ ௫ାଵ

,

௫ మ ିହ௫ାସ

e) ‫݌‬ሺ‫ݔ‬ሻ ൌ ට

௫ మ ିସ௫ାଶ

b) ݃ሺ‫ݔ‬ሻ ൌ ,

௫ య ିଵ ௫ మ ାଶ௫ିଷ

,

௫ మ ିହ௫ାସ

f) ‫ݍ‬ሺ‫ݔ‬ሻ ൌ ට

௫ మ ିଶ௫ାଵ

c) ݄ሺ‫ݔ‬ሻ ൌ  ,

௫ య ାଵ ௫ మ ାଶ௫ିଷ

g) ‫ݎ‬ሺ‫ݔ‬ሻ ൌ ݈݊ ቀ

௫ିଵ ௫ିଶ

,

d) m(x)=log2(x-2),



2.- a) Dibujar en una sola ventana con dos subventanas las funciones y = x2 í 3x – 2, z = x3 í 2x + 1 con x variando entre -5 y 5 a intervalos de 0.02. Marcar con un ’+’ en color rojo el punto (2,1) en ambas gráficas. b) Además de las anteriores, dibujar ahora 4 subventanas dispuestas de dos en dos de forma que en cada una de ellas se representen las funciones anteriores y además, y= -x2 + 3x + 2, z= -x3 + 2x. c) ¿Qué se observa en las gráficas anteriores? ¿Cuáles son los coeficientes directores de los polinomios en cada caso? ¿Qué puede decirse de los límites en el infinito sin necesidad de calcularlos? 3.- Dibujar la superficie z = sin(x) + cos(y), donde x e y toman valores entre -5 y 5 a intervalos de 0.1. 4.- Dibujar la función y = x ‫ כ‬eíx2 con x variando entre -5 y 5 a intervalos de 0.05. 5.- Dibuja la superficie z=‫ି ݁ݔ‬௫

54

మ ି௬ మ

, en el rectángulo [-2,2]u[-2,2].

Gráficos con Matlab ଵ





ሺ௫ିଶሻ

6.- Dibujar en la misma ventana las funciones ‫ ݕ‬ൌ , ‫ ݕ‬ൌ

,‫ݕ‬ൌ



. ¿Qué puede

௫ାଵ

decirse sobre la relación existente entre las tres funciones? 7.- Representar las siguientes funciones a trozos y evaluarlas en distintos valores de cada uno de los trozos. Dibujar y definir alguna de ellas de dos formas distintas: ଵ

a)



ୱ୧୬ሺ௫ሻ

ǡ‫ ݔ‬൏ Ͳ

௫ ௫

f(x)=ቐ ݁ ௫ିଷ ǡͲ ൑ ‫ ݔ‬൑ ͵ , ͵ǡ‫ ݔ‬൐ ͵

ǡ‫ ݔ‬൏ Ͳ

b) g(x)=൞݁ ǡͲ ൑ ‫ ݔ‬൏ ʹ െሺ‫ ݔ‬െ ʹሻଶ ǡʹ ൑ ‫ ݔ‬൑ ͷ

8.- Indicar, desde la representación gráfica, los valores de los límites más importantes de las funciones anteriores: puntos frontera, límites en los infinitos. Realizar analíticamente con Matlab dichos límites. 9.- Representar en coordenadas polares las siguientes curvas: a) r=cos(4ș),

b) r=3,

c) r=4cos(ș),

d) ș=3ʌ/4,



e) r=

ୱ୧୬ሺ஘ሻାୡ୭ୱሺ஘ሻ

10.- Representar las siguientes superficies de revolución a partir de su generatriz: a) Curva z=ln(y) sobre el plano XZ al girar alrededor del eje OZ. b) Curva z2 =4y sobre el plano YZ al girar alrededor del eje OY. 11.- Representar los dominios de las siguientes funciones de dos variables: a) ݂ሺ‫ݔ‬ǡ ‫ݕ‬ሻ ൌ

ට‫ ʹݔ‬൅‫ ʹݕ‬െͶ

‫ݕ‬െ‫ʹݔ‬

,

b) ݂ሺ‫ݔ‬ǡ ‫ݕ‬ሻ ൌ ‫݊ܮ‬

‫ ʹݔ‬൅ʹ‫ ʹݕ‬െͳ͸ ‫ݔ‬െ‫ݕ‬൅ͳ

12.- Calcular en coordenadas polares la ecuación de la Lemniscata de Bernoulli ሺ‫ ݔ‬ଶ ൅ ‫ ݕ‬ଶ ሻଶ െ ሺ‫ ݔ‬ଶ െ ‫ ݕ‬ଶ ሻ ൌ Ͳ. Hacerlo definiendo la función con variables simbólicas y también definiendo la función vía inline. 13.- Representar las siguientes superficies en el intervalo indicado a) paraboloide de ecuación z = 2-x2-y2 con -1” z” 2 b) cono de ecuación x2 +y2- z2 =0 con 1 ”z ” 4 c) cilindro de ecuación x 2  y 2

1 4

con 0 ”z ” 2.

55

Capítulo 3 Operaciones básicas con funciones 3

3.1

Polinomios

Para trabajar con polinomios en Matlab se puede actuar de dos formas, bien introducirlos como vectores, o bien como función. Dependiendo de cómo se trabaje con ellos, los comandos a utilizar son diferentes. 3.1.1 Polinomio introducido como vector En este caso se introducen sólo los coeficientes del polinomio, ordenados desde el de mayor grado hasta el término independiente, y poniendo un 0 cuando el monomio correspondiente no aparezca. Así, aparecen tantos coeficientes como el grado del polinomio. a) Para evaluar se usará el comando >>polyval. Ejemplo 3.1 Introducir el polinomio p=5x4 – x3 +2 x +1 y evaluar en x=0. >> p=[5 -1 0 2 1] >> polyval(p,0) ans = 1

57

Matlab para Matemáticas en ingenierías

b) Si se quiere calcular sus raíces, se empleará el comando >>roots. En el Ejemplo 3.1 como se tiene un polinomio de grado 4 con coeficientes reales, tendrá 4 raíces (tantas como el grado). Pudiendo ser 4 raíces reales, 4 complejas (conjugadas dos a dos) o dos reales y dos complejas (una y su conjugada). Matlab devuelve que para este caso las 4 raíces son complejas y por lo tanto conjugadas dos a dos: >> format rat >> roots(p) ans = 1700/3047 + 367/549i 1700/3047 - 367/549i -234/511 + 137/589i -234/511 - 137/589i c) Para calcular el producto o división de dos polinomios, p y q, introducidos mediante vectores, los comandos en Matlab son >>conv(p,q) y >>deconv(p,q), respectivamente. 3.1.2 Polinomio introducido como función Lo primero será definir la variable x como simbólica y después introducirlo de la forma habitual mediante operaciones: >> x=sym('x'); p=5*x^4-x^3+2*x+1 p= 5*x^4 - x^3 + 2*x + 1 Destacar que si al introducirlo hubiera monomios semejantes, Matlab ya devolverá el polinomio reduciendo esos monomios. a) Para evaluarlo, depende de cómo haya sido introducido. Si se ha hecho como acaba de explicarse: >> subs(p,0) ans = 1 Pero también podría haberse definido como una función inline, directamente, sin declarar x como variable simbólica. En dicho caso para evaluarlo: >> p=inline('5*x^4-x*3+2*x+1') p= Inline function p(x) = 5*x^4-x*3+2*x+1 >> feval(p,0)

58

Operaciones básicas con funciones

ans = 1 también directamente >>p(0) ans= 1 b) Para calcular sus raíces se usará el comando >>solve. Las soluciones complejas las devuelve en formato decimal. Si en el comando solve no se especifica la variable, Matlab entiende que la variable definida es la única variable de la función. Si hubiera varias deberá especificarse cuál de ellas es la que se desea resolver ya que sino Matlab elige siempre la más cercana alfabéticamente a la variable x. Si no se indica nada por defecto Matlab sobreentiende que el usuario resuelve p(x)=0. >> solve(p,x) ans = 0.66848752167174464637516725170716*i + 0.55792579323393509147440680377195 0.55792579323393509147440680377195 - 0.66848752167174464637516725170716*i 0.2325976273176772911514690533212*i - 0.45792579323393509147440680377195 - 0.2325976273176772911514690533212*i - 0.45792579323393509147440680377196

También podría haberse hecho directamente, llamando al polinomio desde el argumento. Obsérvese que en este caso dicho argumento debe ir entre comillas simples: >>solve('5*x^4-x^3+2*x+1') ans = 0.66848752167174464637516725170716*i + 0.55792579323393509147440680377195 0.55792579323393509147440680377195 - 0.66848752167174464637516725170716*i 0.2325976273176772911514690533212*i - 0.45792579323393509147440680377195 - 0.2325976273176772911514690533212*i - 0.45792579323393509147440680377196

Nota: Si se pretende resolver en vez p(x)=4, debe especificarse prestando atención a que el = en Matlab sólo indica asignación. Cuando se desee indicar una igualdad hay que usar el operador lógico de Matlab ==. Es conveniente tener especial cuidado aquí con las versiones de Matlab. Por ejemplo en Matlab R2011a basta poner:

59

Matlab para Matemáticas en ingenierías

>> solve('5*x^4-x^3+2*x+1=4') ans = 0.78652986718776168488859802566479 -0.94832032580079086894804119425066 0.87846082447569315793472841177844*i + 0.18089522930651459202972158429294 0.18089522930651459202972158429294 - 0.87846082447569315793472841177844*i

Pero con la versión Matlab R2013b, entiende todas estas órdenes: -

Variable no simbólica y polinomio simbólico:

>> solve('5*x^4-x^3+2*x+1==4') ans = 0.78652986718776168488859802566479 -0.94832032580079086894804119425066 0.18089522930651459202972158429294 - 0.87846082447569315793472841177844*i 0.18089522930651459202972158429294 + 0.87846082447569315793472841177844*i  >> solve('5*x^4-x^3+2*x+1=4') ans = 0.78652986718776168488859802566479 -0.94832032580079086894804119425066 0.18089522930651459202972158429294 - 0.87846082447569315793472841177844*i 0.18089522930651459202972158429294 + 0.87846082447569315793472841177844*i

-

Variable definida simbólica: aquí sólo admite utilizar ==

>> x=sym('x');solve(p==4,x) ans = 0.78652986718776168488859802566479 -0.94832032580079086894804119425066 0.18089522930651459202972158429294 - 0.87846082447569315793472841177844*i 0.18089522930651459202972158429294 + 0.87846082447569315793472841177844*i

Si dada una ecuación o un polinomio, sólo se busca que saque por pantalla las raíces reales, está la opción: >>solve(5*x^4-x^3+2*x-3, 'Real', true) Si se buscan sólo raíces positivas, pídase: >>syms x positive, solve(5*x^4-x^3+2*x-3) 60

Operaciones básicas con funciones

c) Finalmente, para calcular productos o divisiones de polinomios, se efectúa con las operaciones habituales. El comando >>solve, lo desarrollamos en el párrafo posterior.

3.2

Dominios de funciones e inecuaciones

Para calcular dominios de funciones, es necesario recordar que: a) Si las funciones son polinómicas, su dominio son todos los reales. Dom(f)=Թ. b) Funciones exponenciales, Dom(f)=Թ. c) Funciones racionales: f(x)=

௣ሺ௫ሻ

, con p(x) y q(x) polinomios. Dom(f)={xࣅԹȀ‫ݍ‬ሺ‫ݔ‬ሻ ്

௤ሺ௫ሻ

Ͳሽ ೙

d) Funciones irracionales: f(x)= ඥ݃ሺ‫ݔ‬ሻ. Donde: ‹‡•‹’ƒ”ǣ‫݉݋ܦ‬ሺ݂ሻ ൌ Թ ൜ ‹‡•’ƒ”ǣ‫݉݋ܦ‬ሺ݂ሻ ൌ ሼ‫ݔ‬ԖԹȀ݃ሺ‫ݔ‬ሻ ൒ Ͳሽ e) Funciones logaritmo: f(x)=log(g(x)). Dom(f)= ሼ‫ݔ‬ԖԹȀ݃ሺ‫ݔ‬ሻ ൐ Ͳሽ Por lo tanto, calcular dominios no es más que resolver ecuaciones o inecuaciones. Este proceso en Matlab se ejecuta con el comando >>solve. Para ello, la variable debe ser simbólica o introducir la función entre comillas simples. 3.2.1 Comando >>solve Este comando, que trabaja en simbólico, resuelve tanto ecuaciones, inecuaciones como sistemas. Hay que tener cuidado cuando se quiere resolver un sistema con parámetros, en definirle todas las variables como simbólicas e indicarle quién es el parámetro: syms a u v [Sa,Su,Sv] = solve(a*u^2 + v^2,u - v == 1,a^2 - 5*a + 6) solves the three equations for a, u and v. Mientras que si se pide: syms a u v [Su,Sv] = solve(a*u^2 + v^2 == 0,u - v == 1) regards 'a' as a parameter and solves the two equations for u and v. Nota: También hay que prestar atención y pedir variables de salida cuando se resuelva un sistema con varias variables, ya que Matlab puede devolverlas desordenadas. Esto se corrige imponiendo en la salida el orden de las variables. 61

Matlab para Matemáticas en ingenierías

Si en algún momento al ejecutar este comando no devolviera todas las soluciones de la ecuación sino sólo una de ellas, es conveniente ejecutar la orden: >>solve(ecuación,x,’IgnoreProperties’,true) Nota: Puede ocurrir que al resolver en Matlab una ecuación tan sencilla como sin(x)=0, sólo devuelva una solución de todas las existentes: >> solve(sin(x)) ans = 0 O incluso, si se le pide que saque las raíces positivas, devuelva una de ellas pero no la deseada: >> syms x positive, solve(sin(x)) ans = 2*pi Para solventar este problema existe el comando que se explica a continuación. 3.2.2 Comando >>fzero (resolución numérica o aproximada de ecuaciones) Este hecho, que puede darse con más ecuaciones, se resuelve usando funciones que hallen las raíces de la ecuación que se encuentren más próximas a un número que el usuario decida. Dicha acción la realiza el comando >>fzero. Su argumento debe ser una función simbólica. Como segundo argumento se introduce o bien el punto al que la solución buscada debe acercarse; o bien un intervalo donde se verifique el Teorema de Bolzano;es decir, la función cambie de signo en dicho intervalo y por lo tanto seguro exista solución en ese dominio especificado. Ejemplo 3.2 Para encontrar los puntos de corte de la función seno con el eje OX, es sabido que el valor x=ʌ es uno de dichos puntos. Pero con >>solve no será detectado (por problemas de redondeo y aproximaciones internas de Matlab). Su hallazgo vendrá forzado cuando se busquen las soluciones más próximas, por ejemplo, a x=3, de la siguiente forma: >> fzero('sin(x)',3) ans = 3.1416 También podría haberse definido vía inline o vía Anonymus: >>X = fzero(@sin,3) X= 3.1416

62

Operaciones básicas con funciones

O, de otra forma, si el argumento no es sólo la variable x: >> fzero(@(x)sin(3*x),3) ans = 3.1416 Ejemplo 3.3 Calcula el dominio de f x

x 1 . x 2  5x  6

୶ିଵ

Ha de verificarse que మ ൒ Ͳ. Matlab se encuentra con un inconveniente al pedir ୶ ିହ୶ା଺ que lo haga directamente: >> syms x,solve((x-1)/(x^2-5*x+6)>=0,x) ans = solve([0.0 > solve(x-1>=0,x^2-5*x+6>0) Warning: 2 equations in 1 variables. > In \\izar2\matlab\R2013b\toolbox\symbolic\symbolic\symengine.p>symengine at 56 In mupadengine.mupadengine>mupadengine.evalin at 97 In mupadengine.mupadengine>mupadengine.feval at 150 In solve at 170 ans = Dom::Interval([1], 2) Dom::Interval(3, Inf) Por lo tanto la solución en este primer caso viene dada por: [1,2)‰(3,’) Nota: si se hubiera definido la variable como simbólica, en vez de sólo declararla, saldría directamente (según ordenadores): >> x=sym('x');solve(x-1>=0,x^2-5*x+6>0) 63

Matlab para Matemáticas en ingenierías

ans = Dom::Interval([1], 2) Dom::Interval(3, Inf) Caso II) Cuando ambos son negativos (con denominador distinto de cero): >> solve(x-1mupadengine.feval at 150 In solve at 170 Warning: Explicit solution could not be found. > In solve at 179 ans = [ empty sym ] Por lo tanto, este segundo caso no ocurre nunca. Y la solución final sería: Dom(f)= (Solución del caso I) U (Solución del caso II)= [1,2]‰[3,’) ‰‫[=׎‬1,2] ‰ [3,’)

3.2.3

Inecuaciones con valores absolutos

Matlab no resuelve de golpe inecuaciones con valores absolutos. Se tienen que aplicar las propiedades del valor absoluto con respecto a desigualdades: |x|൑ ܾ ֞ െܾ ൑ ‫ ݔ‬൑ ܾ ֞ ‫߳ݔ‬ሾെܾǡ ܾሿ ‫ݔ‬൒ܾ ȁ‫ݔ‬ȁ ൒ ܾ ֞ ቄ ֞ ‫߳ݔ‬ሺെλǡ െܾሿ ‫ ׫‬ሾܾǡ ൅λሻ ‫ ݔ‬൑ െܾ

Ejemplo 3.4 Resuelve la siguiente inecuación |x2-7x+12|> syms x, solve(abs(x^2-7*x+12)-2, 'Real',true) ans = R_ Es decir, la solución del Caso I es xࣅԹ Caso II: resolver x2-7x+12> solve(x^2-7*x+12> p=(x-1)/(x^2-2*x+1) p= (x -1)/(x^2 - 2*x + 1) >> simplify(p) ans = 1/(x - 1) Otro ejemplo: >> simplify(sin(x)^2+cos(x)^2) ans = 1

65

Matlab para Matemáticas en ingenierías

En ocasiones, hay expresiones que Matlab las simplifica de forma automática. Por ejemplo si se introducen polinomios no reducidos: >> f=x-1+2*x+5 f= 3*x + 4 COMANDO FACTOR: devuelve el polinomio factorizado en los factores más simples posibles. También realiza operaciones devolviendo el resultado factorizado. >> factor((x-1)*(x^2-3*x+2)) ans = (x - 1)^2*(x - 2) COMANDO EXPAND: Devuelve desarrollada la expresión introducida. Muy útil para recordar fórmulas de igualdades notables o de desarrollos trigonométricos. >> expand((x-1)^2) ans = x^2 - 2*x + 1 O también por ejemplo: >> syms x y >> expand(sin(x+y)) ans = cos(x)*sin(y) + cos(y)*sin(x) COMANDO RESIDUE: Descompone una función racional en fracciones simples. Los polinomios deben ser introducidos como vectores. La salida son los coeficientes de las fracciones simples, tomando las raíces en orden decreciente. Es importante indicar que en el caso de tener un denominador q(x) cuyas raíces sean ெ௫ାே que en ocasiones se busca para complejas, no se obtiene la descomposición de ௤ሺ௫ሻ

después integrar. Matlab las trata como raíces o bien simples o bien múltiples, según sea el caso. Si se quiere obtener algo parecido a esta descomposición, podemos aplicar los comandos >>diff(int(‘expresion’)), cuando el denominador es un polinomio de grado 2 con raíces complejas.

66

Operaciones básicas con funciones ࢞ି૚

Ejemplo 3.5 Calcular la descomposición en fracciones simples de ࢞૛ି૞࢞ା૟ >> residue([1 -1], [1 -5 6]) ans = 2.0000 -1.0000 Por lo tanto, la solución sería:

௫ିଵ ௫ మ ିହ௫ା଺



ଶ ௫ିଷ



ଵ ௫ିଶ

Para comprobarlo: >> factor((2/(x-3))-(1/(x-2))) ans = (x - 1)/((x - 2)*(x - 3))

3.4

Cálculo de límites

Para calcular límites Matlab trabaja con variable simbólica, el comando viene dado por >>limit(f,x,punto). Por ejemplo: >> syms x, limit((x-1)/(x^2-5*x+6),x,1) ans = 0 Para calcular límites en el infinito, hay que especificar el argumento inf. En el ejemplo anterior, claramente, el resultado dará 0 ya que el grado del denominador es mayor que el del numerador >> limit((x-1)/(x^2-5*x+6),x,inf) ans = 0 3.4.1 Límites laterales Si se comienza a calcular de forma analítica el siguiente límite, se obtiene como resultado: x 2  5x  4 x o2 x2

lim

2 0

Este resultado indica que primeramente deben calcularse sus límites laterales para ver si existe o no dicho límite - para ello ambos límites laterales deben coincidir-. Matlab lo indicará devolviendo como resultado NaN, es decir, está indicando que ese límite no existe:

67

Matlab para Matemáticas en ingenierías

>>syms x, limit((x^2-5*x+4)/(x-2),x,2) ans = NaN Para ver el por qué no existe, se calculan los límites laterales y se observa que dan resultados distintos. Por lo tanto, el límite no existirá, como bien ha indicado Matlab. El cálculo de los límites laterales se hace especificándolo como tercer argumento en el comando anterior: >>limit(expression,x,punto,’Right’), o bien >>limit(expression,x,punto,’Left’). Estos argumentos también pueden indicarse con minúsculas. >> limit((x^2-5*x+4)/(x-2),x,2,'right') ans = -Inf >> limit((x^2-5*x+4)/(x-2),x,2,'Left') ans = Inf 3.4.2

Asíntotas

El cálculo de las asíntotas de una función no es más que ir hallando los diversos límites en cada caso. a) Asíntotas verticales: la función f(x) tiene una asíntota lim f x f .

vertical en x=a, si

x oa

De hecho, posee A.V. (asíntota vertical) aunque el límite no exista y aunque sólo uno de los límites laterales dé infinito. ξ࢞ା૛

Ejemplo 3.6 Hallar las asíntotas verticales de f(x)= . Representar la función y la ࢞ା૚ asíntota en la misma gráfica. Claramente, el punto a estudiar es x=-1, ya que anula el denominador. Se comenzará hallando la asíntota: >> syms x, y=sqrt(x+2)/(x+1);limit(y,x,-1) ans = NaN

68

Operaciones básicas con funciones

Por lo tanto, se observa que no va a existir el límite. Si se hallan los límites laterales: >> limit(y,x,-1, 'Right') ans = Inf >>limit(y,x,-1, 'Left') ans = -Inf Es decir, existe una A.V. en x=-1. Para dibujar la función y la asíntota en una misma ventana: >> x=-2:0.001:5;y=sqrt(x+2)./(x+1);plot(x,y,'b',[-1 -1],[-10 10],'k--'),axis([-2 5 -10 10]) 10 8 6 4 2 0 -2 -4 -6 -8 -10 -2

-1

0

1

2

3

4

5



Figura 3.1 Gráfico de función con asíntota vertical

Nota: Si se dan valores a la variable x con el comando linspace, unirá con un sólo trazo las dos ramas de las figuras. Para que en principio no salga la gráfica toda unida, defínase la variable como un vector y después indíquese la asíntota de forma gráfica. Si se desea en la gráfica cambiar colores, ejes, poner una leyenda, un título o demás propiedades, recordar que puede ser realizado desde la ventana de la gráfica, o bien en el menú Edit> Properties Figure; o bien clicando en el último icono de dicha ventana y luego con el botón derecho del ratón acceder a más propiedades. b) Asíntotas horizontales: la función f(x) tiene una asíntota horizontal en y=b, si lim f x b . x of

69

Matlab para Matemáticas en ingenierías

Ejemplo 3.7 Calcular las asíntotas de la función ݂ሺ‫ݔ‬ሻ ൌ ción e indicar todas sus asíntotas en la misma gráfica.



. Representar dicha fun-

୪୬ሺ௫ሻ

>> syms x, y=1./log(x);limit(y,x,inf) ans = 0 >> limit(y,x,1) ans = NaN Por lo tanto, este límite no existe. Se comprueba con los límites laterales: >> limit(y,x,1,'right') ans = Inf >> limit(y,x,1,'left') ans = -Inf Así que existe una A.H. en y=0, y una A.V. en x=1. Para representarlas: >> x=0.01:0.0001:6;y=1./log(x);plot(x,y,'b',[1 1], [-5 5],'r--'), axis([0 6 -5 5]),hold on,plot(x,0,'r--') 5 4 3 2 1 0 -1 -2 -3 -4 -5

0

1

2

3

4

5

6



Figura 3.2 Gráfico de función con asíntota horizontal y vertical

 c) Asíntotas oblicuas: Para hallar las asíntotas oblicuas, rectas de la forma y=mx+n, deben verificarse dos propiedades: Ž‹ ݂ሺ‫ݔ‬ሻ ൌ λ

௫՜ஶ

70

Operaciones básicas con funciones

݂ሺ‫ݔ‬ሻ ‫ א‬Թ ‫ ך‬ሼͲሽ ௫՜ஶ ‫ݔ‬

݉ ൌ ݈݅݉

Cuando se verifiquen estas dos propiedades, entonces se calcula n

lim ª¬ f x  mx º¼ . xof

Con lo que la ecuación de la asíntota oblicua (A.O.) será y=mx+n, con lo valores de m y n obtenidos. Observar que, por propia definición, si hay asíntotas horizontales ya no hay oblicuas y viceversa. Ejemplo 3.8 Calcular las asíntotas de la función ࢌሺ࢞ሻ ൌ

࢞૛ ି૚ ࢞ି૛

Se estudia el punto x=2 por anular el denominador, candidato a ser una A.V. >> syms x, limit((x^2-1)/(x-2),x,2,'right') ans = Inf >>limit((x^2-1)/(x-2),x,2,'left') ans = -Inf Efectivamente en x=2 existe una asíntota vertical.

Si se representa la función y la asíntota: >> ezplot((x^2-1)/(x-2),[-5 5]), axis([-5 5 -10 10]), hold on, y=-10:.001:10;plot(2,y,'r--') (x 2 - 1)/(x - 2) 10 8 6 4 2 0 -2 -4 -6 -8 -10 -5

-4

-3

-2

-1

0 x

1

2

3

4

5



En el dibujo ya se ha destacado la A.V. x=2, pero también se observa que existe una asíntota oblicua que va a ser calculada:

71

Matlab para Matemáticas en ingenierías

>> limit((x^2-1)/(x-2),x,inf) ans = Inf

Por lo tanto, se cumple la primera condición para que haya A.O. Hay que verificar ahora si m‫ א‬Թ ‫ ך‬ሼͲሽǣ >> m=limit((x^2-1)/(x*(x-2)),x,inf) m= 1 >> n=limit(((x^2-1)/(x-2))-x,x,inf) n= 2

Concluyendo que existe A.O., en la recta y=x+2. Para representar todo en una sola gráfica: >>syms x, ezplot((x^2-1)/(x-2),[-5 5]), axis([-5 5 -10 15]), hold on ; >>y=-10:.001:15;plot(2,y,'r--') >> hold on,ezplot(x+2,[-5 5]), axis([-5 5 -10 15]) 15

10

5

0

-5

-10 -5

-4

-3

-2

-1

0 x

1

2

3

4

5



Figura 3.3 Gráfico de función con asíntota oblicua y vertical

3.4.3 Límites de funciones a trozos Hasta el momento Matlab no calcula de forma directa límites de funciones a trozos, debe irse seleccionando, en cada caso, el trozo de función en el que se está trabajando según dónde se quiera calcular el límite. Ejemplo 3.9 Dada la función f x

­ x 2  1 ,x  1 ° ,1 d x  3 , averigua si es continua o no. ®1 ° x  1 ,x ! 3 ¯

Primero, observar que el Dom(f)=Թ. Además, como en cada uno de los trozos es continua, por ser funciones polinómicas, basta estudiar qué ocurre en los puntos frontera x=1,3. 72

Operaciones básicas con funciones

Se introduce la función en Matlab, vía inline o vía Anonymus: >> f=inline('(x.^2).*(x>t=[0:0.1:2*pi]';u=[0:.1:3];x=cos(t)*ones(size(u));y=sin(t)*ones(size(u));z=ones(size(t) )*u; mesh(x,y,z),hold on

3

3

2.5

2.5

2

2

1.5

1.5

1

1

0.5

0.5

0 1

0 1

0.5

1

0.5

0.5

0

0

-0.5

-0.5 -1

1 0.5

0

0

-0.5

-0.5 -1

-1

Figura 4.3 Representación usando >>plot

-1

Figura 4.4 Representación usando >>mesh

Se dibujará el plano en la segunda gráfica, por tener una malla más clara (rotando la figura para obtener una mejor visión): >>[x,y]=meshgrid(0:.1:2);z=y;mesh(x,y,z),box on,xlabel('Eje X'),ylabel('Eje Y'),zlabel('Eje Z')

3

2.5

Eje Z

2

1.5

1

0.5 -1 0 -1

0 -0.5

0

0.5

1

1 1.5

2

2 Eje X

Eje Y

2º.- Obtener el dominio de integración Claramente la función a integrar es z=y que es la tapa del sólido. En este ejemplo hay que restringirse al primer cuadrante. Primeramente, se calculará la proyección sobre el plano XY. Todo esto puede hacerse con Matlab, siempre que se tenga en cuenta que, al estar dentro del cilindro x2+y2=1 y en el primer cuadrante, hay que despejar y quedarse con el caso y=ξͳ െ ‫ ݔ‬ଶ , con xࣅ[0,1]. Quedando el dominio de integración:

102

Funciones de varias variables. Ecuaciones diferenciales

>> x=[0:.1:1];y=sqrt(1-x.^2);area(x,y),legend('Dominio de integración'),axis square Desde la ventana gráfica, se puede manipular la figura para insertar cuadro de texto: 1 Dominio de integración

0.9

y=sqrt(1-x 2)

0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0

0

0.2

0.4

0.6

0.8

1

Figura 4.5 Dominio de integración

3º.- Calcular la integral que halla el volumen; es decir:‫׭‬஽ ‫ܣ݀ݕ‬ ଵ

ξଵି௫ మ

Aplicando Fubini se realiza la integral iterada ‫׬‬଴ ‫׬‬଴

‫ ݔ݀ݕ݀ݕ‬:

>> syms x y, V=int(int(y,y,0,sqrt(1-x^2)),x,0,1) V= 1/3 (u3 o u.d.v.)

4.7

Ecuaciones diferenciales

El comando que resuelve ecuaciones diferenciales es: >>dsolve Nota: En el caso de que Matlab no encuentre una solución analítica explícita, el paquete proporciona una solución implícita, dando un mensaje de aviso. Al igual que ocurre con el comando >>solve, el comando >>dsolve también trabaja con argumentos simbólicos. Por defecto toma como variable t, pero la variable puede ser cambiada especificándola >> syms y(t), dsolve(diff(y)==t) ans = t^2/2 + C2

Pueden pedirse condiciones iniciales, teniendo así un P.V.I. (Problema del Valor Inicial):

103

Matlab para Matemáticas en ingenierías

>> syms y(t),dsolve(diff(y)==t, y(0)==1) ans = t^2/2 + 1

Si se desea resolver ecuaciones diferenciales donde los coeficientes sean parámetros, deben declararse dichos parámetros como simbólicos; y en la llamada al comando introducir, como argumento, la nueva variable independiente (por ejemplo, si ahora la variable fuera x): >> syms a y(t), y=dsolve(diff(y)==a*y,y(0)==1,'x') y= exp(a*x) Ejemplo 4.10 Resolver la siguiente ecuación diferencial: yc (x2+1)ey - (2x2+1) (1+e y ) =0. Como, en este caso, la variable independiente es x, puede ejecutarse de dos formas. O bien: >> syms y(t), dsolve(diff(y)==(2*x^2+1)*(1+exp(y))/((x^2+1)*exp(y)),'x') ans = log(exp(C5 + 2*x - atan(x)) - 1) pi*i O bien, indicando desde el principio que y=y(x) con: >> syms y(x), dsolve(diff(y)==(2*x^2+1)*(1+exp(y))/((x^2+1)*exp(y))) ans = log(exp(C5 + 2*x - atan(x)) - 1) pi*i Nota: De forma similar al comando >>solve, puede ocurrir que, al resolver una EDO, se obtenga una sola solución, aun sabiendo que existen más. En ese caso se introducirá un argumento adicional, 'IgnoreAnalyticConstraints', indicando como argumento último: false Ejemplo 4.11 Resuelve la ecuación diferencial

yc t

y t .

Evidentemente, esta ecuación puede ser vista como y’(t)=y2(t). Y resolverla mediante ௗ௬ ିଵ ൌ ‫ ݐ‬൅ ‫ܥ‬. variables separadas de la forma మ ൌ ݀‫ݐ‬. Por lo tanto, la solución sería ௬



Despejando la función y(t), para dar la solución de forma explícita, se tendrá: y(t)=

104

ିଵ ௧ା஼

.

Funciones de varias variables. Ecuaciones diferenciales

Si se resuelve directamente con Matlab, sale un solo resultado, lo que indica que la solución no es correcta del todo pues una EDO sin condiciones iniciales tendrá infinitas soluciones. De hecho, la solución encontrada es la trivial,: >> syms y(t),dsolve(sqrt(diff(y))==y) ans = 0 Por ello se exigirá: >> syms y(t),dsolve(sqrt(diff(y))==y,'IgnoreAnalyticConstraints', false) Warning: The solutions are subject to the following conditions: (C13 + t)*(1/(C13 + t)^2)^(1/2) = -1 > In dsolve at 219 ans = -1/(C13 + t)

4.7.1 Sistemas de EDO’s Este comando también resuelve sistemas de EDO’s sin más que indicarle las ecuaciones a resolver. Eso sí, en últimas versiones de Matlab, se le debe introducir como argumentos de salida tantas funciones solución como se busquen, para obtenerlas todas: ­° f c t  2 f t f Ejemplo 4.12 Resolver el sistema siguiente ® °¯ g c t t  y

Si se escribe directamente la orden, que funcionaba en anteriores versiones: >> syms f(t) g(t), S=dsolve(diff(f)-2*f==t*f,diff(g)==t+g) S= g: [1x1 sym] f: [1x1 sym] Y no devuelve, en verdad, las soluciones buscadas. Por ello, se pedirá en el argumento de salida dos funciones: >> syms f(t) g(t), [Sf,Sg]=dsolve(diff(f)-2*f==t*f,diff(g)==t+g) Sf = C4*exp((t*(t + 4))/2) Sg = exp(t)*(C5 - exp(-t)*(t + 1))

105

Matlab para Matemáticas en ingenierías

4.7.2 Métodos numéricos para la resolución de EDO’s En muchas ocasiones no es posible resolver, de forma analítica, una ecuación diferencial, y es por ello que hay que recurrir al uso de métodos numéricos. Matlab también tiene implementados métodos numéricos para resolver ecuaciones diferenciales. Para ver más información sobre ellos basta ir, con >>helpwin, a la sección de matlab\funfun donde se indicarán los comandos que existen para resolver, de forma numérica, ODE’s (Ordinary Differential Equations). Por ejemplo, si se pretende aplicar los métodos de Runge-Kutta de órdenes 2 o 3, o de órdenes 4 o 5, existen respectivamente los siguientes comandos: >> ode23, >> ode45 >>[x y]=ode45(función, intervalo, condición inicial y0) Salvo que se modifiquen los argumentos (mirar la ayuda de Matlab para este comando, >>help ode23), trabaja con tolerancia relativa, por defecto, de 10-3. Y con una tolerancia absoluta de 10-6, como ocurre con el método >>ode45. Ejemplo 4.13 Resolver el siguiente P.V.I. (Problema del Valor Inicial) mediante algún °­ y c x 0.1 y x  0.02 y método Runge-Kutta, dos métodos al menos: ® . Representar °¯ y 0 0.01 las soluciones obtenidas con dichos métodos. Como primera parte, se va a aplicar un Runge-Kutta de orden 2 o 3. En este caso, la función se define de forma simbólica mediante Anonymus: >> f=@(x,y) 0.1*y-0.02*y.^2; [x y]=ode23(f, [0 130], 0.01); plot(x,y,'LineWidth',3), grid on, axis([0 130 -1 6]) No se muestra por pantalla el vector con las soluciones, ya que interesa más su representación con ambos métodos. 6

5

4

3

2

1

0

-1 0

20

40

60

80

100

120

Figura 4.6 Solución aportada por Runge-Kutta de orden 2,3

106

Funciones de varias variables. Ecuaciones diferenciales

Si ahora se aplicase un Runge-Kutta de órdenes 4 o 5: >> f=@(x,y) 0.1*y-0.02*y.^2; [x y]=ode45(f, [0 130], 0.01); plot(x,y,'LineWidth',3), grid on, axis([0 130 -1 6]) Y la representación gráfica obtenida sería: 6

5

4

3

2

1

0

-1 0

20

40

60

80

100

120

Figura 4.7 Solución aportada por Runge-Kutta de orden 4,5

4.8

Ejercicios

1.- Calcular el vector gradiente de las funciones: a) f(x,y) =

y 2

x  y2

d) f(x,y) = x2 y3

b) f(x,y) = e-x cos y

c) f(x,y)= 2+y2sen(xy)

e) f(x,y) = x4+y4 -4xy+1

f) f x, y

4  x2  y2

2.- Determinar y clasificar los puntos críticos de las siguientes funciones: a) f(x,y)= y x2- 4xy + 3x2+ (1/2) y2 b) f(x,y) = (x+y) 2 -5 c) f(x,y)= x3 -y2 -3x -4y -4 d) f(x,y)= y3+(x+y)2 +6(x-y). e) f(x,y)= y3-2x2-4xy +30 f)

f(x,y)= y3-2x2-4xy +30

g) f(x,y)= x3+x2 y+y2+2y h) f (x,y ) = -5x2-8y2-2xy+42x+ 102 y i)

f x, y

1 2

x 3  6 x 2  4 xy  12 y

107

Matlab para Matemáticas en ingenierías

3.- Considerar la función de dos variables f(x,y) = a(2xy+y2+yx2)+x2(a2-y) donde a ࣅԹ. Sabiendo que en el punto (0,0) la función presenta un punto crítico, aplicar el criterio del Hessiano para clasificar dicho punto en función de los valores de a. 4.- Sea f(x,y) = x3- 3axy +y3 . Determinar y clasificar los puntos críticos de la función según los valores de a Թ. 5.- Sea la función f (x,y)= 1-px2+2y2. Sea la derivada direccional de la función en el o

punto (1, -1) según la dirección del vector v

G G i  j es 3. Obtener el valor de p.

6.- Dada la región D del plano limitada por las rectas y = -3x+6 e y = 0, la parábola y = 4x-x2 y la recta x = 4 y dada la superficie z = x2+y2, calcular el área de la superficie. 7.- Calcular el volumen de una peonza modelizada por las superficies de ecuaciones S1{x2+y2=z2, S2{x2+y2+(z-2)2=4. 8.- Una caja rectangular sin tapa superior debe tener un volumen de 12m3. Determinar las dimensiones de la caja que darán un área mínima. 9.- Sea D la región limitada por las curvas xy=9, y=x, x=9 e y=0. Calcular: a) Área de la región D. b) Volumen limitado inferiormente por la región y superiormente por el plano z=2x+3y. c) Área del plano z=2x+3y situado sobre la región D. 10.- Resolver las ecuaciones diferenciales siguientes: a) (2y-x3)dx=x dy b) ey dx- y x (x-1)dy =0 x  3y c) y c 3x  y 11.- Resolver la ecuación diferencial yc (x2+1)ey - (2x2+1)(1+ey) =0. Obtener la solución particular para la condición inicial y(1) = 1.

108

Funciones de varias variables. Ecuaciones diferenciales 2

12.- Resolver la ecuación diferencial y'

3( 1  x ) e 1 ey

y

. Obtener la solución particular

para la condición inicial (1,0). 13.- Resolver la ecuación diferencial y obtener la solución particular para la condición inicial dada x2  3 y2 ½ ° 4 xy ¾ ° y 1 0 ¿ yc

109

Capítulo 5 Introducción a la Estadística Descriptiva 5

5.1

Introducción

Este capítulo ofrece al lector una introducción a la estadística descriptiva, tanto teórica como en el marco de Matlab. La Estadística es la parte de las Matemáticas que se encarga del estudio de una determinada característica en una población. Recogiendo los datos, organizándolos en tablas, representándolos gráficamente y analizándolos para sacar conclusiones de dicha población. En el caso de la estadística descriptiva, el estudio se realiza sobre la población completa, observando una característica y calculando unos parámetros que proporcionen información global de toda la población. Si se realizase un estudio descriptivo sobre un subconjunto de la población llamado muestra y, posteriormente, se extendiesen los resultados obtenidos a toda la población, se estaría realizando inferencia estadística. Matlab posee toolbox o herramientas para el cálculo de estadísticos, ajuste por rectas de regresión, mínimos cuadrados, distribución de probabilidad, función de densidad. etc.

111

Matlab para Matemáticas en ingenierías

Estas aplicaciones pueden encontrarse en el directorio de stats\statsdemos (dentro del índice de ayuda proporcionado por >>helpwin). Para cálculo de parámetros estadísticos y funciones de probabilidad se puede acudir al directorio de: >>helpwin y dentro de los diferentes temas examinar stats\stats. O directamente, >>help stats. Ahí se encuentran los comandos necesarios para trabajar con funciones de probabilidad ya conocidas, o cálculo de parámetros estadísticos, indicados en el apartado correspondiente a Descriptive Statistics. En las tablas 5.1, 5.2, 5.3 y 5.4 se indica una relación de parámetros estadísticos, órdenes para gráficos, cálculo de probabilidad y función de densidad, tomado de la ayuda que ofrece el programa, aunque las tablas son de elaboración propia. Tabla 5.1 Relación de parámetros estadísticos

PARÁMETROSESTADÍSTICOS corr

Linearorrankcorrelationcoefficient.

corrcoef

Linearcorrelationcoefficient(inMATLABtoolbox).

cov

Covariance(inMATLABtoolbox).

geomean

Geometricmean.

iqr

Interquartilerange.

mad

MedianAbsoluteDeviation.

mean

Sampleaverage(inMATLABtoolbox).

median

50thpercentileofasample(inMATLABtoolbox).

mode

Mode. or most frequent value in a sample (in MATLABtoolbox). Linearorrankpartialcorrelationcoefficient.

partialcorr partialcorri prctile quantile range std

Partial correlation coefficients with internal adjustͲ ments. Percentiles. Quantiles. Range. Standarddeviation(inMATLABtoolbox).

tabulate var

Frequencytable. Variance(inMATLABtoolbox).

112

Introducción a la Estadística Descriptiva Tabla 5.2 Relación de opciones para representar

REPRESENTACIONES hist(X,n)

HistogramadedatosX,nnúmerodeclaseequidistantes

bar(X)

Diagramadebarrasvertical

plot

Polígonodefrecuencias

barh(X)

Diagramadebarrashorizontal

pie(f)

Gráficodesectores, dondefcorrespondealasfrecuencias

En cuanto a trabajar con distribuciones, o bien discretas o bien continuas, Matlab también proporciona comandos al respecto: Tabla 5.3 Distribuciones de probabilidad

DISTRIBUCIONESDEPROBABILIDAD binostat

Binomialmeanandvariance.

nbinstat

Negativebinomialmeanandvariance.

normstat

Normal(Gaussian)meanandvariance.

poisstat

Poissonmeanandvariance.

normcdf

Normal(Gaussian)cumulativedistributionfunction.

poisscdf

Poissoncumulativedistributionfunction.

binocdf

Binomialcumulativedistributionfunction.

Si se quiere trabajar con las funciones de densidad, de nuevo ya están implementadas. Recordar que, una función de densidad para una variable aleatoria, es la función f(x) que verifica: ௕

ܲሾܽ ൑ ܺ ൑ ܾሿ ൌ න ݂ሺ‫ݔ‬ሻ݀‫ݔ‬ ௔ x

Y la función de distribución es, F(x) tal que: F x

³ f u du

f

113

Matlab para Matemáticas en ingenierías

Tabla 5.4 Opciones de funciones de densidad en Matlab

FUNCIONESDEDENSIDAD binopdf

Binomialdensity.

nbinpdf

Negativebinomialdensity.

normpdf

Normal(Gaussian)density.

poisspdf

Poissondensity.

A lo largo de este capítulo se introducirá, primero, la teoría necesaria para trabajar el tema de estadística: definiciones, representaciones, parámetros, etc. Después, mediante ejemplos, se detallará cómo realizar el cálculo de los resultados buscados mediante el uso de los comandos de Matlab.

5.2

Estadísticos y representación

5.2.1 Variables estadísticas El cometido de la Estadística Descriptiva es facilitar el establecimiento de comparaciones entre diferentes grupos. Bien entre grupos distintos, o bien para un mismo grupo en dos instantes de tiempo diferentes. Según sea la naturaleza de los valores, la variable estadística puede clasificarse en: 

Cualitativas. Cuando los valores que toma la variable no son numéricos.



Cuantitativas. Cuando los valores que toma la variable son números reales.

Las variables cuantitativas se clasifican en discretas y continuas. 

Variable cuantitativa discreta: si los posibles valores pertenecen a un conjunto numerable. Por ejemplo, puntuaciones obtenidas por un grupo de alumnos en una asignatura.



Variable cuantitativa continua: si los posibles valores pertenecen a un conjunto no numerable. Como las alturas de un conjunto de alumnos.

Si sólo se tiene en cuenta una característica de la población, se dice que es un estudio unidimensional. Si se estudian dos o más características, es un estudio bidimensional o multidimensional, respectivamente. Población: conjunto de elementos con alguna o algunas características comunes. Muestra: Es un subconjunto de la población.

114

Introducción a la Estadística Descriptiva

Variable estadística: divide la población, de manera natural, en grupos denominados clases (conjuntos disjuntos) al considerar los diversos atributos de la variable. Si se desea conocer con gran exactitud, cómo es cierta característica de una determinada población, la mejor forma será recoger los datos de todos, y cada uno, de los individuos que integran la población completa, analizarlos y extraer las conclusiones correspondientes. El cometido de la Estadística Descriptiva de este capítulo, es un estudio básico en el que se muestra cómo obtener gráficos y parámetros, representativos de una serie de datos unidimensionales.

5.3

Distribución de frecuencias

El conjunto de valores observados, o serie numérica, constituye el material inicial a partir del cual debe llevarse a cabo el análisis estadístico descriptivo. Sí el número de datos no es muy reducido, su interpretación se facilita presentándolos agrupados en una tabla. (a) Cuando la variable estudiada es de tipo discreto, cualitativa o cuantitativa, con un número reducido de valores posibles, los datos pueden sintetizarse en una tabla, en la que para cada valor xi se muestra la frecuencia absoluta ni o número de veces que dicho valor se observa en la muestra. Dado que la frecuencia absoluta depende del número total de observaciones N, la frecuencia relativa no es más que ni/N. -

Frecuencia absoluta, ni, es el número de veces que se repite cada valor de la variable. A la suma de todas las frecuencias absolutas se le llama N = ¦ ni

-

Frecuencia relativa, fi, es el cociente entre la frecuencia absoluta y el número ௡ total de datos: ݂௜ ൌ ೔ ே Frecuencia absoluta acumulada, Ni, indica el número de datos que hay iguales o inferiores al considerado. Frecuencia relativa acumulada, Fi, es el resultado de dividir cada frecuencia absoluta acumulada entre el número total de datos. Informa del tanto por uno de datos que hay igual o inferior al considerado.

i

-

(b) Cuando la variable estudiada es de tipo continuo, como es difícil encontrar valores repetidos, se procede a un agrupamiento de datos en intervalos, por lo general de igual amplitud, que suele denominarse clase. Generalmente la marca de la clase es el punto medio del intervalo. La anchura de la clase se obtendrá dividiendo la diferencia entre el mayor y el menor valor por el número de clases. También se puede hacer de otro modo, estableciendo una anchura de clase determinada. Pero hay que tener en cuenta 115

Matlab para Matemáticas en ingenierías

que, el número de clases resultantes esté comprendido entre 5 y 20, para que la tabla y los gráficos puedan transmitir con facilidad la idea de la distribución de frecuencias. Analizando como antes, pero referido ahora a la marca de la clase: -

Frecuencia absoluta, ni, N = ¦ ni

-

Frecuencia relativa, ݂௜ ൌ ೔ ே Frecuencia absoluta acumulada, Ni Frecuencia relativa acumulada, Fi

i



5.3.1 Representaciones gráficas En el análisis descriptivo tienen mucha utilidad las representaciones gráficas de los datos que se poseen de las variables estadísticas, a partir de los cuales se puede llegar de forma más fácil a conclusiones. Los tipos de gráficos que aquí se destacan son: (1) Diagrama de barras (>>bar(Datos)): rectángulos de igual base, generalmente dispuestos en posición vertical, en el que la altura de cada uno es proporcional a la frecuencia. 10 9 8 7 6 5 4 3 2 1 0

0

5

10

15

20

25

(2) Gráficos de tarta o sectores (>>pie(f)): la superficie total de un círculo se divide en sectores de forma que el área de cada sector es proporcional a la frecuencia de la clase. 4%

4%

8%

8%

13% 21%

17%

13% 13%

116

data1 data2 data3 data4 data5 data6 data7 data8 data9

Introducción a la Estadística Descriptiva

(3) Polígono de frecuencias (>>plot(d)): las ordenadas de las frecuencias absolutas se unen mediante una línea poligonal. 5 4.5 4 3.5 3 2.5 2 1.5 1

2

3

4

5

6

7

8

9

10

(4) Histograma (>>hist(Datos,n)): representación gráfica formada por rectángulos cuyas áreas son proporcionales a las respectivas frecuencias de los intervalos considerados. Si la amplitud de los intervalos es constante, el gráfico se convierte en un diagrama de barras. 5 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0

2

3

4

5

6

7

8

9

10

5.3.2 Ejemplos con Matlab de distribución de frecuencias y diagramas A. Ejemplo Caso Variable discreta Los datos pueden sintetizarse en una tabla, en la que para cada valor xi se muestra la frecuencia absoluta ni. Considérense las puntuaciones obtenidas en una prueba mostradas en la serie de datos siguiente: Datos= {6,4,5,8,5,4,7,4,5,10,9,9,3,8,4,4,6,7,7,8,2,3,6,7} Se pide: 117

Matlab para Matemáticas en ingenierías

a) Ordenarlos, calcular el mínimo y máximo de los datos. b) Obtener una tabla de frecuencias. c) Representar el polígono, histograma y diagramas de barras. Resolución: a) Se introducen los datos definiendo el vector D >> D=[6, 4, 5, 8,5,4,7,4,5,10,9,9,3,8,4,4,6,7,7,8,2,3,6,7] En este apartado hay que: - Ordenar datos >>sort(D); - obtener el mínimo >>min(D); - obtener el Máximo >> max(D) >> D=sort(D) D= Columns 1 through 13 2

3

3

4

4

4

4

4

5

5

5

8

8

8

9

9

10

6

6

Columns 14 through 24 6

7

7

7

7

>>min(D) % devuelve el valor mínimo ans= 2 >> max(D) % devuelve el valor máximo ans= 10 b) Obtener tablas de frecuencias con variable discreta es muy rápido, ya que el nombre de la clase coincide con el valor numérico del dato. Con la orden >>tabulate(D), Matlab devuelve una tabla en la que la primera columna son los valores de d, ordenados de menor a mayor; la segunda columna corresponde a la frecuencia absoluta ni ; y finalmente, la tercera columna muestra la frecuencia relativa fi en %. >> tabulate(D)

118

Introducción a la Estadística Descriptiva

Value

Count Percent

1

0

0.00%

2

1

4.17%

3

2

8.33%

4

5

20.83%

5

3

12.50%

6

3

12.50%

7

4

16.67%

8

3

12.50%

9

2

8.33%

10

1

4.17%

c) Representaciones Al tener variable discreta, el valor numérico coincide con el nombre de la clase. En el valor 1 no hay ningún dato, por tanto se tienen nueve clases. Para obtener el histograma de frecuencias se pide como argumento los datos y el número de clases. En este caso, datos= D, número de clases= 9 >>hist(D,9) % histograma con 9 clases 5 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0

2

3

4

5

6

7

8

9

10

También pueden generarse los diagramas de barras en horizontal y vertical: >>bar(D) % diagrama de barras 119

Matlab para Matemáticas en ingenierías

10 9 8 7 6 5 4 3 2 1 0

0

5

10

15

20

25

>>barh(D) % diagrama de barras horizontal 25

20

15

10

5

0

0

2

4

6

8

10

B. Ejemplo Caso variable continua En este caso, como es difícil encontrar valores repetidos, se procede a un agrupamiento de datos en intervalos, por lo general de igual amplitud, que suele denominarse clase. Generalmente la marca de la clase es el punto medio del intervalo. Considérense los siguientes datos correspondientes a la estatura de 200 personas: 1.83 1.80 1.71 1.80 1.78 1.89 1.72 1.70 1.70 1.70 1.80 1.61 1.71 1.83 1.58 1.76 1.63 1.65 1.71 1.69

120

1.65 1.61 1.89 1.77 1.73 1.66 1.86 1.88 1.69 1.71 1.71 1.72 1.58 1.64 1.66 1.78 1.75 1.71 1.68 1.69 1.68 1.77 1.63 1.75 1.74 1.82 1.78 1.94 1.70 1.69

1.89 1.74 1.78 1.72 1.80 1.77 1.74 1.61 1.54 1.68

1.74 1.76 1.83 1.65 1.83 1.72 1.57 1.83 1.56 1.81 1.71 1.71 1.77 1.83 1.82 1.86 1.60 1.65 1.67 1.79 1.78 1.77 1.83 1.69 1.88 1.75 1.56 1.83 1.88 1.83 1.64 1.90 1.70 1.68 1.62 1.73 1.69 1.87 1.68 1.87 1.68 1.77 1.69 1.94 1.67 1.71 1.69 1.70 1.75 1.85 1.72 1.64 1.64 1.84 1.86 1.78 1.80 1.68 1.77 1.68 1.86 1.76 1.93 1.77 1.72 1.63 1.67 1.83 1.76 1.66 1.79 1.72 1.79 1.59 1.62 1.67 1.81 1.71 1.74 1.68 1.72 1.77 1.69 1.89 1.51 1.60 1.75 1.79 1.69 1.73 1.62 1.91 1.72 1.88 1.69 1.60 1.77 1.74 1.64 1.87 1.71 1.79 1.68 1.67 1.79 1.54 1.73 1.80 1.78 1.65 1.81 1.73 1.85 1.77 1.78 1.58 1.74 1.75 1.81 1.74 1.82 1.50 1.62 1.74 1.80 1.79 1.65 1.69 1.70 1.73 1.75 1.71 1.87 1.70 1.83 1.74 1.79 1.83 1.71 1.88

Introducción a la Estadística Descriptiva

Se desea: a) Introducir la tabla en Matlab, asignarle nombre de variable. b) Pasar de matriz de datos a vector columna. c) Obtener valor mínimo, valor máximo, ordenar. d) Construir una tabla de frecuencias absolutas y relativas. e) A partir de la tabla de frecuencias, ¿cuántas personas miden menos de 1.70?, ¿qué porcentaje de personas su altura se encuentra en el intervalo [1.6, 1.7)?, ¿qué porcentaje de personas tiene un altura inferior a 1.90? f)

Representar los diferentes tipos de gráficos.

Resolución a) Crear la variable: Para no tener que introducir a mano la matriz, selecciónese la matriz anterior y cópiese. Entrar en Matlab y clicar en New variable

Figura 5.1 Imagen de Matlab

Se abre el asistente y se pega, el resultado obtenido se muestra en la figura 5.2

Figura 5.2 Imagen de Matlab con la tabla de datos almacenada en variable

121

Matlab para Matemáticas en ingenierías

Poner el cursor en wokspace/unnamed y clicar el botón derecho para seleccionar rename

Con esto se renombra la variable matriz como x. b) Si se quiere trabajar con un vector columna. Para transformar la matriz en un vector existe el comando >>reshape(A,m,n), donde A es la matriz de la que se parte, m nuevo número de filas y n nuevo número de columnas). En este caso se tienen 200 datos y, por ello, se va a originar un vector de 200 filas >>d=reshape(x,200,1) c) Se obtiene el valor mínimo y máximo >> min(d) ans = 1.5000 >> max(d) ans = 1.9400 d) Para obtener la correspondiente tabla de frecuencias Si se usase >>tabulate(d), devolvería las frecuencias considerando d como variable discreta. Como en este caso la variable es continua, hay que emplear otros comandos. Primero, para ello, se distribuyen los datos en intervalos, los valores van del min= 1.5 al max=1.94, siendo anchura =(max-min)/nº clases= (1.94-1.5)/nº de clases=0.44/nº de clases 122

Introducción a la Estadística Descriptiva

Si se considera 5 clases, anchura=(1.94-1.5)/5=0.088. Para no tener que trabajar con decimales es conveniente tomar anchuras de 0.1 [1.5,1.60[, [1.60,17[, [1.7,1.8[, [1.8,1.9[ , [1.9,2.0[ Los datos se agrupan en 5 grupos, es decir en 5 clases. Marca de la clase, punto medio del intervalo. Clase

Marca de la clase

Intervalo que describe

1

1.55

[1.5, 1.6[

2

1.65

[1.6, 1.7[

3

1.75

[1.7, 1.8[

4

1.85

[1.8, 1.9[

5

1.95

[1.9, 2.0[

El siguiente paso es crear un vector de clase, m, y un vector de frecuencia f. Nota: si a la orden de histograma se le asigna una salida numérica, ya no representa el gráfico del histograma, sino que devuelve el vector fila de frecuencias absolutas. Esto puede comprobarse creando un vector m con los valores que van del mínimo al máximo de 0.1 en 0.1.

Como son vectores filas, para dar lugar a los vectores columna han de transponerse y a continuación, ya se puede construir la tabla de frecuencias. Si se desea una salida con forma de tabla, se tiene el comando >>table(columna1,columna2…), proporcionándole como argumentos las columnas que van a intervenir en la tabla. Con este fin se crea la columna clase y la columna fabs, del siguiente modo:

123

Matlab para Matemáticas en ingenierías

>>clase=m’ >>fabs = f’ %frecuencia absoluta >>table(clase, fabs)

La orden >> cumsum(vector) es la que suma los elementos de vector. Queda por obtener la frecuencia relativa frel, la frecuencia absoluta acumulada fabsacumulada y la frecuencia relativa acumulada frelacumulada, para construir una tabla de frecuencias en la que aparezcan como columnas: clases, frecuencia absoluta, frecuencia absoluta acumulada y frecuencia relativa. Las expresiones introducidas para los cálculos y los resultados se muestran a continuación:

124

Introducción a la Estadística Descriptiva

Y para crear, finalmente, la tabla completa

Con la tabla anterior ya se puede dar respuesta a todas estas cuestiones: Ͳ

¿Cuántas personas miden menos de 1.70?, si uno observa en la tabla son un total de 73.

Ͳ

¿Qué porcentaje de personas tiene su altura en el intervalo [1.6, 1.7)?, mirando en la tabla le corresponde 0.295, que es un 29.5%.

Ͳ

¿Qué porcentaje de personas tiene una altura inferior a 1.90?, se ve que van desde 1.50 hasta 1.90; es decir la suma de frecuencia relativa acumulada corresponde a 0.98, que es un 98%. f) Representación del histograma con la orden >>hist(Datos,clases). En este ejercicio, los datos corresponden a la matriz d y las clases que se han creado anteriormente se han asignado al vector m. Escribiendo la orden indicada se consigue representar el histograma: >>hist(d,m)

125

Matlab para Matemáticas en ingenierías

90 80 70 60 50 40 30 20 10 0 1.5

5.4

1.6

1.7

1.8

1.9

2

PARÁMETROS ESTADÍSTICOS DE POSICIÓN Y DISPERSIÓN

Fundamentalmente, la pauta de variabilidad constatada en un conjunto de observaciones relativas a una variable cuantitativa unidimensional, puede caracterizarse por dos tipos de parámetros que definen, respectivamente, la posición y la dispersión. 5.4.1 PARÁMETROS ESTADÍSTICOS DE POSICIÓN Los parámetros de posición tienen por objetivo proporcionar valores en torno a los cuales se encuentran las observaciones. Entre ellos están: media aritmética, media geométrica, mediana, moda, cuartiles y percentiles. Las expresiones a usar en Matlab son las indicadas en la tabla siguiente. Tabla 5.5 Parámetros estadísticos de posición en Matlab

PARÁMETROSESTADÍSTICOSDEPOSICIÓN mean

Mediaaritmética

median

Mediana

mode

Moda

geomean

Mediageométrica

quantile(X,p) 

Quartiles.

prctile

Percentiles.

126

Introducción a la Estadística Descriptiva

a)

Media aritmética: dado un conjunto de N valores, ^x1 ,x2 ,...,xN ` , de una varia-

ble estadística cuantitativa, el valor medio o media aritmética, ‫ݔ‬ҧ , es la suma de todos los valores dividido por el número total de datos N:

1 ( x1  x2  ....  x N ) N

x

Si se conocen las frecuencias, la media aritmética se obtiene mediante:

¦x f i

Media

Promedio

Media Aritmética

x

i

i 1

N

b) Mediana: la mediana de un conjunto de datos es el valor del dato situado en el centro de la serie de valores, cuando estos están ordenados. En general, si hay N valores, N impar, la mediana correspondería a la posición

N 1 2

.

En el caso de que el número de datos, N, de la serie sea par, la mediana se obtiene como promedio de los dos valores centrales. N 2

N

y

Por tanto, para calcular la mediana

2

1

­ x N 1 ° 2 ° ® xN  xN 1 ° 2 2 °¯ 2

N

impar debe distinguirse si

N

par

el número de datos es par o impar. c) Moda: de un conjunto de datos es el valor que aparece con mayor frecuencia. La moda de una serie estadística es un indicador de posición central. Puede denominarse robusto, porque resulta poco influida por la presencia de algunos valores extremos, digamos anormales, y que en ocasiones provienen de errores en la medición o lectura. Su uso es muy recomendable cuando se trata de variaciones muy discontinuas en una serie. d) Media Geométrica de un conjunto de N valores es la raíz n-ésima de los productos de dichos números. n

MG

n

– xi i 1

n

o

n

–x f

i i

i 1

127

Matlab para Matemáticas en ingenierías

Ejemplo 5.1 Sean los siguientes datos correspondientes a una variable discreta, Datos={6,4,5,8,5,4,7,4,5,10,9,9,3,8,4,4,6,7,7,8,2,3,6,7}. Calcular la media, moda, mediana y media geométrica. Las órdenes a utilizar se pueden consultar en la Tabla 5.1. El vector de datos será >>D=[6 4 5 8 5 4 7 4 5 10 9 9 3 8 4 4 6 7 7 8 2 3 6 7];

Ejemplo 5.2 Considérese la variable continua d cuya tabla de frecuencias puede consultarse en el epígrafe 5.3.2.2. Hallar los valores de media, mediana y moda, introducidas las ordenes referidas a los datos d.

e) Cuartiles: Una vez ordenado el conjunto de los datos de forma creciente, se procede a dividir la cantidad de datos en cuatro partes iguales. Se está pasando a estudiar los denominados cuartiles: - La primera cuarta parte de los elementos es inferior al primer cuartil Q1. Por lo tanto, el primer cuartil indica el valor tal que hay un 25% de los datos inferiores a él.

128

Introducción a la Estadística Descriptiva

- el segundo cuartil Q2 es el elemento que supera al 50% de los valores. Evidentemente, dicho cuartil es la mediana, - el tercer cuartil Q3 es el elemento supera el 75% de los datos. Acudiendo a >>help quantile se puede encontrar la siguiente ayuda y = quantile(x,.50); % the median of x y = quantile(x,[.25 .50 .75]); % the quartiles of x y = quantile(x,3); % another way to get quartiles y = quantile(x,[.025 .25 .50 .75 .975]); % a useful summary of x f) Percentiles: Cuando el conjunto de los datos se divide en 100 partes iguales, se habla de percentiles. El percentil del 10% de un conjunto de datos, será el dato tal que haya un 10% de los datos inferiores a él. Si se busca la ayuda de Matlab sobre la orden percentil >> help prctile Y = prctile(X,P) returns percentiles of the values in X. P is a scalar or a vector of percent values. When X is a vector, Y is the same size as P, and Y(i) contains the P(i)-th percentile. When X is a matrix, the i-th row of Y contains the P(i)-th percentiles of each column of X. For N-D arrays, prctile operates along the first non-singleton dimension. Examples: y = prctile(x,50); % the median of x y = prctile(x,[2.5 25 50 75 97.5]); % a useful summary of x Ejemplo 5.3 Considérese el conjunto de datos D anterior. Calcular los cuartiles 1, 2, 3 y los percentiles del 25%, 50% y 75%. Los resultados obtenidos se muestran a continuación.

129

Matlab para Matemáticas en ingenierías

Ejemplo 5.4 Considérese el conjunto de datos d de variable continua. Calcular los cuartiles 1, 2, 3 y los percentiles del 25%, 50% y 75%. Los resultados obtenidos son los siguientes:

5.4.2 Medidas de dispersión En el apartado anterior se han mostrado diversas formas de establecer un representante de un determinado conjunto de datos o medidas. Otro aspecto muy importante para completar la imagen que uno se forma del conjunto de datos, a partir de los parámetros de posición, es la dispersión. Se entiende que un conjunto de datos tiene poca dispersión si están agrupados en torno al valor medio de ese conjunto de datos. Por el contrario, se dice que la dispersión es alta si hay bastantes datos suficientemente alejado del promedio.

130

Introducción a la Estadística Descriptiva

Entre las medidas de dispersión se encuentran: recorrido o rango, recorrido intercuartílico, desviación absoluta media, desviación estándar y varianza. a) El Recorrido es el parámetro de posición más intuitivo. Para conjuntos pequeños de datos puede ser el más significativo a efectos prácticos. Se define el Recorrido como la diferencia entre el mayor valor observado y el menor valor observado. - ejemplo de variable discreta de las notas: Recorrido =10-2=8 - ejemplo de variable continua de las alturas: Recorrido =1.94-1.5=0.44 En Matlab para calcular el rango puede hacerse mediante la función >> range (datos) o mediante >>max(datos)-min(datos). b) Recorrido intercuartílico: En los casos en que la media no es un indicador adecuado de posición (caso de distribuciones muy asimétricas), la desviación típica no resultará un parámetro adecuado de dispersión. En esos casos se utiliza, a veces, con dicho fin el recorrido o distancia intercuartílica. Para calcularlo analíticamente: Recorrido intercuartílico= diferencia entre el tercer y primer cuartil= Q3-Q1. En Matlab, la orden >>iqr(datos), devuelve directamente el recorrido intercuartílico. Uno de los significados del recorrido intercuartílico es que en un intervalo centrado en la mediana de longitud, se encuentran el 50% de los elementos del conjunto. El intervalo intercuartílico es un indicador robusto de dispersión (resulta poco influido por los valores anómalos). Ejemplo 5.5 Con los datos d de variable del ejemplo anterior, halla el recorrido intercuartílico y el recorrido. -Para calcular el recorrido intercuartílico, basta hallar Q3-Q1. Este valor indica dónde se encuentra acumulado el 50% de la población. Puede ser calculado a partir de los cuartiles o, utilizando directamente la función >>iqr(datos). Los resultados son los mostrados a continuación. >>iqr(D) ans= 3.5000 -Para hallar el recorrido, basta restar al valor máximo de la población el valor mínimo. Otra forma es utilizando la función >> range (datos). Los resultados utilizando ambas opciones son:

131

Matlab para Matemáticas en ingenierías

>> max(D)-min(D) ans = 8 >>range(D) ans = 8 c) Desviación absoluta media: En un conjunto de N datos, de media x , se denomina desviación de cada elemento a su diferencia respecto a la media del conjunto. Se define la desviación absoluta media como el promedio de los valores absolutos de las desviaciones. Las fórmulas que la calculan son: Variable Discreta d)

¦x

i

N

x

,

Variable continua

¦| x

 x | fi

i

i 1

N

Varianza: Se define la varianza como la media de las desviaciones al cuadrado.

Se representa por V

2

V

¦ x  x i

2

2

fi

i 1

N

O bien, si no se tienen los datos agrupados por frecuencias ߪଶ ൌ

ଶ σே ௜ୀଵሺ‫ݔ‬௜ െ ‫ݔ‬ҧ ሻ ܰ

La varianza mide la dispersión de los valores de la variable respecto de la media. Cuanto mayor sea la varianza, menos representativa es la media. e) Desviación estándar: A la raíz cuadrada de la varianza se le denomina Desviación Estándar. Se expresa en las mismas unidades que la media. Variable discreta V

¦( x  x )2 n

¦ x  x i

,

Variable continua V

2

fi

i 1

N

La media puede no resultar un indicador de medida central en aquellas series asimétricas o con valores extremos. Como consecuencia, la desviación estándar tampoco será un parámetro adecuado de dispersión, ya que su cálculo se basa en desviaciones respecto a la media. En esos casos se utiliza el intervalo intercuartílico.

132

Introducción a la Estadística Descriptiva

Un resumen de los parámetros de dispersión con la expresión a introducir en Matlab se puede consultar en la siguiente tabla

EXPRESIÓNMATLAB

PARÁMETROSESTADÍSTICOSDEDISPERSIÓN

range(datos) RecorridooRango iqr(datos) Recorrido cuartílico

máximoͲmínimo Q3ͲQ1

interͲ

mad(datos) Desviaciónmedia

¦x

i

N

Std(datos,1) Desviación estánͲ dardelapoblación V var(datos) Varianza

x

¦| x 

 x | fi N

n

¦( x  x ) n



¦ x  x

2

¦( x  x )

2

fi

i

i 1

V

N

2

V

i

i 1

V

2



¦ x  x i

2

fi

i 1

N



Ejemplo 5.6 Obtener los parámetros de dispersión para el conjunto de datos de variable continua d utilizada en los ejemplos anteriores. El resultado es:

133

Matlab para Matemáticas en ingenierías

f) Coeficiente de variación: También es una medida relativa de dispersión. Determina el grado de dispersión de un conjunto de datos relativo a su media aritmética. Si se ha realizado un estudio estadístico en dos poblaciones diferentes y se quiere comparar la variabilidad de dichas poblaciones, con valores medios muy diferentes, analizar las diferencias entre sus desviaciones típicas no es significativo. La varianza está afectada por los cambios de escala y, por tanto, no es útil para comparar dispersiones entre variables estadísticas con distintas unidades. Por ello, para comparar la dispersión entre muestras o poblaciones, se utiliza el coeficiente de variación CV. El coeficiente de variación se define como la relación entre la desviación típica y la media de la población:

CV

V 100 , se expresa en % x

Este valor, expresado en tantos por uno, siempre está en el intervalo [0,1]. Cuanto más cercano a 0, indica una menor separación de los datos con respecto a la media, y al revés si es cercano a 1. Ejemplo 5.7 La demanda de un detergente en un hipermercado tiene un promedio de 400 paquetes diarios con una desviación típica de 75 paquetes. Este mismo producto en una pequeña tienda de barrio tiene una demanda media de 10 paquetes con una desviación típica de 4 paquetes. ¿En qué establecimiento la demanda es más variable? En este caso se recurre para compararlas al coeficiente de variación de las dos muestras Hipermercado CV=(75/400)*100=18.75 % Pequeña tienda CV=(4/10)*100=40% La demanda es más variable en la pequeña tienda de barrio. Ejemplo 5.8 Dos estudiantes universitarios, A y B, tienen las siguientes calificaciones en las 10 asignaturas que cursan en su carrera: Calificaciones del estudiante A: 8, 7, 10, 9, 8, 7, 8, 10, 9 y 10. Calificaciones del estudiante B: 8, 9, 8, 7, 8, 9, 10, 7, 8 y 10. ¿Qué estudiante tiene menor variabilidad en sus calificaciones? Primero deben definirse los vectores A y B y a continuación, calcular los coeficientes de variación usando directamente Matlab.

134

Introducción a la Estadística Descriptiva

El estudiante A tiene de CV= 12.95% y el estudiante B tiene de CV =12.14%. Por tanto, el estudiante con una menor variabilidad en sus notas es el B.

5.5

Ejercicios

1.- Se considera el número de materias suspensas que constan en el expediente de un grupo de alumnos. Con estos datos se construyó la siguiente distribución de frecuencias: Materias suspensas 0 1 2 3 4 5 6

No de estudiantes 12 14 27 18 9 6 5

a) Generar con Matlab una tabla con clases, frecuencias absolutas, relativas y acumuladas. b) A partir de la tabla indicar: ¿Cuántos estudiantes tienen menos de dos asignaturas suspendidas? ¿qué porcentaje de estudiantes tienen más de 5 materias suspendidas? c) Representar el histograma. d) Calcular la moda, la media, la mediana, la desviación típica y el coeficiente de variación.

135

Matlab para Matemáticas en ingenierías

2.- Calcular el tiempo medio y la mediana de montaje si los tiempos obtenidos han sido: 3.4, 3.5, 2.7, 3.6, 2.8, 2.9, 3.2, 3.5, 2.6, 2.8 horas. 3.- Se considera la siguiente serie de datos x, ordenados de mayor a menor 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 8, 9, 12, 15, 20. Al transcribir los datos se reemplaza, por error, el valor 20 por 0 dando lugar a una nueva serie de datos y. a) Calcular para ambas series de datos, x, y, el valor medio, moda, desviación típica, Q1, Q3 y el recorrido intercuartílico. b) Analizar cuál de los valores calculados muestra mayor robustez como medida de posición, y cuál mayor robustez como medida de dispersión al producirse el error. 4.- Se ha realizado una encuesta en 30 hogares en la que se les pregunta el nº de individuos que conviven en el domicilio habitualmente. Las respuestas obtenidas han sido las siguientes: 4, 4, 1, 3, 5, 3, 2, 4, 1, 6, 2, 3, 4, 5, 5, 6, 2, 3, 3, 2, 2, 1, 8, 3, 5, 3, 4, 7, 2, 3. a) Calcule la distribución de frecuencias de la variable obteniendo las frecuencias absolutas, relativas y sus correspondientes acumuladas. b) ¿Qué proporción de hogares está compuesto por tres o menos personas? ¿Qué proporción de individuos vive en hogares de tres o menos miembros? c) Dibuje el diagrama de frecuencias absolutas y el diagrama de frecuencias acumuladas. d) Agrupar por intervalos de amplitud 2 los valores de la variable. Obtener histograma, tabla de frecuencias, absolutas y relativas. 5.- La tabla siguiente muestra el resultado de una encuesta entre los alumnos de primer curso, analizando el número de suspensos en la primera evaluación : 022403325232434314110411424203130522303051140 323233124231314 a) Construir la tabla de frecuencias. b) Obtener: media, varianza, cuartiles.

136

Introducción a la Estadística Descriptiva

c) Recorrido, recorrido intercuartílico, varianza. 6.- Las estaturas en cm de 40 estudiantes son: 168 176 198 146 191 a) b) c) d) e) f) g) h)

194 188 156 173 175

180 170 168 172 165

162 177 196 177 172

174 166 193 165 180

155 178 199 183 186

179 182 184 170 175

187 174 195 165 158

Construir la tabla de frecuencias con ancho de clase de 5 cm. Construir la tabla de frecuencias con 8 clases. Representar los histogramas de frecuencias. Analizar las diferencias. Calcular la media y la mediana utilizando los datos originales. Buscar la moda y compararla con la media y la mediana. Indicar el primer y tercer cuartil de esta distribución. Indicar el recorrido. Indicar la distancia intercualtílica.

7.- Se ha medido la velocidad de un automóvil durante un viaje de 4 horas, siendo los resultados Km/h Menos de 40 Entre 40 y 50 Entre 50 y 60 Entre 60 y 70 Entre 70 y 80 Entre 80 y 90 Entre 90 y 100 Entre 100 y 120 Entre 120 y 150

minutos 10 20 35 40 50 40 30 10 5

Calcúlese la velocidad media y la desviación típica, teniendo en cuenta las marcas de clase. Representar el histograma. 8.- Sobre un grupo de 25 personas se realizan las siguientes observaciones de sus pesos (en Kg): 58, 42, 51, 54, 43, 42, 49, 56, 58, 57, 59, 63, 58, 66, 70, 72, 71, 69, 70, 68, 64, 60, 54, 49, 71

137

Matlab para Matemáticas en ingenierías

a) Construir una tabla de frecuencias, agrupando los datos en 5 grupos. b) Obtener la tabla de frecuencia absoluta, frecuencia relativa, tomando intervalos de longitud 4kg. c) Representar en un histograma. d) Indicar el peso medio y coeficiente de variación. 9.- El número de unidades defectuosas encontradas en la inspección sistemática de 20 cajas de un lote es: 1, 0, 0, 1, 0, 2, 1, 3, 0, 0, 0, 1, 2, 0, 0, 1, 0, 2, 4, 1 a) Construir una tabla de frecuencias absolutas y frecuencias acumuladas b) Indicar el tanto por ciento de lotes que tienen al menos una defectuosa c) Indicar promedio, moda y mediana de unidades defectuosas por caja. d) Calcular el recorrido y la desviación típica. 10.- Quince estudiantes del grupo A de matemática I obtuvieron las siguientes notas definitivas al final del periodo: 5, 6, 5.5, 9, 4.5, 7, 5.8, 6.5, 8.8, 6, 7, 8, 4 y el grupo B de 20 estudiantes obtuvo en la misma asignatura las siguientes notas: 7.1, 9, 4.6, 7.5, 7.8 ,8.8, 7.8, 4, 4, 5.8, 7.8, 9.2, 5.6, 6, 7, 7.2, 5.6, 5.8, 8, 7.6 El profesor desea averiguar cuál de estos dos grupos es más homogéneo, teniendo en cuenta las notas definitivas obtenidas.

138

6

6.1

Capítulo 6 Introducción al Álgebra matricial

Introducción a las matrices en Matlab

Una de las características de Matlab es que está especialmente diseñado para trabajar con variables vectoriales y matriciales. Este capítulo va a comenzar repasando cómo introducir un vector o una matriz, aunque ya se indicó en capítulos anteriores. Las matrices están formadas por filas (horizontal), y columnas (vertical). Los elementos de las filas están separados por espacios o comas y las columnas por intro o por punto y coma. 6.1.1 Generar matrices. Operaciones con matrices Para las diferentes explicaciones que van a ser usadas en posteriores ejemplos, van a definirse las matrices A y B siguientes, que quedarán almacenadas en el Workspace:

§1 2 3 5· A ¨¨ 3 2 4 1 ¸¸ B ¨6 4 3 2¸ © ¹

§ 4 3 2· ¨ 5 3 0¸ ¨ ¸ ¨2 5 9¸ © ¹

>> A=[1 2 3 5;3 2 4 1;6 4 3 2]

139

Matlab para Matemáticas en ingenierías

>> B=[4 3 2 ;5 3 0 ;2 5 9]

Nota: Para introducir los elementos de una matriz no es necesario hacerlo uno a uno, si se observa que los elementos siguen algún tipo de progresión o ley matemática. Para tal fin puede usarse el operador ‘:’, indicando el primer elemento, el paso (siempre en medio) y el último elemento. Cuando el paso no se indica, se sobreentiende que este es 1. También pueden usarse matrices ya conocidas o implementadas en Matlab. Ejemplo 6.1 Introducir en Matlab la matriz E: ͳ ͳ ‫ܧ‬ൌ൮ ͳ ͳ

͵ ͳ Ͳ ʹ

ͷ ͳ െͳ ͵

͹ ͳ ൲ െʹ Ͷ

>> E=[1:2:7;1:-1:-2;ones(1,4);1:4] E= 1 3 5 7 1 0 -1 -2 1 1 1 1 1 2 3 4 Matlab tiene implementadas expresiones tipo la de ones, que genera una matriz de unos u otras matrices que se verán en la siguiente sección. 6.1.2 Matrices especiales En esta sección se trabajará con las matrices A y B introducidas al principio:

§1 2 3 5· A ¨¨ 3 2 4 1 ¸¸ , B ¨6 4 3 2¸ © ¹

140

§ 4 3 2· ¨ 5 3 0¸ ¨ ¸ ¨2 5 9¸ © ¹

Introducción al álgebra matricial

Todas las matrices sobre las que se va a explicar cómo generarlas en Matlab, se pueden consultar en la Tabla 6.1. Las últimas columnas indican la salida de Matlab y la correspondiente expresión matricial. Dicha tabla es un breve resumen de algunas matrices especiales, definidas ya en Matlab, y la simbología para las operaciones entre matrices: Tabla 6.1 Algunas Matrices especiales en Matlab

MATRIZ

SINTAXIS

EJEMPLO

Identidad

eye(n)

>>eye(2)

§1 0· ¨0 1¸ © ¹

zeros(m,n)

>>zeros(2,3)

§ 0 0 0· ¨ 0 0 0¸ © ¹

ones(m,n)

>>ones(2,1)

§ 1· ¨ 1¸ © ¹

diag([a b,…,n])

>>diag([1,3])

§ 1 0 · ¨ 0 3¸ © ¹

triu(A)

>>triu(A)

§1 2 3 5· ¨0 2 4 1¸ ¨ ¸ ¨0 0 3 2¸ © ¹

tril(A)

>>tril(A)

§1 0 0 0· ¨ 3 2 0 0¸ ¨ ¸ ¨6 4 3 0¸ © ¹

Nula

Unos Diagonal

Triangular superior

Triangular inferior

Salida Matlab

Matriz

Nota: Las matrices nulas y de unos, pueden ser cuadradas (número de filas igual a número de columnas, n=m) o rectangulares. En caso de querer construir cualquiera de ellas cuadrada basta indicar un solo argumento: >> ones(3) ans = 1 1 1 1 1 1 1 1 1

141

Matlab para Matemáticas en ingenierías

Nota: Matlab también permite construir una matriz identidad rectangular (aunque se llama realmente matriz identidad a una matriz cuadrada). En realidad lo que hace es, poner una diagonal de 1’s en una matriz de las dimensiones indicadas: >> eye(3,2) ans = 1

0

0

1

0

0

Nota: Si se introduce la orden >> diag(A), donde A es una matriz, Matlab devuelve el vector columna formado por la diagonal de la matriz argumento. >> diag(A) ans = 1 2 3 >> diag(diag(A)) ans = 1

0

0

0

2

0

0

0

3

6.1.3 Manipulación de matrices, submatrices En ocasiones puede interesar cambiar elementos de una matriz, seleccionar alguna columna o columnas, fila o filas, intercambiar filas, columnas, etc. Para ilustrar de forma más sencilla dichas manipulaciones sobre las matrices A y B definidas anteriormente, las autoras han agrupado todos los resultados en una tabla. El lector puede comprobar cada uno de los casos detallados en la Tabla 6.2., la cual se expone a continuación:

142

Introducción al álgebra matricial Tabla 6.2 Ejemplos de manipulación de matrices I

OPERACIÓN Cambiar el valor numérico del elemento am,n Sustituye los valores de la fila m por el vector v Sustituye los valores de la columna n por el vector w

SINTAXIS A(m,n)=p

A(m,:)=v

EJEMPLO

SALIDA MATLAB

>>A(2,4)=-1

>>A(2,:)=ones(1,4)

A(:;4)=w

>>A(:,4)=zeros(3,1)

A([fi,fj],:)=A([fij,fi],:)

>>A([2,3],:)=A([3,2],:)

A(:,[ck;cl])=A(:,[cl;ck])

>>A(:,[1;2])=A(:,[2;1])

A(f1 : fn, : )

>>A(1:3,:)

Intercambiar filas Fila fi por fj

Intercambiar columnas columna ck por cl Submatriz de A formada por las filas entre f1 y fn Submatriz de A con elementos consecutivos de las filas y columnas Submatriz todas las filas de A y las columnas de la ck a la cl

A(f1 : f2, c1 : c2)

A( : , ck: cl)

>>A(1 : 2, 3 : 4)

>>A( : , 2 : 3)

143

Matlab para Matemáticas en ingenierías Tabla 6.3 Ejemplos de manipulación de matrices II

OPERACIÓN Submatriz de A al extraer filas y columnas no consecutivas

Añadir a una matriz una fila

SINTAXIS

EJEMPLO

A([f1 fk],[c1,c8,cn])

>>A([1 3],[1,3,4])

al final

>>F=

[A;F]

ones(1,4);Af=[A;F]

al principio

>>F=

[F;A]

ones(1,4);fA=[F;A]

entre las fila fi y fi+1

>>H=

SALIDA MATLAB

[A(1:2,:);F;A(3,:)]

[A(1:fi:);F;A(fi+1:f m:)]

Añadir a una matriz una columna

al final

>>C=

[C A]

ones(3,1);cA=[C A]

al principio

>>C=

[A C]

ones(3,1); Ac=[A C]

Entre ck y cck+1

>>J= [A(:,1:2) C A(:,3:4)]

[A(:,1:ck) A(:,ck+1:cn)]

C

Nota: todos los cambios se hacen partiendo de la matriz A introducida.

144

Introducción al álgebra matricial

6.1.4 Operaciones con matrices Las operaciones que pueden realizarse con matrices son: suma de matrices, producto de un escalar por una matriz y producto de matrices. Matlab permite realizar las operaciones habituales del álgebra, algunos ejemplos pueden consultarse en la tabla 6.4. También pueden realizarse operaciones sobre elementos de una matriz o entre elementos de matrices. Los ejemplos correspondientes pueden consultarse en la tabla 6.5. Tabla 6.4 Operaciones algebraicas con matrices.

OPERACIONES

Tipo de operador

SINTAXIS

suma (+) o resta (-)

>>A+ones(3,4)

mismo (mun)

EJEMPLO

tamaño

Producto (*)

>>B*A

(mun)(nup)

Potencias (^) Operaciones algebraicas con matrices

>>B^2

sólo matrices cuadradas

Matriz traspuesta

>>A’

Matriz Inversa

>>A^-1

Tamaño nun

No es cuadrada(3u4) >>B^-1 Cuadrada(3u3)

145

Matlab para Matemáticas en ingenierías

Para aplicar operaciones entre elementos de matrices se requiere que las matrices tengan el mismo tamaño. Tabla 6.5 Operaciones elemento a elemento

OPERACIÓN

SINTAXIS

Producto de componentes

>>A.*zeros(3,4)

Cuadrado de componentes

>>A.^2

División de componentes

>>A./A

Matriz elevada a matriz

>>A.^A

EJEMPLO

6.1.5 Otras funciones implementadas en Matlab Matlab tiene entre sus herramientas obtener la traza, el determinante de una matriz, hallar su tamaño, redimensionar una matriz, etc. Todas ellas se muestran en la tabla 6.6. Los ejemplos se han realizado sobre las matrices A o B, introducidas al principio del capítulo.

§1 2 3 5· A ¨¨ 3 2 4 1 ¸¸ , B ¨6 4 3 2¸ © ¹

§ 4 3 2· ¨ 5 3 0¸ ¨ ¸ ¨2 5 9¸ © ¹

Si queremos obtener el rango de las matrices usamos el comando >>rank >>rank(A) ans 3

146

Introducción al álgebra matricial Tabla 6.6 Más funciones de Matlab

OBJETIVO

SINTAXIS

SALIDA DE MATLAB

>>A( : )

Cambia de matriz a vector

Tamaño matriz

de

la

Redimensiona una matriz

>>size(A)

>>reshape(A, 4, 3)

A (m u n) en otra de tamaño pu q

Determinante

>>det(B)

ans= 11.0000

Traza

>>trace(B)

Suma de los elementos de la diagonal Forma Escalonada reducida de una matriz

>>rref(A)

147

Matlab para Matemáticas en ingenierías

También es posible voltear las matrices como se muestra en la siguiente tabla Tabla 6.7 Uso del comando flip

OBJETIVO

voltear los elementos de matriz

SALIDA DE MATLAB

vector o

>>flip >>flip([1 2 3 4]) >>flip([1; 2; 3 ;4]) >>flip (B)

voltear de izquierda a derecha fliplr

voltear de arriba a bajo flipud

Nota: El comando >>flip(A) puede aplicarse tanto a matrices, como a vectores columna o fila, actuando de diversa forma según sea el argumento de entrada. Así: a) Si A es una matriz, >>flip(A) devuelve otra matriz de las mismas dimensiones recorrida de abajo a arriba:

148

Introducción al álgebra matricial

>> A=[1 2 3 5;3 2 4 1;6 4 3 2] A= 1 3 6

2 2 4

3 4 3

5 1 2

3 4 3

2 1 5

>> flip(A) ans = 6 3 1

4 2 2

b) Si A es un vector fila, como no puede recorrerlo de abajo a arriba, devuelve el vector recorrido de izquierda a derecha. Es decir, en este caso hace lo mismo que el comando >>fliplr(A): >> C=[ 1 2 3 4 5] C= 1 2 3 >> flip(C)

4

5

2

1

2

1

ans = 5 4 3 >> fliplr(C) ans = 5 4

3

c) Si A es un vector columna, de nuevo lo devuelve recorrido de abajo a arriba. En este caso coincide con el comando >>flipud(A) >> D=[1;2;3;4;5] D= 1 2 3 4 5

149

Matlab para Matemáticas en ingenierías

>> flip(D) ans = 5 4 3 2 1 >> flipud(D) ans = 5 4 3 2 1 Es decir, el comando >>flip actúa tanto sea el argumento de entrada matriz o vector, haciendo la operación adecuada en cada caso. Sin embargo, cuando se usen los comandos >>fliplr y >>flipud, si no pueden efectuar su acción sobre la matriz introducida, la devolverán tal cual: >> fliplr(D)

%recordemos que D es vector columna

ans = 1 2 3 4 5 >> flipud(C)

%recordemos que C es vector fila

ans = 1

2

3

4

5

Nota: El comando >>fliplr se utiliza también para rellenar áreas (consultar ejemplos del Capítulo de gráficos)

150

Introducción al álgebra matricial

6.2

Clasificación y resolución de sistemas de ecuaciones lineales

Un sistema lineal de m ecuaciones y n incógnitas x1, x2, ..., xn es el conjunto de m igualdades:

a11 x1  a12 x2  "

 a1n xn

a21 x1  a22 x2  "  a2n xn #

#

am1 x1  am 2

" # x 2  "  a m n xn

b1 ½ b2 °° ¾ # ° bm °¿

El sistema de ecuaciones lineales queda determinado cuando se conozca la matriz que forman sus coeficientes y sus términos independientes, situados en la misma posición relativa que ocupaban en el sistema. Denominación de matrices asociadas a un sistema Matriz de coeficientes

§ a11 ¨a A ¨ 21 # ¨a © m1

a12 " a1n a22 " a2 n # # am 2 " amn

Matriz de términos independientes

§ b1 · b b ¨¨ 2 ¸¸ # ¨b ¸ © m¹

· ¸ ¸ ¸ ¹

Matriz ampliada

§ a11 ¨a A b ¨ 21 # ¨a © m1

a12 " a1n b1 · a22 " a2 n b2 ¸ # # ¸ am 2 " amn bm ¸¹

El sistema se escribe matricialmente como: AX=b

§ ¨ ¨ ¨ ¨ ©

a11 a12 " a1 n a 21 # am 1

6.2.1

· ¸ a 22 " a 2 n ¸ ¸ # # ¸ am 2 " amn ¹

§ ¨ ¨ ¨ ¨ ©

x1 ·

¸ x2 ¸= # ¸ ¸ xn ¹

§ b1 · ¨b ¸ ¨ 2¸ ¨# ¸ ¨ ¸ © bm ¹

Clasificación de sistemas de ecuaciones

Dada una matriz A, se denomina rango de A, y se escribe rg(A), al número de unos principales que aparecen en cualquier forma escalonada de la matriz A. Clasificación de sistemas en función del rango (Rouché-Frobenius) En la siguiente tabla, n denotará el número de incógnitas del sistema a clasificar, tal y como se indica en las notaciones empleadas en párrafos superiores.

151

Matlab para Matemáticas en ingenierías

CRITERIO rg (A)< rg (A|b)

CLASIFICACIÓN Sistema Incompatible

rg (A)= rg (A|b)=n

Sistema Compatible Determinado

rg (A)= rg (A|b)>rank(A). Se conocen diversos procedimientos para clasificar y resolver sistemas de ecuaciones. Aunque hallando directamente los rangos de las matrices A, y la matriz ampliada, A|b, (>>rank(A), rank(Ab)) pueden ser clasificados según la tabla anterior. Clasificar sistemas usando la función >>rref >> rref(A)

devuelve la forma escalonada reducida de la matriz A

Ejemplo 6.2 Clasificar los sistemas de ecuaciones lineales siguientes con el comando >>rref x (a) x x x (b) 2 x

y y y

y 4 y 2 x 3 y

z z z z 2 z 2 z

x 4 y  z (c) 3x  y 2 z 2 x 5 y  z

1½ ° 1¾ 1°¿ 1½ ° 2¾ 2 °¿ 3½ ° 1¾ 1°¿

Primero, se introducen las matrices de coeficientes y las de términos independientes para construir la matriz ampliada de cada apartado.

152

Introducción al álgebra matricial

Una vez obtenida la matriz escalonada reducida, se procede a clasificar y resolver el sistema para cada caso. Las soluciones de cada sistema se han volcado en la tabla 6.8, que se muestra a continuación: Tabla 6.8 Soluciones de los sistemas y clasificación

>>rank(A)=3

>>rank(B)=2

>>rank(C)=2

>>rank([A,b1])=3

>>rank([B,b2])=2

>>rank([B,b3])=3

SCI

SI

x+z=1,y=1, zԹ

No tiene solución

SCD x=1,y=1,z=1

Es evidente que los rangos se podrían haber calculado directamente con el comando >>rank, pero no era ese el objetivo de este ejemplo. Para resolver los sistemas, basta partir de la forma escalonada reducida e ir haciendo sustitución regresiva; es decir, despejar de la última ecuación obtenida la variable que queda aislada e ir sustituyendo en las ecuaciones anteriores.

153

Matlab para Matemáticas en ingenierías

6.2.2 Resolución de sistemas usando la función: >>inv(A) o A-1 Dado un sistema de ecuaciones escrito matricialmente como AX=b, siempre que exista la matriz inversa de A (det(A)0), la solución del sistema viene dada por la expresión X= A-1 b. Nota: Únicamente se puede recurrir a la función >>inv(A) si la matriz de coeficientes es invertible, es decir, si el determinante es no nulo. Pero en ocasiones, aun siendo la matriz invertible, si posee un valor del determinante muy próximo a cero, Matlab puede interpretarlo como nulo y no permitir calcular su inversa. Por lo tanto, para estos casos deberá aplicarse otro método. Si se calculan los determinantes para cada sistema propuesto, a partir del resultado se concluye

Tiene inversa

No tiene inversa

(valor próximo a cero) No tiene inversa

x=1,y=1,z=1 6.2.3 Resolución de sistemas usando división matricial a la izquierda: A\b Aplicando esta operación para resolver el sistema AX=b1 del ejemplo anterior, se tendrá: >> A\b1 % devuelve la misma solución que con el cálculo de la inversa ans = 1 1 1

154

Introducción al álgebra matricial

Nota: de nuevo este método sirve solo cuando los sistemas son compatibles determinados. 6.2.4 Resolución de sistemas usando la función: >>solve La función >>solve implementada en Matlab resuelve ecuaciones y sistemas de ecuaciones lineales (ya explicado este comando en la parte de Análisis en el Capítulo de Operaciones básicas). Recordar que >>solve trabaja con variables simbólicas, así que o previamente se declaran como simbólicas, o bien los argumentos se escriben con comillas simples. La resolución se muestra en la tabla 6.6. También se puede acceder a la ayuda que ofrece el propio programa: >>help doc solve

x  y La resolución del sistema (a) x  y x y

z z z

1½ ° 1¾ del Ejemplo 6.2 mediante solve 1°¿ x= 1

>>[x,y,z]=solve('-x+y+z=1','xy+z=1','x+y-z=1')

y= 1 z=

SCD

1

La solución es única y el sistema se clasifica como Sistema Compatible Determinado.

155

Matlab para Matemáticas en ingenierías

x  y z Uso de solve para resolver el sistema (b) 2 x 4 y 2 z 2 x  3 y 2 z

1½ ° 2 ¾ del Ejemplo 6.2 2 °¿

>> [x,y,z]=solve('x+y+z=1','2*x+4*y+2*z= 2','2*x+3*y+2*z=2') >> [x,y,z]=solve('x+y+z=1','2+x+4*y+2*z= 2','2*x+3*y+2*z=2')

Warning: The solutions are parametrized by the symbols: z1 = C_ > In solve at 190 x= 1 - z1 y= 0 z= z1

SCI

Nota: En caso de sistema compatible indeterminado el programa avisa con un mensaje indicando el parámetro. x 4 y  z Resolución del sistema (c) 3x  y 2 z 2 x 5 y  z

3½ ° 1 ¾ del Ejemplo 6.2. 1°¿

Warning:Explicit solution could not be found.

> In solve at 179 >>[x,y,z]=solve('x+4*y+z=3','3*xy+2*z=1','2*x+-5*y+z=-1')

x=

[ empty sym ] y= []

SI

z= []

156

Introducción al álgebra matricial

6.2.5 Resolución de sistemas usando la Regla de Cramer Para resolver sistemas de n ecuaciones con n incógnitas compatibles determinados, es conocida la Regla de Cramer donde, dado el siguiente sistema cuadrado: a11 x1  a12 x2  "  a1n xn a21 x1  a22 x2  "  a2 n xn #

#

"

#

an1 x1  an 2 x2  "  ann xn

b1 ½ b2 °° ¾ # ° bn °¿

puede ser resuelto mediante: b1

a12 " a1n

b2 a22 " a2n # x1

#

a11 b1 " a1n

a11

a12 " b1

a21 b2 " a2n

a21

a22 " b2

% #

#

# % # bn " ann ,} a12 " a1n

# # % # a n1 an 2 " bn a11 a12 " a1n

bn an 2 " ann , x2 a11 a12 " a1n

a n1 a11

a21 a22 " a2 n

a21 a22 " a2n

a21 a22 " a2n

# # % # an1 an 2 " ann

# # % # an1 an 2 " ann

#

Es decir, en general

xi

, x2

a n1

a11

a12

} b1i

a1i 1 } a1n

a21

a22

} b2i

a2i 1 } a2 n

#

#

#

#

an1 an 2 } bni

| A|

#

#

# % # an 2 " ann

#

ani 1 } ann

x1  x2 + x3 =1 ½ ° Ejemplo 6.3 Resolver el siguiente sistema mediante Cramer: x1  x2  x3 =1 ¾ 2 x1  x2  x3 =1 °¿

>> A=[1 1 1;1 -1 1;2 1 1],b=[1;1;1],Ab=[A b] A= 1

1

1

1

-1

1

2

1

1

157

Matlab para Matemáticas en ingenierías

b= 1 1 1 Ab = 1

1

1

1

1

-1

1

1

2

1

1

1

>> rank(A) %primero se comprueba mediante rangos que el sistema es SCD ans = 3 >> rank(Ab) ans = 3 Por lo tanto, el sistema es COMPATIBLE DETERMINADO, y puede ser resuelto usando la Regla de Cramer. Así: >> x1=det([b A(:,2) A(:,3)])/det(A),x2=det([A(:,1) b A(:,3)])/det(A),x3=det([ A(:,1) A(:,2) b])/det(A) x1 = 0 x2 = 0 x3 = 1 O bien, también puede escribirse: >> x=[det([b A(:,2) A(:,3)])/det(A),det([A(:,1) b A(:,3)])/det(A),det([A(:,1) A(:,2) b])/det(A)] x= 0

158

0

1

Introducción al álgebra matricial

x

Programando Cramer:

Para no ir poniendo en cada caso la matriz de coeficientes en la que se reemplaza el vector de los términos independientes y así aplicar Cramer, se puede programar el método en Matlab. Debe hacerse desde el Editor de Matlab y usando sentencias de programación. Los bucles en Matlab se realizan a través del comando for o while y las condiciones mediante la estructura if. Para ir al editor, bastará seleccionar en el menú la opción New Script:

Figura 6.1 Cómo acceder al editor de Matlab

Una vez abierta la ventana del Editor

Figura 6.2 Editor de Matlab

159

Matlab para Matemáticas en ingenierías

ya puede escribirse en él. Los ficheros creados tendrán extensión .m y reciben el nombre con el que se guarda el fichero. Asegurarse de que el nombre del fichero coincida con el de la función o instrucción que se crea (es el nombre que Matlab, además, le pone por defecto). Este fichero en cuanto es guardado aparecerá en la ventana de Current Folder, siempre que esté seleccionada la ruta adecuada para poderlo ejecutar:

Figura 6.3 Acceso desde Current Folder a una función

Las autoras han creado para su asignatura una función que aplica la regla de Cramer (se llamará cramer). Aunque no se adjunta aquí dicha función, sí se expondrán ejemplos de su uso para ilustrar Cramer más ampliamente, e iniciarse un poco con el tema de programación. Una función se crea directamente, siempre que conozcamos su estructura, o bien clicando en el icono desplegable de New desde el Editor, y ahí seleccionando function. Para poder usarla posteriormente, en la sesión de trabajo, debe estar cargada y tener la ruta donde está almacenada en Matlab. Si se duda acerca de lo que hace o de los argumentos de entrada, teclear en la Command Window: >> help cramer Este programa calcula la solución de un sistema de n ecuaciones con n incógnitas que sea SCD mediante la Regla de Cramer. Los argumentos de entrada de esta función deben ser: 1.- en primer lugar la matriz de los coeficientes 2.- en segundo lugar el vector columna de los términos

160

Introducción al álgebra matricial

independientes. El argumento de salida será la solución del sistema. El programador de una función habrá puesto comentarios previos a la primera instrucción, que son los que se obtienen cuando se pide la ayuda con el comando >>help. Su ejecución indicará si la Regla de Cramer es o no aplicable, y en caso de respuesta afirmativa resolverá el sistema. Ejemplo 6.4 Resolver mediante Cramer los siguientes sistemas: x  2x2 =-1½ a) 1 ¾ 2x1  4x2 =-2 ¿

b) x1  2x2 +3 x3 =1

x1  x2 + x3 =1 ½ ° c) x1  x2  x3 =1 ¾ 2 x1  x2  x3 =1 °¿

Resolución: a) Claramente es un sistema compatible indeterminado, por lo tanto no se puede usar directamente la regla de Cramer, y así nos lo indicará el programa cramer: >> cramer([1 2; 2 4],[-1 ;-2]) Error using cramer (line 16) Aunque la matriz es cuadrada, el sistema NO es compatible determinado. NO podemos usar la regla de Cramer b) En este caso el sistema no es un sistema cuadrado, luego tampoco se puede aplicar Cramer, hecho que también lo indicará función: >> cramer([ 1 2 3],[1]) Error using cramer (line 22) La matriz no es cuadrada. NO podemos aplicar Regla de Cramer c) Este sistema de momento es cuadrado, luego se introducen las matrices argumento: >> cramer(A,b) La matriz es cuadrada y el sistema es Compatible Determinado. Podemos aplicar Regla de Cramer x= 0

0

1

Observar que la función cramer precisa de 2 argumentos, la matriz de coeficientes y el vector columna de términos independientes. Si no se le proporcionan, devolverá la

161

Matlab para Matemáticas en ingenierías

solución nula y un mensaje de error avisando de que no hay suficientes argumentos de entrada: >> cramer([1 1;1 1]) x= 0 0 Error using cramer (line 10) Not enough input arguments. De todas formas, para aquel alumno interesado en la programación y que desee tener el código empleado, o bien podrá pedir una vez cargado >>type cramer, saliendo por pantalla en la Command Window el código del programa, o bien >>edit cramer, que abrirá la ventana del editor y accederá al programa desde ahí. (Matlab usa colores para indicar las sentencias de programación –azul-, los comentarios –verde-, las asignaciones o instrucciones –negro-, las salidas de texto por pantalla –morado-. Ayudando así a una mejor comprensión del código del programa). 6.2.6 Resolución de sistemas de ecuaciones dependientes de parámetros Para resolver sistemas de ecuaciones lineales con parámetros hay que recurrir a aplicar Gauss para obtener la forma escalonada asociada al sistema. De este modo el usuario clasifica y obtiene las soluciones. Para ello deben realizarse operaciones elementales sobre filas .Si la matriz es A, las filas de la matriz se identifican como A(1,:){Fila 1; A(2,:){Fila 2, etc. En la tabla posterior se indican cómo efectuarlas: Tabla 6.9 Operaciones elementales con Matlab OPERACIONES ELEMENTALES POR FILAS

OPERACIÓN SOBRE LA MATRIZ A

CÓMO SE EXPRESA EN MATLAB

Intercambio de filas

Intercambiar F1 por las F2 la matriz A

Definimos la nueva matriz como A1

Multiplicación de una fila por un número no nulo k Fj

la fila 3 por (1/4)

Definimos la nueva matriz como A2

Sumar a una fila un múltiplo de otra

F2 la cambio por F2(1/4)F1

Fi lFj

Fi +k Fj

162

>>A1=[A(2,:);A(1,:);A(3,:)] >>A2=[A(1,:);A(2,:); (1/4)*A(3,:)] Definimos la nueva matriz como A3 >>A3=[A(1,:);A(2,:)- (1/4)*A(1,:); A(3,:)]

Introducción al álgebra matricial

Ejemplo 6.5 Estudiar y resolver en función de m y p Թǡ el sistema de ecuaciones

x x

 y z  my  z px  y  z

1½ ° 1¾ 1°¿

Resolución. 1º Definiendo como simbólicas las variables m y p, se introduce la matriz ampliada y se aplican operaciones elementales sobre filas para obtener la matriz escalonada asociada al sistema de ecuaciones.

Se ha obtenido la matriz escalonada asociada al sistema. 2º Sustituir los valores de p y m que pueden modificar el rango, es decir, el número de unos principales. Para clasificar se mira el número de unos principales y, para resolver, se usará el comando >>rref. Los resultados en función de los valores de m y p se muestran en la Tabla 6.10.

163

Matlab para Matemáticas en ingenierías Tabla 6.10 Resultados de clasificación dependiendo de los valores de m y p

Caso m=1, pz1

Caso mz1, p=1

Caso m=1, p=1

Caso mz1, pz1

>>rank(A)=2

>>rank(A)=2

>>rank(A)=1

>>rank(A)=3

>>rank([A,b])=2

>>rank([A,b])=2

>>rank([A,b])=1

>>rank([A,b])=3

SCI

SCI

SCD

x+z=1,y=1, z Թ

x=1-y-z, z Թǡ y Թ

x=0, y=0, z=1

SCI x+y=1, z=1 zԹ

6.3

Ajustes de datos (mínimos cuadrados)

El ajuste de curvas se utiliza cuando se tiene una serie de datos calculados y se desea conocer valores intermedios no conocidos, o también, en aquellos casos en que se desee una versión simplificada de una función que se ajuste a un número de valores concretos, y posteriormente usar la función simplificada para obtener nuevos valores. Si los datos no son muy exactos, o tienen asociado un error (ruido), entonces la mejor manera es establecer una sola curva que represente la tendencia general de los datos observados. Este procedimiento se conoce como REGRESIÓN LINEAL, cuyo método más sencillo es la regresión por mínimos cuadrados. La forma de realizar ajustes mediante Mínimos Cuadrados en Matlab es usando el comando >>polyfit(x,y,n), donde: Ͳ 164

x e y son vectores que contienen los datos puntuales que se desean ajustar

Introducción al álgebra matricial

Ͳ

n es el número de datos

Ͳ

p son los coeficientes del polinomio de ajuste.

La función >>polyfit se utiliza para obtener el ajuste sobre m puntos, para cualquier grado indicado por n. Si n=1 ajustamos a una recta; n= 2 será un parábola, etc. La salida son los coeficientes del polinomio. El número de coeficientes depende del grado del polinomio que pidamos para ajustar. Coeficiente de correlación: Para estudiar el grado de relación lineal que existe entre dos variables, se calcula el coeficiente de correlación lineal R, con R ࣅ[-1,1]. Si el coeficiente de correlación lineal está próximo a 1, los datos se agrupan en torno a una recta de pendiente positiva; si está próximo a -1, los datos se agrupan en torno a una recta de pendiente negativa. Cuanto más alejado del valor 1 o -1, más dispersa se encuentra la nube de puntos de la curva ajustada. Cuando el valor de R es positivo, indica que la relación entre las variables es directa, es decir, a mayor cantidad de una variable, mayor cantidad de la otra. Mientras que si da un coeficiente de correlación negativo, la relación sería indirecta, a mayor valor de una variable menor valor de la otra. Matemáticamente el coeficiente de correlación de Pearson viene dado por la expresión: ߪ௫௬ ܴൌ ߪ௫ ߪ௬ donde ߪ௫௬ es la covarianza de las variables, y ߪ௫ ߪ௬ el producto de las desviaciones típicas de x e y respectivamente. En Matlab, el comando >>cov(X), donde X es una matriz de datos, o bien >>cov(X,Y) donde X e Y son los vectores de datos de las dos variables a analizar, devuelve una matriz C donde los elementos de la diagonal son las varianzas de cada una de las variables. Con este matriz es con la que Matlab calcula el coeficiente de correlación. R, en verdad, será de nuevo una matriz, donde la posición que al usuario le interesa para conocer el coeficiente de correlación de Pearson, es la posición (1,2) o (2,1), ya que es una matriz simétrica. En Matlab se calcula mediante >> corrcoef(x,y) % devuelve la matriz de correlación entre ambas variables Una vez obtenida la curva de regresión, se pueden obtener las predicciones para la variable y a partir de los valores conocidos de la variable x, sustituyendo convenientemente o bien utilizando el comando >>polyval de MATLAB. 165

Matlab para Matemáticas en ingenierías

>> polyval(m,X) % evalúa el polinomio con coeficientes almacenados en el vector m en todos los valores de la variable X Ejemplo 6.6 Se han realizado medidas de la velocidad de un coche en (m/s) cada 0.5 segundos. Los datos obtenidos se muestran en la siguiente tabla: v (m/s) t (s)

1.58 0.5

3.26 1.0

4.84 1. 5

6.38 2.0

8.24 2.5

9.72 3.0

Sabiendo que v= v0+at (a) Ajustar los datos a un polinomio de grado uno (recta), indicando velocidad inicial y aceleración. (b) Representar los datos de las tablas. (c) Escribir la orden adecuada para que la salida sea el vector de los valores estimados de la aproximación dada por la recta. (d) Representar la recta de regresión en la misma ventana que los datos del apartado (b). (e) A partir de la recta de regresión predecir la velocidad que alcanzará en el instante t=1 minuto. (a) >> v=[1.58 3.26 4.84 6.38 8.24 9.72];t=[0.5 1.0 1.5

2.0 2.5 3.0];

>> recta=polyfit(t,v,1) recta = 3.2674 -0.0480 Por lo tanto, la recta de ajuste buscada es:

v = 3.2674 - 0.0480*t

>> R=corrcoef(t,v) R= 1.0000 0.9997 0.9997 1.0000 En este caso el coeficiente de correlación es R= 0.9997, próximo a 1, lo que indica una fuerte relación lineal directa entre las medidas.

166

Introducción al álgebra matricial

(b) representación >>plot(t,v,'o');xlabel('tiempo');ylabel('velocidad') 10 9 8

velocidad

7 6 5 4 3 2 1 0.5

1

1.5

2

2.5

3

tiempo

(c) >> polyval(recta,t) % la salida es el vector fila de velocidades ans = 1.5857 3.2194 4.8531

6.4869 8.1206 9.7543

(d) Ahora se van a representar los valores de t frente a las velocidades que proporciona el polinomio, denominado como vajuste >> vajuste=polyval(recta,t) vajuste = 1.5857 3.2194 4.8531

6.4869 8.1206 9.7543

>> hold on >> plot(t,vajuste,'r')

167

Matlab para Matemáticas en ingenierías

10 9 8

velocidad

7 6 5 4 3 2 1 0.5

1

1.5

2

2.5

3

tiempo

(e) Al evaluar la velocidad que corresponde al instante t=1 minuto se obtiene >> polyval(recta,60) ans = 195.9977 En las diversas disciplinas científicas, en ocasiones, es necesario utilizar funciones distintas a las polinómicas para ajustar datos. Por ello, se muestra en la tabla 6.11 otros posibles ajustes de curvas: Tabla 6.11 Relación de comando >>polyfit NOMBRE FUNCIÓN

EXPRESIÓN

SINTAXIS DEL COMANDO

recta

y=ax+b

P=polifit(x,y,1)

Potencial

y=bxm

P=polyfit(log(x),log(y))

Exponencial

y = bemx y=b10mx

logarítmica recíproca

168

P=polyfit(x,log(y),1) P=polyfit(x,log10(y),1)

y= mLn(x)+l

P=polyfit(log(x),y,1)

y=mlog(x)+b

P=polyfit(log10(x),y,1)

y

1 mx  b

P=polyfit(x,1./y,1)

Introducción al álgebra matricial

6.4

Ejercicios

1.- Introducir la siguiente matriz sin hacerlo elemento a elemento.

§1 ¨0 ¨ ¨0 ¨ ¨0 ¨0 ©

2.- Dada la matriz M

§1 ¨0 ¨ ¨0 ¨ ¨0 ¨0 ©

0 2 3 4· 1 1 1 1 ¸¸ 0 3 0 0¸ ¸ 0 0 3 0¸ 0 0 0 3 ¸¹

0 1 1 1· 1 1 1 1 ¸¸ 0 2 0 0¸ ¸ 0 0 2 0¸ 0 0 0 2 ¸¹

(a) Introducir M en Matlab sin hacerlo elemento a elemento; es decir, utilizando matrices especiales o los cambios explicados. (b) Definir una matriz M1 a partir de M pero con una columna de unos entre la 3ª y 4ª columna. (c) Calcular para M: traza, rango, determinante e inversa. (d) Obtener M2 a partir de M1 cambiando la última fila por los números que van del 2 al 12. (e) ¿qué cambios deben hacerse para generar a partir de M la matriz M3? siendo M3 la siguiente matriz

§1 ¨1 ¨ ¨0 ¨ M 3 ¨0 ¨0 ¨ ¨1 ¨6 ©

2 1 2 1 2 1· 0 1 1 1 2 1¸¸ 1 3 1 1 2 1¸ ¸ 0 0 4 1 2 1¸ 0 0 0 5 2 1¸ ¸ 2 3 4 5 6 1¸ 5 4 3 2 1 1¸¹

169

Matlab para Matemáticas en ingenierías

§1 1 · § 1 2· 3.- Sean las matrices A = ¨ , B= ¨ ¸ ¸ y C= ©3 4 ¹ © -1 0 ¹ X que cumple la igualdad C (B+X) A-1 + CT = A

§1 3 · ¨ 2 10 ¸ . Obtener la matriz © ¹

4.- Discutir el siguiente sistema de ecuaciones lineales en función del parámetro kԹ.

kx  y  z x  ky  z x  y  kz

1 ½ ° k ¾ k 2 °¿

5.- Resolver los siguientes sistemas usando Cramer. Primero hallando cada una de las variables y luego usando la función cramer: ͵‫ ݔ‬െ Ͷ‫ ݕ‬൅ ʹ‫ ݖ‬െ ‫ ݐ‬൅ ͷ‫ ݓ‬ൌ ͵ Ͷ‫ ݔ‬൅ ͹‫ ݕ‬െ ͺ‫ ݖ‬൅ ʹ‫ ݐ‬ൌ ͻ ͺ‫ ݔ‬൅ ͹‫ ݕ‬െ ͻ‫ ݖ‬൅ ʹ‫ ݐ‬െ ‫ ݓ‬ൌ ͷ ۗ ۖ ͵‫ ݔ‬െ ‫ ݕ‬൅ ʹ‫ ݖ‬൅ ͻ‫ ݐ‬ൌ ͹ a) ൢ ǡܾሻ ͸‫ ݔ‬െ ʹ‫ ݕ‬൅ ͵‫ ݖ‬െ ͵‫ ݐ‬൅ Ͷ‫ ݓ‬ൌ ͸ ͷ‫ ݔ‬൅ ͸‫ ݕ‬൅ ʹ‫ ݖ‬െ ‫ ݐ‬ൌ ͵ ͷ‫ ݔ‬൅ Ͷ‫ ݕ‬൅ ͸‫ ݖ‬൅ ͺ‫ ݐ‬൅ ‫ ݓ‬ൌ ʹ ۘ ۖ ͺ‫ ݔ‬െ ͵‫ ݕ‬൅ ʹ‫ ݖ‬െ ‫ ݐ‬ൌ ͷ ͺ‫ ݔ‬൅ ʹ‫ ݕ‬െ ͷ‫ ݖ‬൅ ͷ‫ ݐ‬െ ͻ‫ ݓ‬ൌ ͹ۙ

8 · § 7  x 16 ¨ 6.- Dada la matriz 16 7  x 8 ¸ , estudiar para qué valores de x Թ el ¨ ¸ ¨ 8 ¸ x 8  5  © ¹ determinante de la matriz se anula.

0 1 7.- Encontrar el valor o valores de xԹ que cumple 1 1

k  20 x 2 8.- Resolver en función de x la ecuación

k 0

k Թ.

170

1 0 1 1

1 1 0 1

k 2k  5 x k

1 1 x 3  1 4 1 x 0

9.

0 2

k k  20 x

0 , con 2

Introducción al álgebra matricial

§ p q· ¸ © r s¹

9.- Hallar la relación que debe existir entre los elementos de la matriz A ¨ para que conmute con la matriz B

§ 1 1· ¨ 0 1¸ . © ¹

§ 1 1 0 · ¨ ¸ 10.- Sea la matriz A ¨ 0 2 3 ¸ ¨0 0 3 ¸ © ¹ (i) Calcular A-1 (ii) Si B= A-I, ¿es invertible? 11.- Obtener la recta (pendiente, ordenada en el origen y coeficiente de correlación) que mejor se ajuste a los puntos de la siguiente tabla, utilizando el método de los mínimos cuadrados. x 1.2 2.0 2.4 3.5 3.5

y 1.0 1.6 3.4 4.0 5.2

171

7

Referencias bibliográficas [1] Chapra, Steven C.(2012). Applied numerical methods with Matlab for engineers and scientists Ed Mc Graw Hill International Edition. [2] Estruch, V. & Sapena Piera, A. (2010) Lecciones de estadística. Ed Universitat Politècnica de València. [3] Giner,S. (2008) Curso de Matlab. /Apuntes de simulación de procesos I. Área departamental Igenieria Química. Facultad de Ingenieria. Procedencia Internet [4] Moore, H. (2007) Matlab para ingenieros. [5] Marchand, P. (2003). Graphics and guis with MATLAB. [6] Pabón Ángel, H. (2010). Probabilidad y estadística con matlab® para investigadores MSc. Universidad de Cundimarca. [7] Pateiro López , B. (2008-2009 ) Estadística ingeniería química USC. Curso. [8] Polanía Puentes, J.A, Tutorial de matlab aplicado [9] Rodríguez del Río, R. Gráficas con Matlab, Departamento de Matemática Aplicada, Universidad Complutense de Madrid. [10] Romero,R., Zúnica R. (2012). Métodos estadísticos en ingeniería. Ed Universitat Politècnica de València. [11] https://www.uam.es/personal_pdi/economicas/rociomar/descriptiva.htm [12] http://www.unizar.es/fmi, Versión actualizada en agosto de 2006. Un curso de MATLAB, Grupo FMI, Departamento de Matemática Aplicada, Universidad de Zaragoza. [13] http://dv.ujaen.es/docencia (/ilias.php?ref_id=85771&from_page=33288&frame=_blank&obj_id=33286& cmd=layout&cmdClass=illmpresentationgui&cmdNode=9i&base) [14] http://www.academia.edu/1743296/Manual_de_Introducci%C3%B3n_a_Matl ab [15] https://cristiancastrop.files.wordpress.com/2010/09/matlab_graficos.pdf [16] Borrel i Nogueras, Guillem. Introducción informal al Matlab y Octave. http://www.dc.uba.ar/materias/escuela-compluense/2012/CursoMatlabguillem.

173

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF