Trabajo Monografico de Matlab.docx

35
INTRODUCCIÓN El nombre del software MATLAB proviene de las palabras en inglés “MATrix LABoratory”. Es un programa muy potente con el cual podremos realizar cálculos numéricos con vectores y matrices, trabajar con números escalares, tanto reales como complejos y utilizar una amplia variedad de gráficos en dos y tres dimensiones. La elaboración de un programa para Matlab es muy sencilla. Basta abrir un documento de texto (se puede hacer con cualquier editor, Matlab trae uno incorporado), escribir las instrucciones tal como se pondrían en la ventana de comandos y guardar el documento con la extensión .m (por ejemplo: miprogama.m). Matlab reconoce automáticamente los ficheros que tienen extensión .m Si en la ventana de comandos se introduce: »miprograma las órdenes almacenadas en el fichero miprograma.m se ejecutarán, una tras otra. A ese recorrido a través de las instrucciones se le conoce con el nombre de flujo. Los comandos de un programa se denominan también sentencias. Recordemos que en Matlab trabajamos sobre el Workspace que es la ventana inicial donde ingresamos comandos y los ejecutamos directamente. Frecuentemente una serie de comandos debe ser ejecutada varias veces durante una misma sesión, para evitarnos el trabajo de ingresarlos continuamente existen los scripts.

Transcript of Trabajo Monografico de Matlab.docx

Page 1: Trabajo Monografico de Matlab.docx

INTRODUCCIÓN

El nombre del software MATLAB proviene de las palabras en inglés “MATrix LABoratory”. Es un programa muy potente con el cual podremos realizar cálculos numéricos con vectores y matrices, trabajar con números escalares, tanto reales como complejos y utilizar una amplia variedad de gráficos en dos y tres dimensiones.

La elaboración de un programa para Matlab es muy sencilla. Basta abrir un documento de texto (se puede hacer con cualquier editor, Matlab trae uno incorporado), escribir las instrucciones tal como se pondrían en la ventana de comandos y guardar el documento con la extensión .m (por ejemplo: miprogama.m). Matlab reconoce automáticamente los ficheros que tienen extensión .m

Si en la ventana de comandos se introduce: »miprogramalas órdenes almacenadas en el fichero miprograma.m se ejecutarán, una tras otra. A ese recorrido a través de las instrucciones se le conoce con el nombre de flujo. Los comandos de un programa se denominan también sentencias.

Recordemos que en Matlab trabajamos sobre el Workspace que es la ventana inicial donde ingresamos comandos y los ejecutamos directamente.

Frecuentemente una serie de comandos debe ser ejecutada varias veces durante una misma sesión, para evitarnos el trabajo de ingresarlos continuamente existen los scripts.

Page 2: Trabajo Monografico de Matlab.docx

1. PROGRAMACION EN MATLAB :

1.1 Ficheros M.File

Ya debe resultar claro que MATLAB responde a cada orden según se van introduciendo en la ventana de comandos. Para problemas simples este método es rápido y eficiente, pero cuando el número de órdenes aumenta o se desea reevaluar ordenes cambiando el valor de algunas variables, el método se hace tedioso. 

MATLAB permite solucionar este problema de una manera muy sencilla. Podemos colocar las órdenes en un archivo de texto y guardarlas para posteriormente pedirle a MATLAB que lo abra y ejecute las órdenes contenidas en él. 

Estos archivos de texto se denominan script (guión) o archivos M (debido a que su extensión es .m). 

Un fichero .m puede llamar a otros ficheros .m y ficheros de comandos pueden ser llamados desde ficheros de funciones. En estos casos es importante tener en cuenta la definición de las variables a utilizar, en la línea de que tengan un tratamiento local o global.

Son ficheros de texto sin formato y que pueden crearse a partir de un editor de textos, no obstante, lo mejor es utilizar el editor del propio programa al que se accede por defecto al abrir un nuevo fichero.

1.2 Funciones de Ingreso y salida de datos Input: Esta función permite imprimir un mensaje en la línea de

comandos de Matlab y recuperar como valor de retorno un valor numérico o el resultado de una expresión tecleada por el usuario.

Ejemplo: n=input (' Ingreseun número : ');

Disp: Esta función permite imprimir en pantalla un mensaje de texto o el valor de una matriz, pero sin imprimir su nombre. En realidad, disp. Siempre imprime vectores y/o matrices: las cadenas de caracteres son un caso particular de vectores.

Ejemplo: disp(' El programaha terminado ');

1.3 Sentencias de Control de Flujo

Bifurcaciones y bucles:

Se van a introducir aquí los primeros conceptos de programación. MATLAB posee un lenguaje de programación que como cualquier otro lenguaje dispone de sentencias para realizar bifurcaciones y bucles. Las bifurcaciones permiten realizar una u otra operación según se cumpla o

Page 3: Trabajo Monografico de Matlab.docx

no una determinada condición. Los bucles permiten repetir las mismas o análogas operaciones sobre datos distintos.

1.3.1 Sentencia If

La sintaxis de la sentencia if es:

if condición

Sentencias

end

Existe también la bifurcación múltiple, en la que pueden concatenarse tantas condiciones como se desee, y que tiene la forma:

if condicion1

bloque 1

elseif condicion2

bloque 2

else

bloque 3

end

Ejemplo:

Ingrese dos números y determine cuál es el mayor y menor:

x=inp x=input (' Ingrese el primer número : ')

y=input (' Ingreseel segundo número : ')

if x< y

p=x

s= y

else

x> y

p= y

s= x

end

disp(' El numeromenor es : ' )

disp( p)

Page 4: Trabajo Monografico de Matlab.docx

disp(' El numeromayor es ')

disp(s)

1.3.2 Sentencia switch

Esta sentencia realiza la función análoga a un conjunto if...elseif concatenados. Su forma general es la siguiente:

Switch variable

case 1

Expresión1 ;

case 2

expresión 2;

case 3

expresión 3 ;

otherwise

expresión 1;

end

Al principio se evalúa la switch variable, el resultado debe ser de un numero escalar o una cadena de caracteres. Este resultado se compara con la case i, y se ejecuta el bloque de sentencias que corresponda. Si ninguno es igual a switch variable se ejecutan las sentencias correspondientes a otherwise.

Ejemplo:

Dado un número entre el 1 y 5 mostrar el día de la semana.

d=input (' Numero del dia : ');

switch d

case 1 , disp(' Lunes ');

case 2 , disp(' Martes ');

case 3 , disp(' Miercoles ') ;

case 4 , disp(' Jueves ');

case 5 , disp(' Viernes ');

end

Page 5: Trabajo Monografico de Matlab.docx

1.3.3 Sentencia while

La sintaxis de la estructura while es la siguiente.

while condición

sentencias

end

Donde condición puede ser una expresión vectorial o matricial. Las sentencias se siguen ejecutando mientras haya elementos distintos de cero en condición, es decir, mientras haya algún o algunos elementos true. El bucle termina cuando todos los elementos de condición son false (es decir, cero).

Ejemplo:

Suma de los cuadrados de los primeros n números naturales.

n=input (' Ingrese el valor final : ');

s=0

for i=1: n

c=i2 ;

s=s+c

end

disp(' La suma es : ');

disp(s);

1.3.4 Sentencia For

Permite ejecutar de forma repetitiva un comando o grupo de comandos. La forma general de un bucle for es:

for variable=expresión

comandos

end

Ejemplo:

Listar los números naturales impares entre 1 y n.

n=input (' Ingrese el valor final : ');

for i=1: 2:n

Page 6: Trabajo Monografico de Matlab.docx

disp(i);

end

1.4 Sentencias Especiales1.4.1 Sentencia Break

Se utiliza para manipular el comportamiento normal de los bucles, ya sean for, if o while, y así saltarse algunas repeticiones. La sentencia BREAK permite terminar el bucle de golpe. Al llegar a una instrucción BREAK, el programa sale del bucle y continúa ejecutando el resto de comandos.

1.4.2 Sentencia Try….catch…endControla los errores que se producen durante la ejecución de un programa.Si el error se produce durante la ejecución del bloque sentencias1, el control se transfiere al bloque sentencias2. Si la ejecución transcurriera sin errores, la sentencia2 no se ejecuta. La sintaxis es la siguiente:

trysentencia1catch endsentencias2end

1.4.3 Sentencia Continue

La sentencia CONTINUE se utiliza para saltarse alguna iteración dentro de un bucle for o while, saltándose dentro de la iteración todos los comandos hasta el final, hasta la siguiente iteración.

1.5 Ventana de Figura

Todas las gráficas realizadas en Matlab se realizan en ventanas denominadas ventana de figura.Cada ventana de figura tiene asignado un identificador, con el cual podemos hacer referencia a ella. A este identificador se le conoce como un manipulador (handle) de ventana de figura.

1.5.1 Creación de Ventanas de Figura

Las ventanas de figuras se crean de dos maneras:

a. Automáticamente al invocar alguna función de trazado de grafica b. Manualmente, mediante la invocación a la función figure. La función

figure retorna a un controlador.

Page 7: Trabajo Monografico de Matlab.docx

2. GRAFICAS DE FUNCIONES :

2.1 Graficas en 2D2.1.1 Cartesianas

Para hacer graficas de funciones de una variable con MatLab, primero tenemos que crear una tabla de valores de la variable para después dibujar la función.

Ejemplo:

Por ejemplo, queremos dibujar la gráfica de la función

y=sen (x) :

Primero creamos una tabla de valores para x

¿ x=0 : pi /100: 2∗pi;

Con este comando hemos formado una tabla (el vector x) con 200 valores entre 0 y 2∗π. Otra forma de conseguir el mismo resultado sería utilizar el comando

¿ x=linspace (0,2∗pi ,200);

Ahora calculamos los valores de y

¿ y=sin(x);

Y por último dibujamos la gráfica.

Page 8: Trabajo Monografico de Matlab.docx

2.1.2 Paramétricas

Veamos ahora como se pueden representar curvas en el plano dadas en forma paramétrica, es decir, de la forma

r (t )=( x( t) , y (t )) t∈[a , b]

Ejemplo:

Queremos dibujar la gráfica de la curva

r ( t )=( t (t 2−1)t2+1

,2(t 2−1)

t2+1 );−5≤ t ≤5

En primer lugar generamos los valores de t en el intervalo indicado,

¿ t=linspace (−5,5,1000);

Y ahora lo podemos dibujar de dos formas distintas:

¿ plot (( t .∗(t .2−1)). /(t .2+1), (2∗(t .2−1))./ (t .2+1))

Page 9: Trabajo Monografico de Matlab.docx

Y otra forma de hacerlo es utilizar el comando

¿comet ((t .∗(t .2−1))./ (t .2+1),(2∗( t .2−1)) ./( t .2+1))

Los dos comandos producen el mismo resultado, sin embargo, la forma de ejecución es diferente, la segunda es más divertida, aparece un circulito (el cometa) que va dibujando la curva. La velocidad de ejecución depende del número de puntos que hayamos generado con el comando linspace.

Dibujada una curva en paramétricas existe la posibilidad de dibujar sobre la misma los vectores velocidad, utilizando el comando quiver.

Ejemplo:

Para dibujar los vectores velocidad sobre la curva

r (t )=(cos( t) , sen(t )) , t∈[0,2π ]

¿ t=linspace (0,2∗pi ,20) ;

¿quiver (cos (t) , sin(t ),−sin(t ),cos (t)), axis square

La sintaxis del comando es ¿quiver (r ( t) ,r ’ (t)). El número de vectores que aparecen en este caso es 20. Si el número de puntos que se indica con el comando linspace es demasiado grande, puede que no se aprecie con claridad la gráfica, ya que este será el número de vectores que se dibujen.

Page 10: Trabajo Monografico de Matlab.docx

2.1.3 Polares

Una curva en coordenadas polares es la imagen de la función

r=h (θ ) ,θ∈[θ1 ,θ2]

Un punto de la curva en polares (r0 , θ0) tiene distancia al origen r0 y el ángulo que forma el vector de posición del punto con el eje horizontal, medido en sentido positivo, es θ0.

Por lo tanto, la relación entre las coordenadas polares y las coordenadas paramétricas es:

x=rcos (θ) y=rsen(θ)

Para dibujar una curva en polares con MatLab se utiliza el comando polar.

Ejemplo:

Para dibujar la gráfica de

r=2−4cos (θ ) ,−π ≤ θ ≤ π

Generamos los valores del ángulo θ

¿ tetha=linspace(−pi , pi ,100);

Calculamos los valores de r

¿ r=2−4∗cos( tetha);

Page 11: Trabajo Monografico de Matlab.docx

¿ polar(tetha ,r )

Lista de comandos para graficas en 2D:

Comandos Descripciónplot (x . y ) Dibuja el conjunto de puntos (x,y) en un

sistema cartesiano.¯(x , y ) Gráfico de barras vertical donde “y”

representa las frecuencias y “x” define el intervalo en el eje x.

barh(x , y) Gráfico de barras horizontal, donde “y” representa las frecuencias y “x” define el intervalo en el eje x.

stem(x , y) Grafica de bastones verticales donde “y”

Page 12: Trabajo Monografico de Matlab.docx

representa las frecuencias y “x” define el intervalo en el eje x.

stairs(x , y ) Grafica de una curva escalonada.

polar(x , y) Dibuja una curva en coordenadas polares, y=y(x).

pie(x , y ) Realiza el grafico de sectores relativo al vector x.

rose (x , y ) Dibuja el histograma angular relativo al vector x.

compass (x , y ) Dibuja un conjunto de flechas con origen en (0,0) cuya magnitud y dirección están determinados por el módulo de z. (z=x+iy)

feather (x , y ) Dibuja un conjunto de flechas con origen en el eje x, cuya magnitud y dirección están determinados por el módulo de y,

fplot (‘ f ’ , [a ,b ]) Grafica la función f en el intervalo [a,b].

explot (‘ f ’ ,[a ,b]) Grafica la función f en el intervalo [a,b], adicionándole el titulo por defecto.

loglog(x , y) Realiza una gráfica cartesiana con escala logarítmica en los ejes coordenados.

semilogx(x , y) Realiza una gráfica cartesiana con escala logarítmica en el eje “x” y escala normal en el eje “y”.

semilogy(x , y) Realiza una gráfica cartesiana con escala logarítmica en el eje “y” y escala normal en el eje “x”.

fill(x , y , c) Dibuja una región poligonal cuyos vértices son los elementos de los vectores columna x, y; el parámetro “c” contiene el color a graficar.

2.2 Gráficas múltiples2.2.1 Múltiples gráficos en una sola ventana de figura :Utilizando el comando plot se puede realizar varias graficas en una sola ventana figura. Los colores lo establecen MatlabEjemplo:¿ x=0 :0.05 :5 ;¿ y=sin(x);¿ z=cos (x);¿ plot (x , y , x , z);

Page 13: Trabajo Monografico de Matlab.docx

Utilizando el comando hold on antes de un nuevo comando plot podemos incrementar graficas en una sola ventana figura.¿ x=0 :0.05 :5 ;¿ y=sin(x);¿ z=cos (x);¿ plot (x , y , x , z);¿hold on ;¿w=|(x−2)|;¿ plot (x , w ,’ g ’ );¿ grid

Page 14: Trabajo Monografico de Matlab.docx

2.2.2 Gráficos en múltiples ejes :Una ventana figure se puede dividir en ejes verticales y horizontales y permitir que se grafiquen varias figuras para esto se utiliza el comando subplot (m, n, k): divide la ventana figura en filas y n columnas, siendo k la secuencia de la gráfica.Ejemplo:¿ t=0 :0.3 :5 ;

¿ x=t .2;¿ y=2∗t−5 ;¿ z=sin (t);¿u=cos( t);¿ v=|(t)|;¿w=√(t );¿ subplot (3,2,1), plot (t , x ), title(‘ Grafico1 ’);¿ subplot (3,2,2), plot (t , y ) ,title (‘Grafico2’ );¿ subplot (3,2,3) , plot (t , z ), title (‘Grafico3’ );¿ subplot (3,2,4) , plot ( t , u), title(‘ Grafico4 ’);¿ subplot (3,2,5) , plot (t , v) , title(‘ Grafico5 ’);¿ subplot (3,2,6) , plot (t , w) ,title (‘Grafico6 ’);

Page 15: Trabajo Monografico de Matlab.docx

2.3 Funciones de graficas en 3 dimensiones2.3.1 Cartesianas

Para dibujar gráficos de funciones de dos variables z = f(x,y), al igual que para funciones de una variable, en primer lugar hay que generar tablas de valores para las variables x e y, en realidad, ahora lo que tenemos que hacer es generar un mallado sobre un rectángulo del plano XY. Para eso se utiliza el comando meshgrid.

Ejemplo:

Si queremos dibujar la gráfica de la función

z=e−(x2+ y2 )

en la región del plano D={(x , y) /−2≤ x≤2 ,−2≤ y ≤2},habrá que efectuar los pasos siguientes:

Generamos el mallado

¿ [x , y]=meshgrid (−2 : .5: 2);

Sustituimos en la función para calcular los valores de z

¿ z=exp (−x .2− y .2);

Page 16: Trabajo Monografico de Matlab.docx

¿mesh(x , y , z )

2.3.2 Paramétricas

Se generan de una manera similar a las curvas en el plano, con la diferencia de que aquí se utilizan los comandos plot3 o comet3, también existe un comando quiver3 para dibujar vectores velocidad sobre las curvas.

Ejemplo:

Queremos dibujar la hélice

r (t )=(sen (t) ,cos(t ), t)0≤ t ≤8π y sobre ella los vectores velocidad.

Generamos los valores de t:

¿ t=linspace (0,8∗pi ,2000);

Y ahora podemos utilizar dos comandos: plot3 lo que nos da el dibujo completo

¿ plot3 (sin(t ),cos (t) , t) , grid on

Page 17: Trabajo Monografico de Matlab.docx

Lista de comandos para graficas en 3D:

Page 18: Trabajo Monografico de Matlab.docx

2.4 Manipulación de gráficos 3DComandos Descripciónplot (x , y , z) Dibuja el conjunto de puntos (x,y,z) en un

sistema de tres dimensiones.fill3 (x , y , z , c ) Dibuja una región poligonal cuyos vértices

son los elementos de los vectores columna x,y,z. el parámetro “c” contiene el color a graficar.

meshgrid (x , y ) Crea arreglos bidimensionales a partir de los arreglos “x” e “y” para elaborar la gráfica de una superficie explicita z=f(x,y).

mesh(x , y , z ) Grafica una superficie explicita z=f(x,y) con los arreglos x, y e z.

meshc (x , y , z) Grafica una superficie explicita z=f(x,y) con los arreglos x, y e z, proyectando las curvas de nivel en el plano xy.

meshz (x , y , z) Grafica una superficie explicita z=f(x,y) con los arreglos x, y e z, cerrando la gráfica con las fronteras de dominio.

surf (x , y , z ) Grafica una superficie explicita z=f(x,y) con los arreglos x, y e z, pintando cada una de las celdas.

surfc(x , y , z ) Grafica una superficie explicita z=f(x,y) con los arreglos x, y e z, proyectando las curvas de nivel en el plano xy.

surfl( x , y , z ) Grafica una superficie explicita z=f(x,y) con los arreglos x, y e z, considerando una iluminación en formato básico.

waterfall (x , y , z) Grafica una superficie explicita z=f(x,y) en forma de cascada.

contour (x , y , z) Grafica las curvas de nivel de la superficie explicita de la función z=f(x,y).

3̄(x , y) Grafica barras verticales, donde “y” representa las frecuencias y el incremento en “x” define el lado del cuadrado que es la base del paralelepípedo.

comet 3 (x , y , z ) Grafica con movimiento una curva paramétrica x=x(t), y=y(t), z=z(t)

sphere Grafica la esfera unitaria usando 20x20 caras.

cylinder (“ f ”) Grafica una superficie de revolución generada por la rotación de la función f=f(t) en el intervalo definido para t.

stem3(x , y , z) Grafica puntos de una curva paramétrica x=x(t), y=y(t), z=z(t), representándola con bastones.

pie3 (x) Grafica sectores tridimensionales para la frecuencia de x.

ribbon(x , z , c) Grafica una superficie explicita z=f(x,y) como cintas tridimensionales, “c” especifica el ancho de la cinta.

quiver 3(x , , y , z , u , v , w , c) Grafica los vectores de componentes (u,v,w) en los puntos (x,y,z); “c” indica el tamaño de los vectores

Page 19: Trabajo Monografico de Matlab.docx

2.4.1 Sombras y Colores:

Para conseguir efectos de sombreados y colores diferentes se pueden consultar todas las posibilidades de los comandos colormap y shading. Algo que resulta también interesante, es añadir una escala de colores al dibujo que nos permite conocer las alturas (coordenada z) de los diferentes puntos de la gráfica, esto se consigue con el comando colorbar (después de dibujada la gráfica).

Ejemplo:

Para generar la gráfica de la figura ha sido utilizada la siguiente secuencia de comandos:

¿ [x , y]=meshgrid (linspace (−1,1,50));

¿ z=cos ((x .∗y) ./(x .2+ y .2+1));

¿ surf (x , y , z ), colorbar

Page 20: Trabajo Monografico de Matlab.docx

2.4.2 Rotación de gráfica:

Otro comando interesante en las gráficas 3D es rotate3d, que nos permite, utilizando el ratón sobre la gura, rotarla de manera interactiva en tres dimensiones

2.4.3 Superficies Complejas

El comando cplxmap permite representar graficas de funciones complejas de variable compleja en el siguiente sentido:

Sea la función compleja de variable compleja

f :C →C

z→w=f (z)

El comando ¿cplxmap (z , f (z )) dibuja una gráfica tridimensional en la que el eje X es la parte real de la variable, es decir, Real(z) ; el eje Y es la parte imaginaria de la variable, es decir, Im(z) y el eje Z es la parte real de la imagen de la función, es decir, Re(f(z)).

La variable z va a pertenecer siempre al dominio constituido por el disco unidad centrado en el origen y las coordenadas de los puntos deben estar en forma polar. Esto se consigue utilizando previamente el

Comando ¿cplxgrid (n) , donde n es el número entero positivo.

Ejemplo:

Con los comandos

¿ z=cplxgrid (12);

¿cplxmap (z , z .2)

Page 21: Trabajo Monografico de Matlab.docx

2.4.4 Gráficos Estadísticos:2.4.4.1 Diagrama de Sectores

Resultan útiles para representar datos de tipo cualitativo, en los que tenemos varias opciones, el diagrama de sectores permite compararlas en un círculo con sectores cuyo ángulo es directamente proporcional al porcentaje de cada opción.

Los resultados de las elecciones generales del 12 de marzo de 2000 al Congreso de los Diputados fueron los siguientes.

Formación Política Número de EscañosPartido Popular 183Partido Socialista Obrero 124Convergencia y Unión 15Izquierda Unida 8Partido Nacionalista Vasco 7Otros 12Total 350

Para dibujar un diagrama de sectores de los resultados de las elecciones, procedemos como sigue. Introducimos los datos en un vector

¿ x=[183125158712]

Y ahora, dibujamos el diagrama. Se puede poner una leyenda que nos indique que sector corresponde a cada partido político. Como se puede observar en el gráfico, MatLab calcula automáticamente los porcentajes correspondientes y los pone junto a su sector.

Page 22: Trabajo Monografico de Matlab.docx

¿ pie(x) , legend(' PP ' , ' PSOE ' , ' CiU ' , ' IU ' , ' PNV ' , ' Otros' )

Tanto para el comando pie, como para el comandopie3 existe la posibilidad de separar uno o más sectores para destacarlos con respecto de los demás. Por ejemplo, si queremos separar los sectores correspondientes a los dos primeros datos

¿ pie3 (x , [110000 ])

El vector que se pone a continuación de x debe tener la misma longitud que el x, los unos y los ceros indican, respectivamente, los sectores que queremos separar y los que no.

Page 23: Trabajo Monografico de Matlab.docx

Ejemplo:

2.4.4.2 Diagrama de Pareto

El diagrama de Pareto que produce MatLab constara de barras cuyas alturas son el número de escaños, ordenadas en forma decreciente y sobre las barras, un polígono con las frecuencias acumuladas de los escaños.

Ejemplo:

Formación Política Número de EscañosPartido Popular 183Partido Socialista Obrero 124Otros 42Total 350

El diagrama de Pareto que produce MatLab constara de barras cuyas alturas son el número de escaños, ordenadas en forma decreciente y sobre las barras, un polígono con las frecuencias acumuladas de los escaños.

Además, en el eje vertical derecho aparece una escala de porcentajes.

Para generarlo, escribimos

Page 24: Trabajo Monografico de Matlab.docx

¿ x=[18312542]

¿ pareto(x ) , ylabel (Numero de Escaños ’)

2.4.4.3 Diagrama de Barras

Existen varias posibilidades para representar diagramas de barras.

Ejemplo:

Supongamos que queremos representar los siguientes datos en un diagrama de barras:

Introducimos los datos en un vector

¿ x=[10235182015];

Y ahora usamos los comandos bar,barh,bar3 y bar3h para generar los gráficos. (Usando el comando subplot podemos conseguir que aparezcan todos en la misma figura.)

¿ subplot (2,2,1), ¯(x) ,title (’ BarrasVerticales ’ )

¿ subplot (2,2,2), barh(x ) ,title (’ Barras Horizontales ’)

¿ subplot (2,2,3) ,3̄ (x) , title(’ BarrasVerticales3D ’)

¿ subplot (2,2,4) , 3̄h(x) , title(’ Barras Horizontales3D ’)

Page 25: Trabajo Monografico de Matlab.docx

2.4.4.4 Histogramas

Para generar histogramas se utiliza el comando hist.

Ejemplo:

Generamos 1000 números aleatorios siguiendo la normal N(0,1)

¿ x=randn (1000,1) ;

Con la orden hist (x) , obtenemos un histograma en el que los datos aparecen agrupados en 10 intervalos. Si queremos que aparezcan más o menos intervalos, habrá que indicarlo con ¿hist (x , N ), donde N es el número de intervalos.

Page 26: Trabajo Monografico de Matlab.docx

2.5 Superficies: generador por funciones2.5.1 Esfera

Se genera utilizando el comando>>sphere(n), donde n es el número de puntos en los que queda dividido el ecuador de la esfera.

Cuanto mayor sean, mayor será la aproximación a la curvatura real de la esfera (de radio 1, centrada en el origen.) Poniendo solo ¿ sphere , el valor que tomara n será 20, por defecto

¿ sphere , axis square , title (’ ESFERA ’)

2.5.2 Vectores Normales a una superficie

Dibujar los vectores normales a la superficie de una esfera siguiendo los siguientes pasos:

Dibujar una esfera utilizando lo descrito anteriormente, pero guardando la información en tres variables

¿ [x , y , z ]=sphere(25);

Utilizar el comando ¿ surfnorm(x , y , z )

Este comando también se puede utilizar para dibujar los vectores normales en superficies de funciones de la forma z=f (x , y ) . Para dibujar las normales en el sentido opuesto habrá que poner

surfnorm( x ’ , y ’ , z ’ )

Page 27: Trabajo Monografico de Matlab.docx

2.5.3 Cilindro

El comando ¿cylinder (R , n) genera automáticamente un cilindro de revolución de radio R, donde n es el número de puntos de la circunferencia de la base del cilindro. Como en el caso de la esfera, si usamos solo ¿cylinder (R) , el número n es, por defecto, 20.

2.6 Geometría diferencial de curva

Page 28: Trabajo Monografico de Matlab.docx
Page 29: Trabajo Monografico de Matlab.docx
Page 30: Trabajo Monografico de Matlab.docx