フィルターのクリア

how to define an anonymous function in spmd block?

2 ビュー (過去 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