使用单元格数组并获取太多输入参数错误

时间:2016-06-22 01:54:03

标签: arrays matlab matrix cell

我是MATLAB的初学者。我有我的功能testnetwork

function result = TestNetwork(network, input)
result = input;
 b= [-1 -1 -1 -1 ];
      % Iterate over all the couches
      for i=1:length(network.couches)
      result = network.activation(matrix_multiplication_same_dimension(network.couches{i} ,  vertcat ( result , b))); 
      end
end

这是我的主要脚本:

% initialis a cell of zeros for example   output = zeros_quat(zeros(1, 2)) is %equal to   [0 0 0 0]    [0 0 0 0]
 output = zeros_quat(zeros(10, size(testset,2)));
% 
 for i = 1:size(testset, 2)
%testset is a cell of arrays size (81 * 180)
    output {:,i} = TestNetwork(network, testset{:,i});
 end
end

我收到错误too many input arguments。我不知道问题是什么。

1 个答案:

答案 0 :(得分:0)

这一行是问题所在:

output {:,i} = TestNetwork(network, testset{:,i});

当您使用带有多个条目的花括号testset取消引用单元格数组{}时,它将获取单元格数组的各个单元格并将所有单元格作为单独的参数返回:

a = { [ 1 2], [3 4] };
a{1}
ans =
     1     2

a{1,:}
ans =
     1     2
ans =
     3     4

请注意第二次评估中的ans的两个实例。我怀疑你真正想要的是对等式两边的单个单元格的引用:

output{i} = TestNetwork(network, testset{i});