how to define an anonymous function in spmd block?

3 次查看(过去 30 天)
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 个评论
Kirby Fears
Kirby Fears 2016-4-11
编辑:Kirby Fears 2016-4-11
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.

请先登录,再进行评论。

回答(1 个)

sam0037
sam0037 2016-4-14
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

Community Treasure Hunt

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

Start Hunting!

Translated by