Evaluate an anonymous function for each value in a matrix
14 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Payson
am 4 Mai 2023
Beantwortet: Dyuman Joshi
am 4 Mai 2023
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 Kommentare
Akzeptierte Antwort
Dyuman Joshi
am 4 Mai 2023
"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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!