how can I stop this error?

this is code of my equation getting from you.
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);
my equation
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 matrix
w constant
the error I have is!.
Undefined function or variable "vk".
Error in ==> SOR at 69 filtered = conv2(vk, kernel, 'same');

5 Comments

Exactly what the error is saying: you haven't defined "vk" prior to this line:
filtered = conv2(vk, kernel, 'same');
Undefined function or variable "vk".
Error in ==> SOR at 69 filtered = conv2(vk, kernel, 'same');
Yes. You have not set "vk" to anything by the time that line is executed. You do not assign anything to "vk" until the next expression.
Sorry ,but what I do to 'vk'? how make it defined ?
vk is presumably your original signal. If you don't know what it is, then what do you think you're filtering? Why are you attempting to filter something but don't know what it is? If you're running a filter, you must have some idea of what you want to filter, otherwise, why bother?

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 2 Oct 2013

1 vote

Initialize with k = 0 and vk = your original signal.

2 Comments

I know 'vk' my original initial condition ,I defined 'v' as a matrix n*m
Initialize vk = v.

Sign in to comment.

Asked:

on 1 Oct 2013

Commented:

on 2 Oct 2013

Community Treasure Hunt

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

Start Hunting!