question about fun defining
Información
La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.
Mostrar comentarios más antiguos
I want to create this fun as below:
R=rand(100);
diff=rand(25);
sum_r1=rand(25);;
fun =@(x) x(:)+x(:).*diff(:)./sum_r1(:);
R_im=nlfilter(R,[2 2],fun);
In fact, I want to add the amount of (diff/sum_r1).x(:) in each neighborhood of 2 by 2 to x(:); I mean I have 1 diff and 1 sum_r1 for every 2 by 2 neighborhood of R. But it gives me an error!
Can anybody please help me?
4 comentarios
Walter Roberson
el 17 de Jul. de 2012
What error does it give?
Note: it is not a good idea to use a variable named "diff" as that will interfere with use of the MATLAB function named "diff"
Andrea
el 17 de Jul. de 2012
Walter Roberson
el 17 de Jul. de 2012
Editada: Walter Roberson
el 17 de Jul. de 2012
In your code, you do not have 1 diff and 1 sum_r1 for each 2 x 2 neighborhood in R: in your code, you have 1 diff and 1 sum_r1 total
Also, watch out: there are 2500 non-overlapping 2 x 2 neighborhoods in a 100 x 100 matrix, not merely 25. And nlfilter() does sliding windows, not non-overlapping windows.
Perhaps you should consider using blkproc() instead of nlfilter()
Andrea
el 17 de Jul. de 2012
Respuestas (0)
La pregunta está cerrada.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!