MATLAB: Calculate summation with loop or sum

sum plot for loop

Hello,
I have to calculate and plot the attached equation in MatLab using a FOR loop or the sum function. Please Help me !
here is my code:
% code
clc
clear all;
f=(0:10e3:1e6);
a =-48.38 ;
b =0.41 ;
c =-25.32 ;
S1 = a.*f.^b+c;
Amp=[33.37,29.67,10.05,16.38];
Freq = [25.02e-3,34.30e-3,66.64e-3,88.25e-3];
Eca=[3.37,3.46,1.47,0.79];
S2=0;
for i=1:numel(Amp)
ai = Amp(i);
fi =Freq(i);
ei =Eca(i);
S2=S2+ai.*((-1)*exp((f-fi).^2./(2.*ei.^2)));
end
S=S1+S2;
figure(1)
plot(f,S,'*b','linewidth',1),
grid on

Best Answer

for i=1:numel(f)
f_actual = f(i);
S(i) = a*f_actual^b+c+sum(Amp.*exp(-(f_actual-Freq).^2./(2*Eca.^2)));
end
plot(f,S)
I don't know the reason for the (-1) in your code.
Best wishes
Torsten.
Related Question