cumsum function question for integration

47 views (last 30 days)
The code is below.
close all;
clear all;
clc;
format long;
syms t;
inter_val = 0.0001;
tn=0:inter_val:20;
t=tn;
y_cos = sin(t);
int_y_cos=cumsum(y_cos*inter_val);
figure(1);
plot(t, y_cos, 'k');
box on; grid on;
figure(2);
plot(t, int_y_cos, 'r');
box on; grid on;
I want to know why figure(2) didn't come out with cos plot but with offset?
But switch y_cos = sin(t) to y_cos = cos(t), it can give a perfect sin plot?
Thanks,

Accepted Answer

Torsten
Torsten on 21 Sep 2022
Edited: Torsten on 21 Sep 2022
cumsum(y_cos*inter_val);
is a Riemann sum for the integral of sin(t) - integrated between 0 and x.
But the integral of sin(t) from 0 to x is 1-cos(x), not cos(x).

More Answers (1)

Cris LaPierre
Cris LaPierre on 21 Sep 2022
It has to do with the fact that sin(t) starts at 0 and is positive until pi. cumsum is just adding up the Y values, so it oscillates between 0 and 2. With cos(t), it is only positive for pi/2, so cumsum only gets to half the value before it starts decreasing, or 1. It then is negative for pi, decreasing the value by 2, reaching -1. It therefore oscillates between -1 and 1.

Categories

Find more on Function Creation in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!