Matlab - Duda rápida

 
Vista:

Duda rápida

Publicado por Francisco (11 intervenciones) el 20/07/2011 14:48:19
Hola a todos, tengo una duda rápida.
Mi intención es hacer un filtrado de una serie de datos, por ej si tengo

>>x=[1 3 6 3 1] Quiero QUITAR todos los valores menores que 3 de manera que el resultado sea
>>x=[3 6 3]

Yo hacia:
for i=1:1:5
if x(i)<3
x(i)=[ ];
end
end

Pero me da error...
??? Subscripted assignment dimension mismatch.

Hay alguna funcion en MatLab que se encargue de esto??
Alguna sugerencia?

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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Duda rápida

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 20/07/2011 16:13:37
hola Francisco.
tengo 4 maneras de resolver tu problema.
Bueno alli te copio las 4 maneras.
Ya tu, lo tomas que deseas.

%===========================
%1RA FORMA
clear all
x1=[1 3 6 3 1 10 3 4 6 5 1 23 ] ;
indice=find(x1>=3);
x1=x1(indice);
display(x1);
%=============================

%=============================
%2DA FORMA
clear all
x2=[1 3 6 3 1 10 3 4 6 5 1 23];
n=length(x2);
i=1;
while i<=n
if x2(i)<3
x2(i)=[];
n=length(x2);
end
i=i+1;
end
display(x2)
%======================

%=============================
%3RA FORMA
clear all;
x3=[1 3 6 3 1 10 3 4 6 5 1 23];
n=length(x3);
k=1;
for i=1:n
if x3(i)<3
else
X(k)=x3(i);
k=k+1;
end
end
x3=X;
display(x3)
%======================


%=============================
%4TA FORMA
clear all;
x4=[1 3 6 3 1 10 3 4 6 5 1 23];
n=length(x4);
k=1;
for i=1:n
if x4(i)>=3
X(k)=x4(i);
k=k+1;
end
end
x4=X;
display(x4)
%======================


EJECUCION
>> filtrarvector
x1 =
3 6 3 10 3 4 6 5 23


x2 =
3 6 3 10 3 4 6 5 23


x3 =
3 6 3 10 3 4 6 5 23


x4 =
3 6 3 10 3 4 6 5 23


Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
[email protected]
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