# How can i write this equation in matlab ??????

조회 수: 2(최근 30일)
Mary Jon 2013년 9월 18일
(v(i,j))^(k+1)= (1-ω)(v(i,j))^(k)-ω[(W1(i,j)(v(i+1,j))^(k)+ W2(i,j)(v(i-1,j))^(k+1)+ W3(i,j)(v(i,j+1)^(k)+ W4(i,j)(v(i,j-1))^(k+1)(/(W i,j)]
v matrix k iteration W may by matrix (have i &j) w constant

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

### 답변(2개)

John Petersen 2013년 9월 18일
The trick is to update v(i-1,j) and v(i,j-1) without updating v(i+1,j) and v(i,j+1) before going on the v(i,j). After that do:
v(i,j)= (1-ω)*v(i,j) - ω*[(W1(i,j)*v(i+1,j) + W2(i,j)*v(i-1,j) + W3(i,j)*v(i,j+1) + W4(i,j)*v(i,j-1))/W(i,j)]
##### 댓글 수: 3표시 이전 댓글 수: 2숨기기 이전 댓글 수: 2
Mary Jon 2013년 9월 21일
I do conv2(), and imfilter() ,but no result getting yet ,where is wrong?

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

Image Analyst 2013년 9월 18일
편집: Image Analyst 2013년 9월 18일
Looks like unsharp masking, so you can do this
kernel = [0, W1, 0; W3, 0, W4; 0, W2, 0];
filtered = conv2(vk, kernel, 'same');
vk = (1-omega)*vk + filtered./W;
##### 댓글 수: 8표시 이전 댓글 수: 7숨기기 이전 댓글 수: 7
Mary Jon 2013년 9월 20일
편집: Mary Jon 2013년 10월 1일
when using this "trick"
Z = zeros(size(W1)); kernel = [Z, W1, Z; W3, Z, W4; Z, W2, Z]; filtered = conv2(vk, kernel, 'same'); vk = (1-w)*vk + filtered./W(i,j);
get this error
Undefined function or variable "vk".
Error in ==> SOR at 69 filtered = conv2(vk, kernel, 'same');

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

### 범주

Find more on Numerical Integration and Differentiation in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!