Cellfun with too many outpus

Hi
dynamika_skryte_vrstvy = @(x,W,b)(2/(1+exp(-(W*x+b)*lambda)))-1;
z = cellfun(@(neco) dynamika_skryte_vrstvy(x,neco,b), num2cell(W,2),'UniformOutput',false);
z = cell2mat(z);
This code leads to:
-1 -1 0,999502352199065 -1 -1 -1 -1
-1 -1 -0,913691998327500 -1 -1 -1 -1
-1 -1 0,706815080445750 -1 -1 -1 -1
-1 -1 -0,999998050022476 -1 -1 -1 -1
-1 -1 0,999996403912792 -1 -1 -1 -1
-1 -1 -0,963307663082817 -1 -1 -1 -1
-1 -1 -0,999985431635414 -1 -1 -1 -1
The third column is right output I don't know why it's giving me all other columns. I could just take the one column, but the problem is that it seems the right column is changing index based on x.... Can't say why it is at all. Can someone help, please?(W is random matrix, b is random vector)

回答 (1 件)

Guillaume
Guillaume 2017 年 11 月 10 日

1 投票

I don't know why it's giving me all other columns
Because your dynamika_skryte_vrstvy function returns a row vector for the given inputs.
What are the sizes of W, x, b and lambda? At least one of these latter 3 must have 7 rows.

1 件のコメント

Jakub Matousek
Jakub Matousek 2017 年 11 月 10 日
I got it needed to do this:
z = cellfun(@(neco,neco2) dynamika_skryte_vrstvy(x,neco,neco2), num2cell(W,2),num2cell(b),'UniformOutput',false);
First time working with cellfun. Need to think more next time...

この質問は閉じられています。

質問済み:

2017 年 11 月 10 日

閉鎖済み:

2021 年 8 月 20 日

Community Treasure Hunt

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

Start Hunting!

Translated by