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 个评论

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?

请先登录,再进行评论。

回答(1 个)

Walter Roberson
Walter Roberson 2013-10-2

1 个投票

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

2 个评论

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

请先登录,再进行评论。

类别

Community Treasure Hunt

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

Start Hunting!

Translated by