Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
% 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');
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
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
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