how to define an anonymous function in spmd block?

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

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by