Semi-repeatable Cellfun Error

1 view (last 30 days)
Tom
Tom on 2 Aug 2012
I'm quite thrown by this problem: I have a line which crops up in a few functions within a program, which uses cellfun to convert some numeric positive/ negative data into strings formatted for currency:
MoneyDisp(:,3) = cellfun(@(x) sprintf('£%0.2f',abs(x)),MoneyDisp(:,3),'UniformOutput',false);
Where MoneyDisp is a cell array, the third column of which has the numeric data in. For a while now, when I try and run it (on R2010a 64 bit, Windows 7), I get the following error:
??? Undefined function or variable 'create_sfh%1@(x)sprintf('£%0.2f',abs(x))'.
So something strange seems to be happening with the execution of the anonymous function to mash the whole thing into one string? If I use
dbstop if error
to catch the error, I can run that line in the command window and it works without any problems. If I then exit debug mode and run the function again, sometimes the error disappears and everything's fine from then on, other times Matlab crashes owing to a segmentation violation.

Accepted Answer

Oleg Komarov
Oleg Komarov on 2 Aug 2012
You can try this solution to format currencies: http://www.mathworks.com/matlabcentral/answers/32171#answer_40659
I suggest to file in a technical support request with TMW.
  1 Comment
Tom
Tom on 3 Aug 2012
Thanks, Oleg. For what it's worth, it seems to be working if I use a standard function instead, e.g.
cellfun(@formatfcn,...)
...
function y formatfcn(x)
y=sprintf('£%0.2f',abs(x))

Sign in to comment.

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!