我是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
。我不知道问题是什么。
答案 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});