• Lunes 23 de Diciembre de 2024, 16:13

Autor Tema:  problema de resultados  (Leído 844 veces)

rabiel

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
problema de resultados
« en: Lunes 14 de Septiembre de 2009, 04:58 »
0
hola: estoy haciendo un programa en matlab, el codigo es el siguente

function[C2iterado C3iterado C]=calcc1(D,rop,C1,C4,L,k,K), tic
format long
clc
clf
Citer=1067911;
C2=C1-1;
J1=rop.*D.*(C1-C2)./L;
C3=0;
C=[C1 C2 J1 C3];
deltat=1;
Vp=7.3E-7;
Vas=1.23E-4;
A=5E-3;
for i=1:10000
    C(i+1,1)=C(1,1);
    C(i+1,2)=C(i,2)-1;
    C(i+1,3)=rop.*D.*(C(i+1,1)-C(i+1,2))./L;
    C(i+1,4)=C(i+1,3)./k;
    if C(i,2)<=C(i,4).*K;
        break
    end
end
C
C3iterado=[C(size(C,1),4)];
C2iterado=[C(size(C,1),2)];
x=[1:size(C(:,2))];
subplot(1,3,1),plot(x,C(:,2))
xlabel('i')
ylabel('C2 [mg/m^3]')
subplot(1,3,2),plot(x,C(:,3))
xlabel('i')
ylabel('J1 [mg/(m^2*s)]')
subplot(1,3,3),plot(x,C(:,4))
xlabel('i')
ylabel('C3 [mg/m^3]')
CiEE=[C2iterado C3iterado];
C1paranuevaiteracion=((1-rop.*D.*A.*deltat./(L.*Vp)).*C(1,1)+(rop.*D.*A.*deltat./(L.*Vp)).*C2iterado);
C4paranuevaiteracion=((1-k.*A.*deltat./Vas).*C(1,4)+(k.*A.*deltat./Vas).*C3iterado);

    if C1paranuevaiteracion>=Citer.*0.9
    calcc1(D,rop,C1paranuevaiteracion,C4paranuevaiteracion,L,k,K)
   
    end
toc
 necesito que en el termino definido como CiEE se guarde el resultado de la primera solucion (como ya esta escrito) y a continuacion al hacer el if empiece a guardar los resultados para cada nueva solucion del problema, para obtener una matriz CiEE con la soluciones de todos los calculos que hizo, alguien sabe como hacerlo???

si no se entiende lo q necesito porfavor avisenme :P

saludos
y gracias de ante mano