fast way of filing up a matrix with function calls
조회 수: 1 (최근 30일)
이전 댓글 표시
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.
답변 (2개)
Azzi Abdelmalek
2012년 12월 21일
편집: Azzi Abdelmalek
2012년 12월 21일
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
Azzi Abdelmalek
2012년 12월 21일
편집: Azzi Abdelmalek
2012년 12월 21일
x_grid=1:5;
y_grid=1:4;
[M1,M2]=meshgrid(x_grid,y_grid)
Then calculate using M1 and M2
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!