Matlab - Eliminar conjunto de datos de una matriz

   
Vista:

Eliminar conjunto de datos de una matriz

Publicado por JORGE PACHECO (1 intervención) el 18/04/2014 19:44:55
Buenos días a todos.

Mi consulta es la siguiente. Tengo el siguiente código escrito en el script matlab

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
y=[0 2 3 20];
n=length(y);
X=(1:0.1:100);
 
T = zeros(n,length(X));
 
for i=1:n
   for j=1:length(X)
 
       x= 100-(3*X(j));
       K= ((x^2)+(y(i)));
 
       C1=((-v*(xa-3*X(j)))/(2));
 
 
       Y(i,j)=(C*C1*K);
    end
end
 
plot(X,Y(1,:))

de los resultados obtenidos obtengo mas o menos lo siguiente:

X Y
1 33
2 34
3 35
4 550
5 1200
6 1500
8 3000
9 4500
10 5000
11 1100
12 1000
13 900
14 400
15 200

Deseo eliminar del conjunto de datos los valores de Y que superen los 1200, es decir que al final obtenga el siguiente resultado.

X Y
1 33
2 34
3 35
4 550
5 1200
11 1100
12 1000
13 900
14 400
15 200

es eso posible?. Muchas 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

Eliminar conjunto de datos de una matriz

Publicado por Joaquín (50 intervenciones) el 22/04/2014 16:18:50
Con un ciclo for es bastante sencillo.... CREAS un nuevo vector, a partir del que ya tienes y eliminas los valores que no desees....


1
2
3
4
5
6
7
8
9
10
11
12
n=[1 2;1 15;2 17;5 19];
[i j]=size(n);
m=[0 0];
c=1;
 
for i=1:i
    if n(i,2)>16
        m(c,1)=n(i,1);
        m(c,2)=n(i,2);
        c=c+1;
    end
end

Y al final tu vector m, contendrá los valores de n, mayores en su segunda columna...

Saludos
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