fast way of filing up a matrix with function calls
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
i have a 2-D matrix m(i,j). for each (i,j) some function f(i,j) has to be evaluated and that fills up the matrix m(i,j). presently i am using a loop for i=1:N for j=1:N mat(i,j) = f(i,j); to fill up the matrix. Is there a faster implementation of this piece of code.
Réponses (2)
Azzi Abdelmalek
le 21 Déc 2012
Modifié(e) : Azzi Abdelmalek
le 21 Déc 2012
M=rand(4); % your matrix
f=@(x) sin(x)*x % your function
out=arrayfun(@(x) f(x),M)
Or you can use operation element by elemment (Faster)
out=sin(M).*M
4 commentaires
Azzi Abdelmalek
le 21 Déc 2012
Modifié(e) : Azzi Abdelmalek
le 21 Déc 2012
x_grid=1:5;
y_grid=1:4;
[M1,M2]=meshgrid(x_grid,y_grid)
Then calculate using M1 and M2
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!