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