matrix neighbours chaning with iterations

1 vue (au cours des 30 derniers jours)
Jakub
Jakub le 4 Nov 2013
Commenté : Jakub le 4 Nov 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"?

Réponse acceptée

Matt J
Matt J le 4 Nov 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 commentaires
Jakub
Jakub le 4 Nov 2013
But what if i want to calculate the value of the "edge" by some formula? I need to adress the points..
Jakub
Jakub le 4 Nov 2013
And i want to have there any random numbers not just 20,15,10,... sorry

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by