Ejercicios tipo Parcialito de Matlab
Práctica de Física 2 (biólogos y geólogos) - Sigman returns - 2o cuatrimestre de 2008 http://www.df.uba.ar/users/gsolovey/fisica2/fisica2.html
Contenidos
Ejercicios de la practica 1 (Introduccion)
Ejercicio 1 Aplico los siguientes comandos
coco=5; coco=2+coco; coco=2+3*coco; eldiego=coco+10;
Luego de aplicarlos ¿cuánto vale coco?
A) coco=5
B) coco=35
C) coco=23
D) Ninguna de las anteriores
¿y cuánto vale eldiego?
A) eldiego=10
B) eldiego=33
C) eldiego=99
D) Ninguna, eldiego no compite con el coco.
Ejercicio 2 Quiero definir un vector palmera = [3 6 9 12 15 18 21]
¿Cuáles de las siguientes opciones me sirven?
A) palmera=1:3:21
B) palmera=3:21
C) palmera= [3 6 9] + [12 15 18 21]
D) Ninguna de las anteriores
Ejercicio 3 Quiero graficar:
en el intervalo [1,3] con una precision de 0.1 ¿Cuáles de las siguientes opciones me sirve?
A)
x=1:3 f=exp(x)+1/x +log(x) plot(f)
B)
x=1:3 f=exp(x)+1./x +log(x) plot(x,f)
C)
x=1:0.1:3 f=exp(x)+1/x +log(x) plot(x,f)
D)
x=1:0.1:3 f=exp(x)+1./x +log(x) plot(x,f)
Ejercicios de la practica 2 (Gases)
Ejercicio 1 Quiero integrar la funcion:
en el intervalo [0, 2]. Para esto tengo que dividir el intervalo en subintervalos y evaluar la función en el centro de cada subintervalo. Luego multiplico la f evaluada por el ancho del subintervalo. Decidir cuál de los siguientes cuatro códigos hace lo que se pide.
A)
x1=0; x2=2; N=10; dx=(x2-x1)/N; xi = x1:dx:x2; fi = exp(2*xi); I=sum(fi*dx);
B)
x1=0; x2=2; N=10; dx=(x2-x1)/N; xi = (x1+dx/2):dx:(x2-dx/2); fi = exp(2*xi); I=sum(fi*dx);
C)
x1=0; x2=2; N=10; dx=(x2-x1)/N; xi = x1:dx:x2; fi = exp(2*xi); I=sum(fi);
D)
x1=0; x2=2; N=10; dx=1+(x2-x1)/N; xi = (x1+dx/2):dx:(x2-dx/2); fi = exp(2*xi); I=sum(fi*dx);
Ejercicio 2 En el laboratorio mido el tiempo que tarda en producirse una reaccion en una celula. Repito el experimento 100 veces cambiando la intensidad de luz, la longitud de onda de la misma y la presión. De esta forma, tengo una matriz de cuatro columnas que contiene los siguientes datos. Los datos de matriz están en un archivo de texto que se llama experimento.tex.
Tiempo Intensidad Long.de Onda Presion
t1..........I1..........l1..........p1
t2..........I2..........l2..........p2
......................................
......................................
......................................
t100.......I100........l100.......p100
Si quiero graficar el tiempo en funcion de la Intensidad en Matlab. ¿Cuáles son los comandos adecuados?
A)
load experimento.tex
tiempo=tiempo(:,1)
Intensidad=Intensidad(:,2)
plot(Intensidad,tiempo)
B)
load experimento.tex
tiempo=tiempo(1,:)
Intensidad=Intensidad(2,:)
plot(Intensidad,tiempo)
C)
load experimento.tex
tiempo=experimento(1,:)
Intensidad=experimento(2,:)
plot(Intensidad,tiempo)
D)
load experimento.tex
tiempo=experimento(:,1)
Intensidad=experimento(:,2)
plot(Intensidad,tiempo)
Ejercicios de la practica 3 (Movimiento Browniano)
Ejercicio 1 Quiero generar un numero aleatrio entre [-5,2] ¿Cuál de los siguientes comandos resulta conveniente?
A)
numeroaleatorio=7*rand+2
B)
numeroaleatorio=-5*rand+2
C)
numeroaleatorio=7*rand-5
D) La respuesta B y C son correctas
Ejercicio 2 Quiero realizar una caminata al azar en la que una particula tiene una probabilidad p1=0.25 de aumentar su posición en dx, una probabilidad p2=0.5 de permanecer en el mismo lugar y una probabilidad p3=0.25 de disminuir dx. ¿Cuál de los siguientes 4 códigos realiza lo que yo pretendo?
A)
p1=0.25; p2=0.5; p3=0.25; deltax=1; T=10000; x(1)=0; for i=2:T aleatorio=rand; if (aleatorio < p1) x(i)=x(i-1)+deltax; end if(aleatorio > p1 & aleatorio < (p1+p2) ) x(i)=x(i-1); end if (aleatorio > (p1+p2) ) x(i)=x(i-1)-deltax; end end
B)
p1=0.25; p2=0.5; p3=0.25; deltax=1; T=10000; x(1)=0; for i=2:T aleatorio=rand; if (aleatorio < p1) x(i)=x(i-1)+deltax; end if(aleatorio > p1 & aleatorio < p2) x(i)=x(i-1); end if (aleatorio > p2) x(i)=x(i-1)-deltax; end end
C)
p1=0.25; p2=0.5; p3=0.25; deltax=1; T=10000; x(1)=0; for i=2:T aleatorio=rand; if (aleatorio < p1) x(i)=x(i-1)+deltax; end if (aleatorio < p2) x(i)=x(i-1); end if (aleatorio < p3) x(i)=x(i-1)-deltax; end end
D)
p1=0.25; p2=0.5; p3=0.25; deltax=1; T=10000; x(1)=0; for i=2:T aleatorio=rand; if (aleatorio < p1) x(i)=x(i-1)+deltax; else x(i)=x(i-1); else x(i)=x(i-1)-deltax; end end
Ejercicio 3 Ahora quiero realizar muchas caminata al azar en la que una particula tiene una probabilidad p1=0.5 de aumentar de dx, una probabilidad p2=0.5 de disminuir dx. Una condicion extra es que cuando la particula llega a x=-10 hay una pared con lo cual necesariamente debe aumentar en dx. ¿Cuál de los siguientes códigos realiza lo que yo pretendo?
A)
p=0.5; deltax=1; T=1000; for part=1:100 x(1,part)=0; for i=2:T if (rand < p) x(i,part)=x(i-1,part)+deltax; else x(i,part)=x(i-1,part)-deltax; end if ( x(i-1,part)==-10 ) x(i,part)=x(i-1,part)+deltax; end end end
B)
p=0.5; deltax=1; T=1000; for part=1:100 x(1,part)=0; for i=2:T if (rand < p) x(i,part)=x(i-1,part)+deltax; else x(i,part)=x(i-1,part)-deltax; end if ( x(i-1,part)==-10 ) x(i,part)=x(i-1,part)+2*deltax; end end end
C)
p=0.5; deltax=1; T=1000; for part=1:100 x(1,part)=0; for i=2:T if ( x(i-1,part)==-10 ) x(i,part)=x(i-1,part)+deltax; else if (rand < p) x(i,part)=x(i-1,part)+deltax; else x(i,part)=x(i-1,part)-deltax; end end end end
D) Las respuestas A y C son correctas
Ejercicios de la practica 4 (Psicofisica)
Ejercicio 1 Tengo el mismo experimento que el ejercicio 2 de la practica de Gases. Quiero hacer un histograma de los tiempos donde la longitud de onda utilizada es igual a 400nm y la presion es menor que 2 atm. ¿Cuál de los siguientes codigos utilizaria? Los primeros comandos son generales.
load experimento.tex
tiempo=experimento(:,1)
Intensidad=experimento(:,2)
LongOnda=experimento(:,3)
presion=experimento(:,4)
A)
TiemposDelHistograma=find(LongOnda==400 & presion<2) hist(TiemposDelHistograma)
B)
TiemposDelHistograma=tiempos(find(LongOnda==400 & presion<2)) hist(TiemposDelHistograma)
C)
TiemposDelHistograma=find(LongOnda=400 & presion<2) hist(TiemposDelHistograma)
D)
TiemposDelHistograma=tiempos(find(LongOnda=400 & presion<2)) hist(TiemposDelHistograma)
Ejercicio 2 Otra vez el mismo experimento. Ahora quiero graficar el promedio de tiempos en función de la Intensidad para presiones menores a 1atm. ¿Cuál de los siguientes códigos utilizaria?
A)
ValoresUnicosIntensidad=unique(Intensidad) for i=1:length(ValoresUnicosIntensidad); TiempoPromedio(i) = mean( find( Intensidad==ValoresUnicosIntensidad(i) & presion < 1) ); end figure plot(ValoresUnicosIntensidad, TiempoPromedio)
B)
ValoresUnicosIntensidad=unique(Intensidad) for i=1:length(ValoresUnicosIntensidad); TiempoPromedio(i) = mean( tiempo(find(presion < 1)) ); end figure plot(ValoresUnicosIntensidad, TiempoPromedio)
C)
ValoresUnicosIntensidad=unique(Intensidad) for i=1:length(ValoresUnicosIntensidad); TiempoPromedio(i) = length( tiempo(find( Intensidad==ValoresUnicosIntensidad(i) & presion < 1)) ); end figure plot(ValoresUnicosIntensidad, TiempoPromedio)
D)
ValoresUnicosIntensidad=unique(Intensidad) for i=1:length(ValoresUnicosIntensidad); TiempoPromedio(i) = mean( tiempo(find( Intensidad==ValoresUnicosIntensidad(i) & presion < 1)) ); end figure plot(ValoresUnicosIntensidad, TiempoPromedio) % % %
Ejercicios de la practica 6 (Ratchets)
Ejercicio 1 Quiero graficar un potencial periodico en el intervalo [-45, 55].Cada periodo es de 10. Durante el 80% del periodo el potencial desciende con una pendiente de -1 y durante el 20% restante el potencial aumenta con una pendiente de +4. ¿Cuál de los siguientes codigos hace lo que se pretende?
A)
x=-45:1:55; Periodos_Espaciales=10 X_QueBajan=8 X_QueSuben=2 l=1 Potencial(l)=0 for i=1:Periodos_Espaciales for j=1:X_QueBajan l=l+1; Potencial(l)=Potencial(l-1)-1; end for m=1:X_QueSuben l=l+1; Potencial(l)=Potencial(l-1)+4; end end plot(x,Potencial)
B)
x=-45:1:55; Periodos_Espaciales=10 X_QueBajan=8 X_QueSuben=2 i=1 Potencial(i)=0 for i=1:Periodos_Espaciales for j=1:X_QueBajan Potencial(i)=Potencial(i-1)-1; end for m=1:X_QueSuben Potencial(i)=Potencial(i-1)+4; end end plot(x,Potencial)
C)
x=-45:1:55; Periodos_Espaciales=10 X_QueBajan=8 X_QueSuben=2 l=1 Potencial(l)=0 for i=1:Periodos_Espaciales for j=1:X_QueBajan Potencial(j)=Potencial(j-1)-1; end for m=1:X_QueSuben Potencial(m)=Potencial(m-1)+4; end end plot(x,Potencial)
D)
x=-45:1:55; Periodos_Espaciales=10 X_QueBajan=8 X_QueSuben=2 l=1 Potencial(l)=0 for i=1:Periodos_Espaciales if(i<X_QueBajan) Potencial(i)=Potencial(i-1)-1; else Potencial(l)=Potencial(l-1)+4; end end plot(x,Potencial)
-------------------------------------------------------- http://www.df.uba.ar/users/gsolovey/fisica2/fisica2.html