Integration of a function that is built by a loop
1 view (last 30 days)
Show older comments
Wolfgang Dr. Auf der Heyde
on 6 May 2020
Commented: Wolfgang Dr. Auf der Heyde
on 19 May 2020
What is the Integral of
for k = 1 :500
y = y +(sin( 2*k* x))./ k
end
in the bounderies of zero to pi ?
0 Comments
Accepted Answer
Bjorn Gustavsson
on 6 May 2020
You should do two things!
1, write that function definition into a function, then integrate it from 0 to pi. Use the integral or quadgk functions for the integration.
2, solve the more general problem: for n equal to 1, 2, 3, to 500.
HTH
3 Comments
Bjorn Gustavsson
on 15 May 2020
Herr Doktor Auf der Heyde,
Please be adviced to calculate the integral for an arbitrary term sin(2*n*x)/n from zero to π analytically by hand. Y is a sum of terms of simple continous functions on the intervall, therefore the integral of Y is equal to the sum of the integral of the terms.
I made a little illustrationing of this using this function:
function y = fivehundredsines( x,n_sines )
%UNTITLED2 Summary of this function goes here
% Detailed explanation goes here
if nargin < 2 || isempty(n_sines)
n_sines = 500;
end
y = 0;
for k = 1:n_sines
y = y +(sin( 2*k* x))./ k;
end
That one can run with:
x = linspace(0,pi,1001);
n = 1;
clf
Y =fivehundredsines(x,n);plot(x,Y),title([trapz(x,Y),integral(@(x)fivehundredsines(x,n),0,pi)]),xlabel(n),n = 2*n; hold on
Y =fivehundredsines(x,n);plot(x,Y),title([trapz(x,Y),integral(@(x)fivehundredsines(x,n),0,pi)]),xlabel(n),n = 2*n; hold on
Y =fivehundredsines(x,n);plot(x,Y),title([trapz(x,Y),integral(@(x)fivehundredsines(x,n),0,pi)]),xlabel(n),n = 2*n; hold on
Y =fivehundredsines(x,n);plot(x,Y),title([trapz(x,Y),integral(@(x)fivehundredsines(x,n),0,pi)]),xlabel(n),n = 2*n; hold on
HTH
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!