• Viernes 1 de Noviembre de 2024, 13:18

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - rabiel

Páginas: [1]
1
Matlab / problema de resultados
« en: Lunes 14 de Septiembre de 2009, 04:58 »
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

Páginas: [1]