Calculate summation with loop or sum

4 次查看(过去 30 天)
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

采纳的回答

Torsten
Torsten 2018-3-29
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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by