Evaluate an anonymous function for each value in a matrix
조회 수: 16 (최근 30일)
이전 댓글 표시
I want to evaluate a function for every value in a matrix, but MATLAB thinks I want to input the entire matrix into the function.
f = @(x) x*sin(x);
a = [1 2 3;4 5 6];
f(a)
ERROR: "incorrect dimensions"
^this makes sense because it thinks i want a*sin(a) instead of a(i,j)*sin(a(i,j) for i = 1:3 and j = 1:2
In another implementation like multiplication I would use ".*" to signify elemtwise calculations so I am assuming there is something similar for anonymous functions.
I could use a loop for this example but I want to implement it in a more complicated application so I would be a much larger headache.
댓글 수: 0
채택된 답변
Dyuman Joshi
2023년 5월 4일
"In another implementation like multiplication I would use ".*" to signify elementwise calculations so I am assuming there is something similar for anonymous functions."
Yes, use element-wise operations while defining the function handle
f = @(x) x.*sin(x);
a = [1 2 3;4 5 6];
f(a)
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!