Я новичок в 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
. Я не знаю, в чем проблема.
Ваша проблема в 'testset {:, i}'. Это создаст список из 180 элементов, разделенных запятыми. Это означает, что вы пытаетесь подавать свою функцию с помощью 180 + 1 входов. Я понятия не имею, что 'testet {:, i}' на самом деле должно быть, поэтому я не могу комментировать то, что вы пытаетесь сделать. Кроме того, 'output {:, i}' даст вам ошибку после исправления проблемы 'testet {:, i}. – rayryeng
@rayryeng точно я хочу загрузить 181, потому что couche.netwok является матрицей и matrix_multiplication_same_dimension умножить 2 матрицы –
..... Э-э, что? – rayryeng