how to define an anonymous function in spmd block?

조회 수: 3 (최근 30일)
Samruddhi Pednekar
Samruddhi Pednekar 2016년 4월 11일
답변: sam0037 2016년 4월 14일
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