Info
Cette question est clôturée. Rouvrir pour modifier ou répondre.
question about fun defining
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Walter Roberson
le 17 Juil 2012
Modifié(e) : Walter Roberson
le 17 Juil 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()
Réponses (0)
Cette question est clôturée.
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!