cumsum function question for integration

42 Ansichten (letzte 30 Tage)
haohaoxuexi1
haohaoxuexi1 am 21 Sep. 2022
Bearbeitet: Torsten am 21 Sep. 2022
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,

Akzeptierte Antwort

Torsten
Torsten am 21 Sep. 2022
Bearbeitet: Torsten am 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).

Weitere Antworten (1)

Cris LaPierre
Cris LaPierre am 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.

Kategorien

Mehr zu Function Creation finden Sie in Help Center und File Exchange

Produkte


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by