spfun not working as expected with an anonymous function

1 view (last 30 days)
I'm trying to run the following
spfun((@(n) nchoosek(n, 2)), 4*speye(4,4))
I get the following error
Error using sparse
Vectors must be the same lengths.
Error in spfun (line 22)
f = sparse(i,j,feval(fun,x),m,n);
I expect to see a 4x4 matrix with sixes on the diagonal. What am I doing wrong?
EDIT I came up with a somewhat inelegant fix:
spfun((@(n_vec) arrayfun(@(n) nchoosek(n, 2), n_vec)), 4*speye(4,4))

Answers (0)

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!