Когда я реализую суммирование ряда, например:
Я использую циклы, как показано ниже:
H=f(x);
C0=0;
for i=1:p
C0=C0+((y(i) - H(i))^2); %//H and Y are vectors of the same size. The function f(x) makes sure of this
end
C1=0;
for j=1:m
C1=C1+(L(j)*(w(j).^2));
end
C=C0+C1
В предыдущем вопросе SO я спросил о другой серии суммирования, и кто-то упомянул полное избавление от циклов и использование матричных операций. Затем они предоставили мне «векторизованную» версию. Код, который они мне предоставили, работал отлично, но я не знаю, как они вывели его из уравнения суммирующего ряда, которое я предоставил.
В общем, как реализовать серию суммирования в MATLAB без циклов?
Какие общие правила я могу выучить, чтобы в будущем я мог реализовать любой ряд суммирования в векторизованной форме?
Спасибо!
H=f(x)
кажется очень странным. Либо это должно бытьH=f(i)
, либо вы можете вывести его вне цикла. - person Daniel   schedule 04.03.2014-
). - person Daniel   schedule 05.03.2014