matrix neighbours chaning with iterations

조회 수: 1 (최근 30일)
Jakub
Jakub 2013년 11월 4일
댓글: Jakub 2013년 11월 4일
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"?

채택된 답변

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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by