matrix neighbours chaning with iterations

1 visualización (últimos 30 días)
Jakub
Jakub el 4 de Nov. de 2013
Comentada: Jakub el 4 de Nov. de 2013
Imagine I have matrix A=ones(5). I want to change center of the matrix to 17, A(3,3)=17; In next iteration I want to change all points that are next to this 20 to 5. i will have:
1 1 1 1 1
1 5 5 5 1
1 5 17 5 1
1 5 5 5 1
1 1 1 1 1
In next step i want to change all ones to 10. And so on...
10 10 10 10 10
10 5 5 5 10
10 5 17 5 10
10 5 5 5 10
10 10 10 10 10
Any idea how to do this to large matrix? How to adress only the neighbours but not the points "inside"?

Respuesta aceptada

Matt J
Matt J el 4 de Nov. de 2013
[M,N]=size(A);
center=size(A)/2+.5;
[I,J]=ndgrid((1:M)-center(1), (1:N)-center(2));
A(:) = 20-5*round(max(abs(I),abs(J)))
  2 comentarios
Jakub
Jakub el 4 de Nov. de 2013
But what if i want to calculate the value of the "edge" by some formula? I need to adress the points..
Jakub
Jakub el 4 de Nov. de 2013
And i want to have there any random numbers not just 20,15,10,... sorry

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by