arrayfun syntax and use with scalar input
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
checker
el 28 de Mayo de 2020
Comentada: checker
el 28 de Mayo de 2020
Hello people,
I've been (ab)using arrayfun and cellfun for some time without fully understanding the syntax. It centers around '@' symbol followed by the arguements.
To demonstrate, if I want to add 2 arrays, I can do:
a=[1 2;3 4];
b=[5 6;7 8];
c=arrayfun(@(x,y) x+y,a,b);
But what if I wanted to simply add a scalar?
a=[1 2;3 4];
b=2;
c=arrayfun(@(x,y) x+y,a,b);
Error: All of the input arguments must be of the same size and shape.
Previous inputs had size 2 in dimension 1. Input #3 has size 1
So is there a good summary of arrayfun as it's used above? Can one treat an input as a scalar or vector and others as arrays?
Thanks,
-Chris
2 comentarios
Stephen23
el 28 de Mayo de 2020
"Can one treat an input as a scalar or vector and others as arrays?"
No, but you can easily parameterize the function using an anonymous function:
Respuesta aceptada
James Tursa
el 28 de Mayo de 2020
To use a scalar you could use this syntax:
a=[1 2;3 4];
b=2;
c=arrayfun(@(x)x+b,a);
The function handle would pick up b from the workspace.
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!