Bienvenido al Renacimiento

Bienvenidos al nuevo Renacimiento, espero que os ayude

domingo, 8 de enero de 2012

Ejercicio obligatorio resuelto

Aquí tenéis resuelto el ejercicio obligatorio:


Ejercicio 1:

%Apartado a
Matriz1 =[500 503 507 510 515 518 522 525 528 530 533 536 540 543 545 548 550; 0.578 0.650 0.688 0.676 0.697 0.765 0.872 0.907 0.875 0.829 0.769 0.755 0.808 0.852 0.871 0.836 0.776]
abs= Matriz1(2,:) %Obtenemos el vector absorbancia
maximabs=0
for i=1:length(abs)
if abs(i)>maximabs
maximabs=abs(i)
longitud=Matriz1(1,i)
end
end
maximabs %Valor de máxima absorbancia
longitud %Longitud de onda de la max absorbancia
%Apartado b
longonda=Matriz1(1,:) %Vector longitud de onda
plot(longonda,abs) %Gráfica absorbancia frente longitud de onda
hold on
plot(longitud,maximabs,'*r') %Adición de máximo global
%Apartado c
maximolocal=0
for i=2:(length(abs)-1)
if abs(i)>abs(i-1) && abs(i)>abs(i+1)
maximolocal=abs(i)% Máximo local
longlocal=Matriz1(1,i)%Longitud del maximo local
plot(longonda,abs)
hold on %Gráfica de absorbancia
plot(longitud,maximabs,'*r')
hold on % Adición de los máximos locales a la gráfica
plot(longlocal,maximolocal,'*r')
end
end
%Apartado d
minimoabs=maximabs
%Cálculo de minimos de absorbancia con respectiva longitud de onda
for i=1:length(abs)
if abs(i)<minimoabs
minimoabs=abs(i)
longitudmin=Matriz1(1,i)
end
end
minimoabs
longitudmin

Ejercicio 2
%Apartado a
RojoCongo= [400 430 460 490 520 550 580 610 640 670;0.130 0.174 0.242 0.304 0.291 0.151 0.044 0.010 0.005 0.003]
Azulbromotinol=[400 430 460 490 520 550 580 610 640 670; 0.178 0.132 0.091 0.100 0.139 0.220 0.356 0.498 0.372 0.102]
Mezcla= [400 430 460 490 520 550 580 610 640 670; 0.409 0.034 0.025 0.045 0.077 0.117 0.030 0.014 0.006 0.012]
%Máxima y mínima absorbancia y longitud respectiva Rojo Congo
absRC=RojoCongo(2,:) %Vector absorbancia
mxabsRC=0 %Máximo de partida
for i=1:length(absRC)
if mxabsRC<absRC(i)
mxabsRC=absRC(i) %Valor maximo RojoCongo
mxlongRC=RojoCongo(1,i) %Longitud
end
minabsRC=mxabsRC
if minabsRC>absRC(i)
minabsRC=absRC(i) %Valor minimo RojoCongo
minlongRC=RojoCongo(1,i) %Longitud
end
end
%Devolución de resultados
mxabsRC
mxlongRC
minabsRC
minlongRC
%Máxima y mínima absorbancia y longitud respectiva Azul de Bromotinol.
absAB=Azulbromotinol(2,:)%Vector absorbancia
mxabsAB=0%Máximo de partida
for i=1:length(absAB)
if mxabsAB<absAB(i)
mxabsAB=absAB(i)%Valor maximo Azulbromotinol
mxlongAB=Azulbromotinol(1,i)%Longitud
end
minabsAB=mxabsAB
if minabsAB>absAB(i)
minabsAB=absAB(i)%Valor minimo Azubromotinol
minlongAB=Azulbromotinol(1,i)%Longitud
end
end
%Devolución de resultados
mxabsAB
mxlongAB
minabsAB
minlongAB
%Máxima y mínima absorbancia y longitud respectiva Mezcla
absM=Mezcla(2,:)%Vector absorbancia
mxabsM=0
for i=1:length(absM)
if mxabsM<absM(i)
mxabsM=absM(i)%Valor máximo de la mezcla
mxlongM=Mezcla(1,i)%Longitud
end
minabsM=mxabsM
if minabsM>absM(i)
minabsM=absM(i)%Valor minimo de la mezcla
minlongM=Mezcla(1,i)%Longitud
end
end
%Devolución de resultados
mxabsM
mxlongM
minabsM
minlongM
%Apartado b y c
%Máximos y minimos locales de Rojo Congo.
absRC=RojoCongo(2,:)
longRC=RojoCongo(1,:)
maxlocalRC=0%Máximo y minimo de partida
minlocalRC=max(absRC)
for i=2:(length(absRC)-1)
if absRC(i)>absRC(i-1) && absRC(i)>absRC(i+1) %Condicion de máximo local
maxlocalRC=absRC(i)
mxlonglocalRC=RojoCongo(1,i)
plot(longRC,absRC,'-xr')%Gráfica Rojo Congo
xlabel('Longitud de onda')
ylabel('Absorbancia')
grid

end
if absRC(i)<absRC(i-1) && absRC(i)<absRC(i+1)%Condición de minimo local
minlocalRC=absRC(i)
milonglocalRC=RojoCongo(1,i)
end

end

%Máximos y minimos locales de Azul de bromotileno.
absAB=Azulbromotinol(2,:)%Abs Azulbromotinol
longAB=Azulbromotinol(1,:)%Longitud del Azulbromotinol
maxlocalAB=0
minlocalAB=max(absAB)
for i=2:(length(absAB)-1)
if absAB(i)>absAB(i-1) && absAB(i)>absAB(i+1)
maxlocalAB=absAB(i)
mxlonglocalAB=Azulbromotinol(1,i)
hold on
plot(longAB,absAB,'-+b')%Gráfica Azulbromotinol

end
if absAB(i)<absAB(i-1) && absAB(i)<absAB(i+1)
minlocalAB=absAB(i)%Mínimo local
milonglocalAB=Azulbromotinol(1,i)%Longitud

end
end


%Máximo y minimos locales de la mezcla.
absM=Mezcla(2,:)
longM=Mezcla(1,:)
maxlocalM=0
minlocalM=max(absM)
for i=2:(length(absM)-1)
if absM(i)>absM(i-1) && absM(i)>absM(i+1)
maxlocalM=absM(i)
mxlonglocalM=Mezcla(1,i)
hold on
plot(longM,absM,'k')%Gráfica Mezcla

end
if absM(i)<absM(i-1) && absM(i)<absM(i+1)
minlocalM=absM(i) %Mínimo local
milonglocalM=Mezcla(1,i)%Longitud
end
end
legend('RojoCongo','Azulbromotinol','Mezcla') %Leyenda de la gráfica
%Apartado d
hold on
plot(mxlonglocalRC,maxlocalRC,'*r')%Adicion del maximo a la gráfica
hold on
plot(mxlonglocalAB,maxlocalAB,'*b')%Adicion del maximo a la gráfica
hold on
plot(mxlonglocalM,maxlocalM,'*k')%Adicion del maximo a la gráfica

No hay comentarios:

Publicar un comentario