Clear Filters
Clear Filters

How to sum a series of functions and then plot the sum?

25 views (last 30 days)
This function is supposed to be able to plot a box filter:
That should possibly look like this:
I already defined t as a 1x360 double array using:
t = t = linspace(0, 4, 360)
syms k
z = symsum( (1 / k) * sin((2 * pi) * k * t ), k, 1, 10) ;
It returns a 1x360 sym variable, but I don't know how to plot it.
  3 Comments
Shaun Pedicini
Shaun Pedicini on 1 Mar 2018
hmm, is there a way I can rewrite this without symbolic math? I have to admit to being very unfamiliar with Matlab as a whole.
I actually tried doing plot(t, z) after I posted this question and it looks like it works after all, though I'm not entirely sure.
Walter Roberson
Walter Roberson on 1 Mar 2018
Z = double(z);
plot(t, Z)
Your MATLAB is detecting that the input is sym and is doing the double() on your behalf, but you can make what you are doing more obvious by doing the double() yourself.

Sign in to comment.

Accepted Answer

Abraham Boayue
Abraham Boayue on 2 Mar 2018
clear variables
close all
M = 250; % The length of each function
A=3;
t = -2:4/(M-1):2;
y = zeros(1,M); % Initiallize the sum to zero
N = 100;
for k = 1:N
ck = 1/k;
y = y+ A*ck*sin(pi*k*t); % computing the sum
end
plot(t,y,'linewidth',2,'color','m')
a= title('y(t) : sum of sine wave');
set(a,'fontsize',14);
a= xlabel('x [-2\pi 2\pi]');
set(a,'fontsize',20);
a = ylabel('y');
set(a,'fontsize',20);
a = zlabel('z');
set(a,'fontsize',20);
grid;
  3 Comments
Shaun Pedicini
Shaun Pedicini on 4 Mar 2018
Thanks Abraham, I hadn't given thought to scripting it like this.

Sign in to comment.

More Answers (0)

Categories

Find more on Function Creation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!