Info

この質問は閉じられています。 編集または回答するには再度開いてください。

Cellfun with too many outpus

1 回表示 (過去 30 日間)
Jakub Matousek
Jakub Matousek 2017 年 11 月 10 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
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 日
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...

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

Community Treasure Hunt

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

Start Hunting!

Translated by