Sei sulla pagina 1di 10

Introduccin a Matlab

Prctica de Fsica 2 (bilogos y gelogos) - Sigman returns - 2o cuatrimestre de 2008 http://www.df.uba.ar/users/gsolovey/fisica2/fisica2.html Aclaracin: Todo el texto que est dentro de las cajas grises lo pueden copiar y pegar dentro de la ventana "Command Window" de Matlab porque son instrucciones para ejecutar.

Contenidos

Cantidades escalares y variables Vectores Grficos Ejercicios

Cantidades escalares y variables


Los siguientes dos comandos le asignan un nmero a dos variables: a y b. En Matlab, todo lo que est despus del signo % es un comentario y no es ledo como una instruccin de Matlab.
a=3 % le asigna a la variable a el nmero 3 b=4; % le asigna a la variable b el nmero 4 y al usar el *;* al final % no imprime la salida en pantalla a = 3

Las siguientes son algunas operacione posibles con variables


c d e f = = = = a + b; a / b; a^b; sqrt(b); % % % % suma cociente potencia raz cuadrada

A veces es til reasignar el valor de una variable a partir del valor que tena antes. Por ejemplo:
a = a + 2 % le asigna a la variable a el valor que tena a antes ms 2. a = 5

Pueden ejecutar varias veces la instruccin anterior que le va a ir sumando 2 al valor de a en cada paso

a a a a

= a + 2 = a + 2 = a + 2 = 7

a = 9 a = 11

El uso de los parntesis. Hacer las siguientes cuentas a mano y comparar con los resultados obtenidos en Matlab
a + b / 2; (a + b) / 2; b / f - 1; b / (f - 1);

Vectores
En Matlab se usan mucho los arreglos de nmeros, que se llaman vectores si se trata de una fila de nmeros o matrices si se trata de arreglos de filas y columnas. En esta gua empezamos con los vectores. Hay diferentes formas de definir vectores en Matlab. Por ejemplo, las siguientes expresiones son equivalentes para definir vectores. Prubelo.
v1 = v2 = w1 = w2 = a 2 [1 2 3 4 5 6 7 8 9 10]; 1:10; % define un vector que empieza en 1 hasta el 9 de pasos de a 1 [2 4 6 8 10 12 14 16 18 20]; 2:2:20; % define un vector que empieza en 2 hasta el 10 de pasos de

Las siguientes son algunas operaciones entre vectores. Vea los resultados de cada una.
z0 z1 z2 z3 z4 z5 = = = = = = w1 + 2; w1 - v1; w1 + w2; w1.^2; sqrt(w2); w2 ./ v2; % % % % % % le suma 2 a cada componente del vector w1 resta componente a componente los dos vectore suma eleva al cuadrado cada uno de los elementos de w1 calcula la raz cuadrada de cana elemento de w1 divide w2 por v2 elemento a elemento

Grficos

Hay varios comandos para graficar funciones en Matlab. Entre ellas, plot, area, bar, stairs. Empezamos graficando la funcin usando plot

Para esto primero tenemos que definir los valores de x que vamos a usar. Por ejemplo, si queremos usar x=0,1,2,3,...10 hacemos lo siguiente:
x = 0:10;

A los valores de la funcin los vamos a guardar en el vector y. Para eso hacemos lo siguiente: Noten que para elevar al cuadrado cada elemento de x es necesario usar la operacin .^. Si se usa la operacin ^ entre dos vectores lo que se obtiene es el producto escalar entre los dos, como veremos ms adelante.
y = 2*x.^2 + 3*x - 5; figure plot(x,y)

Podemos volver a graficar la misma funcin pero en otro intervalo. Por ejemplo para x entre -5 y 5.
x = -5:5; y = 2*x.^2 + 3*x - 5; plot(x,y,'-+'); % grafica con lnea y smbolos

Y si queremos usar ms puntos para graficar, podemos tomar un vector x con ms elementos, por ejemplo:
x = -5:0.2:5; % esto genera un vector que empieza en -5 y va hasta 5 de a pasos de 0.2 y = 2*x.^2 + 3*x - 5; plot(x,y,'-+')

Pueden probar repetir la ltima instruccin reemplazando el uso de plot por area(x,y) o stairs(x,y) para ver qu hace. Ahora graficamos las siguientes funciones.

clear all

% borra todas las variables definidas hasta ahora creamos el vector x crea un vector que en cada componente tiene el elemento de |x|. lo mismo con la exponencial

x = 0.1:0.01:5; % f = log(x); % logaritmo de cada g = exp(x); % plot(x,f); grid on figure plot(x,g) grid on

% grafica la funcin f(x) % crea una nueva figura

Para crear un grfico con 2 figuras usando subplots y arreglarlos un poco:


FS = 15; % define el tamao de las letras que vamos a usar figure subplot(1,2,1) plot(x,f,'--r','LineWidth',2) xlabel('x','FontSize',FS) ylabel('log(x)','FontSize',FS) set(gca,'FontSize',FS); % define el tamanio de las letras de los ejes subplot(1,2,2) plot(x,g,'--k','LineWidth',2) xlabel('x','FontSize',FS) ylabel('exp(x)','FontSize',FS) set(gca,'FontSize',FS);

Graficar varias funciones en una misma figuras usando subplots.


FS = 15; % definimos t=1:1000; % definimos incrementos de a 1 figure; set(gcf,'Color','w'); subplot(2,2,1); columnas y el tamao de letra que vamos a usar el tiempo como un vector de 1 a 1000 con % define el color del fondo % divide la figura en 4 regiones (2 filas y 2

% empezamos definiendo el grfico 1 plot(t,cos(t/50)); xlabel('t','FontSize',FS); %pone ttulos al eje x ylabel('x','FontSize',FS); %pone ttulos al eje y grid on; %agregamos una grilla title('Coseno'); %ttulo del grfico % Podemos dar todas las instrucciones en una nica lnea separadas por ; subplot(2,2,2);plot(t,exp(t/150));xlabel('t','FontSize',FS);ylabel('x','FontSize',FS);grid on;title('Exp');

subplot(2,2,3);plot(t,sin(t/50).*cos(t/50));xlabel('t','FontSize',FS);yla bel('x','FontSize',FS);grid on;title('Seno*Coseno'); subplot(2,2,4);plot(t,1./(1+(t/150)));xlabel('t','FontSize',FS);ylabel('x ','FontSize',FS);grid on;title('1/(1+t)');

Para terminar mostramos cmo graficar una funcin usando el comando area y graficamos con distinta cantidad de puntos. Vean la importancia de tener suficientes puntos para graficar una funcin que vara en el tiempo.
figure subplot(1,2,1) dx=2; % definimos dx que ser el paso del vector x x=-5:dx:15; % definimos el vector x que toma valores espaciados en dx y=sin(2*x).*cos(1.2*x+2)+2; area(x,y) % podramos reemplazar esto por |plot(x,y)| o |plot(x,y,'+')| subplot(1,2,2) dx=0.1; %definimos dx como el paso del vector x. x=-5:dx:15; y=sin(2*x).*cos(1.2*x+2)+2; area(x,y)% podramos reemplazar esto por |plot(x,y)| o |plot(x,y,'+')|

Ejercicios
1) Frecuencia de muestreo. Queremos representar en un grfico a una variable que cambia en el tiempo de acuerdo a la ecuacin

El siguiente cdigo define la funcin en un rango de valores de t.


clear t y dx dt=1; t=-pi:dt:pi; y=1.2*cos(2*t)+0.8*sin(1.2*t)+3;

Grafique la funcin usando plot (y luego area) y pruebe con distintos valores de dt hasta encontrar uno que sirva para representar adecuadamente la funcin. 2) El siguiente cdigo grafica la funcin

clear x y x = -2:0.1:2; y = 9-x.^2; figure plot(x,y)

Modificarlo para graficar la funcin

3) La ecuacin de los gases ideales es

En este problema trabajamos con variables 'adimensionales' y tomamos por simplicidad NK = 1. Grafique la presin en funcin del volumen para dos temperaturas diferentes en el mismo grfico y con colores distintos. Pngale nombre a los ejes. Ayuda: Para graficar dos funciones en el mismo grfico use el comando hold. Por ejemplo, si despus de graficar una funcin, entramos hold on eso "congela" la figura y lo que grafiquemos a continuacin ser superpuesto hasta que escribamos el comando hold off. 4) Graficar en la misma figura las siguientes funciones

Decidir el nmero de puntos que van a usar para obtener una curva suave 5) Gaussiana. Definir los parmetros de la funcin y graficarla en un rango de valores de x adecuado.

6) Graficar una funcin exponencial para distintos valores de los parmetros en el mismo grfico

Potrebbero piacerti anche