Matlab - Calculo variacion puntos de cuadricula

 
Vista:

Calculo variacion puntos de cuadricula

Publicado por Pedro (1 intervención) el 27/01/2020 01:12:34
Hola, tengo una duda de como solucionar un problema.

Tengo una cuadricula con sus respectivos puntos en X y en Y. Cada uno de estos puntos tiene un valor almacenado en Z.
Lo que necesito es evaluar la coordenada (x,y) con las demas, en caso de que esta este a una distancia de 1.5 ya sea en X o Y debera restarse los valores de la columna Z.

Les agradezco mucho si me pueden ayudar
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: 7.861
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Calculo variacion puntos de cuadricula

Publicado por JOSE JEREMIAS CABALLERO (5518 intervenciones) el 27/01/2020 13:31:09
Estimado, podría poner un ejemplo muy pequeño de red que menciona y resolverlo en forma analitica para tener una idea clara de lo que desea.

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab
Servicio de Asesoría Online en Matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
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
sin imagen de perfil
Val: 853
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Calculo variacion puntos de cuadricula

Publicado por Daniel (245 intervenciones) el 27/01/2020 19:02:20
Hola,

Si tienes una matriz Z en la que cada punto se representa con Z(x,y) y quieres obtener todos los puntos que están a una distancia del punto (x,y) lo puede hacer fácilmente con el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
n = 5;
x = 3;
y = 3;
d = 1.5;
 
Z = magic(n);
 
% Matriz de coordenadas para X e Y
X = repmat(1:n, n, 1);
Y = X';
% La distacia de cada punto a (3, 2)
distancia = sqrt((X-x).^2 + (Y-y).^2)
% La suma de todos los puntos separados d
sum(Z(distancia  > d))

1
2
3
4
5
6
7
8
9
10
11
12
distancia =
 
    2.8284    2.2361    2.0000    2.2361    2.8284
    2.2361    1.4142    1.0000    1.4142    2.2361
    2.0000    1.0000         0    1.0000    2.0000
    2.2361    1.4142    1.0000    1.4142    2.2361
    2.8284    2.2361    2.0000    2.2361    2.8284
 
 
ans =
 
   208

Ten en cuenta que Matlab va primero por columnas y después por filas, cosa que hay que tener en cuenta a la hora de representar los datos.

Saludos,
Daniel Rodríguez.
Analytics Lane
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