matrix neighbours chaning with iterations

1 Ansicht (letzte 30 Tage)
Jakub
Jakub am 4 Nov. 2013
Kommentiert: Jakub am 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"?

Akzeptierte Antwort

Matt J
Matt J am 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 Kommentare
Jakub
Jakub am 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 am 4 Nov. 2013
And i want to have there any random numbers not just 20,15,10,... sorry

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by