Matlab - coger puntos de un meshgrid

 
Vista:

coger puntos de un meshgrid

Publicado por benito (1 intervención) el 17/02/2018 13:39:35
Hola. Vereis tengo que calcular el gradiente de un campo (previamente hecho) para poder averiguar la dirección. Para ello hice un meshgrid para tener una malla de puntos, coloque un punto el cual es el que radia el campo y otro punto alejado de él (del que tengo que partir hacia el otro). Digamos que el punto que radia es el emisor y el otro el receptor, pues el emisor tiene que encontrar al emisor. Para ello se me ocurrió ir haciendo el gradiente por partes. es decir una vez dibujo el campo y los puntos, coger un pequeño cuadrado de la malla que contenga el punto inicial (receptor) y calcular el gradiente, después moverme en X dirección y volver a hacer lo mismo, así sucesivamente hasta llegar al emisor. Mi problema es que no soy capaz de coger los puntos del meshgrid para hacer el gradiente del cuadrado inicial. He intento hacer el cuadrado inicial con dos vectores pero creo que no es una manera muy buena de hacerlo. Os dejo el código, porque aunque parezca difícil explicarme, viéndolo se vé mucho mas fácil. Gracias de antemano


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
%Plano
x=linspace(0,10,100);
y=linspace(0,5,100);
[x2 y2 ]=meshgrid(x,y);
x=reshape(x2,numel(x2),1);
y=reshape(y2,numel(y2),1);
 
%Posicion 
pos_Rx(1,:)=[6.15 3.30];
pos_ini(1,:)=[1 1];
%x_pos_ini=0.5-pos_ini(1,1):x2(1,end)/length(x2(1,:)):0.5+pos_ini(1,1);
%y_pos_ini=0.5-pos_ini(1,2):y2(end,1)/length(y2(:,1))*2:0.5+pos_ini(1,2);
%plot(x_pos_ini,y_pos_ini,'*')
 
R=sqrt( ( pos_Rx(1,1) - x ).^2 + ( pos_Rx(1,2) - y ).^2 );
c=1./(R+1);
c=reshape(c,size(x2));
[DX,DY] = gradient(c);
figure
%curvas de nivel
contour(x2,y2,c)
hold on
%gradiente
quiver(x2,y2,DX,DY)
hold off
 
%Representacion
figure
pcolor(x2,y2,c)
title('Algoritmo');
xlabel('Eje x [m]');
ylabel('Eje y [m]');
hold on;
plot(pos_Rx(1,1),pos_Rx(1,2),'k*');
plot(pos_ini(1,1),pos_ini(1,2),'k*');
colorbar;
axis image;
shading interp;
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

coger puntos de un meshgrid

Publicado por benito (1 intervención) el 20/02/2018 17:55:10
nadie me echa un cable?
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