What's the difference?

2 ビュー (過去 30 日間)
Francesco
Francesco 2014 年 2 月 21 日
コメント済み: Francesco 2014 年 2 月 21 日
out1.Y=cellfun(@(c) bsxfun(@minus, c,c(100,:)), out1.Y,'uni',0);
>> out1.Y
ans =
Columns 1 through 4
[1000x9 double] [1000x9 double] [1000x9 double] [1000x9 double]
Columns 5 through 8
[1000x9 double] [1000x9 double] [1000x9 double] [1000x9 double]
matrice1=bsxfun(@minus,matrice1, matrice1(100,:)); %%
where matrice1 is the 1000x9 double. What's the difference between this two lines of code? I think there is no difference. Is ir right? Is it the same thing? I would like to do the same thing but the line command is different because in the first code I work with cell array and in the second code I work with simply array.

採用された回答

Walter Roberson
Walter Roberson 2014 年 2 月 21 日
The first line goes through and does the task for all cell array members in out1.Y and the second one only does a single numeric array.
The @(c) is creating an anonymous function for cellfun to act on. You can see that the anonymous function's body is structurally the same as the second line, so the logic of the second one is being applied repeatedly in the first one.
  1 件のコメント
Francesco
Francesco 2014 年 2 月 21 日
Thanks!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCell Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by