how to define an anonymous function in spmd block?

I want to define sinx function in spmd block. how can I do it...it is giving an error you cant define an anonymous function in an spmd block

1 Comment

Did you try writing a function instead of an anonymous function?
For example, the anonymous function:
@(x) x/2
could be turned into a regular function:
function result = divideByTwo(x)
result = x/2;
Then you could use the function by name when calling spmd.

Sign in to comment.

Answers (1)

Hi,
As per this documentation link , the body of an spmd statement cannot define an anonymous function. However, it can reference an anonymous function by means of a function handle.
For example consider the following code where the anonymous function is declared outside spmd block and is referred to successfully inside the spmd block with its handle 'f'.
f = @(x) sin(x);
spmd
sum = 0;
for i = 1:10
sum = sum+ f(i);
end
end

Categories

Find more on Parallel Computing Toolbox in Help Center and File Exchange

Asked:

on 11 Apr 2016

Answered:

on 14 Apr 2016

Community Treasure Hunt

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

Start Hunting!