Evaluate an anonymous function for each value in a matrix
12 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Dyuman Joshi
il 4 Mag 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 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!