Matlab - proble con varios vectores al mismo tiempo

 
Vista:

proble con varios vectores al mismo tiempo

Publicado por Carlos (2 intervenciones) el 23/03/2010 06:11:58
f=randn(10,10);
ko=median(f);
for i=1:length(f)
dif(:,i)=f(:,i)-ko(:,i);
end

resulta que cuando voy a aplicar
antes me toca diseñar un
C(n)=max(0, C(n-1)+dif)) , osea que cuando c(1-1)0, primer elemento que me toca definir pero no se como hacerlo para que entren a jugar con las demas columnas, si fuera un solo vector haría

c(1)=0; antes del contador y listo. Pero el proble es que tengo varios vectores jugando.

es:
for j=2:1:length(dif)
k(:,j)=max(0,dif(:,i)+ko(:,i));
end
k

lo que me arroja primer vector de ceros y los demas vectores columna se repiten.

Acá dejo para caso de un vector:

f=randn(10,1);
ko=median(f);
for i=1:length(f)
dif(i)=f(i)-ko; %ko es unico para este caso%
end

%para el C(n)%

c(1)=0;
for j=2:length(dif)
c(:,j)=max(0,dif(:,j)+c(:,j-1));
end
c

¿como ó con que comando lo puedo para trabajar con varios vectores al mismo tiempo?
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Dave
Val: 497
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

RE:proble con varios vectores al mismo tiempo

Publicado por Dave (1094 intervenciones) el 23/03/2010 15:43:12
Hola Carlos;

Aqui la solucion para el caso de un solo vector.

Espero que sea de alguna ayuda.

Saludos
Dave

E-mail: [email protected]

............................................................................

clear all,clc

f=randn(10,1)
ko=median(f)

dif=f-ko

C(1)=0;
for n=2:length(dif)
C(n)=max([0; C(n-1)+dif])
end
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Dave
Val: 497
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

RE:proble con varios vectores, Solucion General

Publicado por Dave (1094 intervenciones) el 23/03/2010 16:04:48
Hola Carlos;

Aqui el codigo para un caso general.

Espero sea de ayuda.

Saludos
Dave

............................................................
clear all,clc

f=randn(10,10)

ko=median(f,1)

[fil,col]=size(f);

for i=1:col
dif(:,i)=f(:,i)-ko(i);
end

dif

C=zeros(col,1);

for i=1:col
for n=2:fil
C(i,n)=max([0, C(i,n-1)+dif(i,:)]);
end
end

C
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar