Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

Cellfun with too many outpus

1 Ansicht (letzte 30 Tage)
Jakub Matousek
Jakub Matousek am 10 Nov. 2017
Geschlossen: MATLAB Answer Bot am 20 Aug. 2021
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)

Antworten (1)

Guillaume
Guillaume am 10 Nov. 2017
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 Kommentar
Jakub Matousek
Jakub Matousek am 10 Nov. 2017
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...

Diese Frage ist geschlossen.

Community Treasure Hunt

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

Start Hunting!

Translated by