How to trim start and end of time series data?
36 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Haya Ali
el 10 de Mzo. de 2023
Respondida: Sulaymon Eshkabilov
el 10 de Mzo. de 2023
I have 234 points in a signal. I want to trim the start and end of the reconstructed signal i.e. I want to start the signal from 100 and end it at 200. How can I do that in my present signal? Below is my code. Please help
close all; clear all; clc;
X1= [0.978184526233207
1.09489935704680
1.59164669497844
1.04748369986280
0.333456859419425
-0.776374729851942
-1.77654791200448
-1.48977341070183
-1.19560578883582
-0.216216169866790
-0.669130828272027
-0.176959953605121
-0.970038307444731
-1.46480552961072
-1.62008734051190
-0.869510428389788
-0.583273608934337
0.177196159526092
-0.446730619635104
-0.228742243963847
0.203025211047556
0.503354882236360
1.39271941057077
1.64866067380047
1.19038693126125
1.03363708342700
0.424041450386524
0.439260802070332
0.600343029025588
-0.0306738251258923
0.0958539085936714
1.14918362652028
1.15391408947321
0.898540503972080
0.0472213466344582
0.00554562959786900
0.102035244743441
-0.249504759613057
-0.143324794565285
-0.0607968027841552
-0.339183146089067
-0.371455075889551
-0.160251860132050
0.132393073200215
0.938710469108145
0.239353883527975
0.185569511807904
-0.370020642471384
-0.996994900124399
-1.57174260492213
-1.48675651948153
-0.499165159505607
0.000116451587039918
0.246101189551887
0.409185790688870
-0.0313952638414288
-0.213801932159108
0.597498268609943
1.23024780780428
1.50500323997789
1.23638364680667
0.174718173502008
-0.937779454147309
-1.85031898085982
-1.68634602636543
-1.11070366695686
0.171444432824592
0.178524883821887
0.686946348939107
0.405014944526230
0.0489364761057079
-0.253870961209884
-0.187277641813404
-0.442643912693939
-0.653848117914339
-0.760214986268639
-1.31958071983592
-0.992551625949963
-1.48794872511749
-1.33879258050990
-0.856793441452986
-0.394408939345198
-0.589006703594641
-0.274862175225194
0.505079986687640
1.34603779666379
1.76719242084883
1.65796553032041
0.860392149042695
0.184734489994875
-0.791575725714462
-0.833021834564249
-0.233540847901951
0.438051905752895
0.719888942815665
1.06399332034039
0.974754245290287
0.266984272303734
-0.729320359247078
-0.744243620482325
-0.575839769213132
0.0342930803324412
0.431341625822876
1.56474643785566
1.66219038781816
1.07628705674092
0.00960040748809378
-1.26146670726756
-1.52472663287358
-1.26960375489921
-0.888750005807918
-0.320150534790412
1.19137773775656
1.18652374319566
0.757841690371203
-0.0812900199662216
-0.0737080084875141
-0.00367152998326807
-0.593387210797996
-0.740736628261915
-1.58669360678985
-1.54377485379439
-1.84344656563496
-1.15165538472024
-0.315439395511712
0.426080088299539
0.789262136299863
0.825390061142108
0.533927504032497
0.840270169210173
1.07231276429206
0.866660909031804
1.05499421128736
0.544246693106188
0.554892764190835
-0.125091702012162
-0.523958216708689
-0.471186093739212
-0.553505176240973
-0.471307834890186
0.255329511361375
0.443309968999109
0.531847363093168
0.539542288619972
0.531750081585950
0.483862231580577
0.945027379981078
1.16191571414102
0.886509781337565
1.45760913993651
1.74023166218482
1.45663110914463
1.37108609639611
0.927232494902915
0.677582600687758
0.828772608717250
-0.373156343165001
-0.897734171971235
-1.60272592455266
-2.74488192175295
-2.49310365976706
-1.30600932183767
-0.941072129426888
-0.0396666293298666
-0.000401990182564594
-0.747846741547528
-0.680077890685762
-0.345780729985813
0.226661747742711
1.37118037611648
1.27715094683531
0.463525878733334
-1.51526557898599
-2.67957880739113
-2.27925321917559
-1.62970884714424
-0.376263330231145
0.382687307404915
1.52808206930792
1.86628419456866
1.72842389966317
2.18592865006880
1.16364807188454
1.16043750739135
-0.191998864325526
-1.17989059055431
-1.40988398765226
-0.493116315847491
-0.727759810617587
-0.0581583652355533
0.199079551212408
-0.499029369075121
-0.694837778241995
-1.40316718622795
-0.360060349926195
1.07629252223562
2.30376353398820
2.19754776326396
1.82079414479445
1.03315969900616
0.491810249519456
-0.270410080497886
0.135118355485126
-0.101090351581757
-0.409845945421996
-0.839294673539560
-1.67123093873688
-1.48346638597601
-0.410737203021099
0.740659198972951
0.293016252080021
-1.10619719722397
-1.18664316827541
-1.12945427532509
-0.671918631269854
-0.287947673491579
-0.335792016783277
-0.587386687196651
-1.20431179904573
-0.669980798921371
-0.516398365917139
0.394277956967727
1.21512353239220
0.216692421479053
0.101783706338712
0.335111404288256
0.00107923844629068
-0.0104442258803883
0.957259068184531
1.50031210278973
1.84064040172912
0.364645903950982
-0.731000570030488
0.176413750203213];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Addnum1=10;%Num1er of additional data points in each time interval.
N1=Addnum1*length(X1); %Length of the reconstructed signal(the continuous signal);
Rec1=zeros([1,N1]);
Rate1=zeros([1,N1]);
nx1=zeros([1,N1]);
NX1=zeros([1,length(X1)]);
zeroline1=zeros([1,N1]);
index=0;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:N1
if mod(i,Addnum1)==1
index=index+1;
NX1(index)=i;
end
nx1(i)=i;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:N1
Rec1(i)=0;
Rate1(i)=0;
for j=1:length(X1)
Rec1(i)=Rec1(i)+X1(j)*sinc((1/Addnum1)*(i-Addnum1*(j-1)));
Rate1(i)=Rate1(i)+X1(j)*(cos((pi/Addnum1)*(i-Addnum1*(j-1)))/(i-Addnum1*(j-1))-sin((pi/Addnum1)*(i-Addnum1*(j-1)))/((pi/Addnum1)*(i-Addnum1*(j-1))^2));
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mean_X1=mean(X1);
X1=X1-mean_X1;
mean_Rec1=mean(Rec1);
Rec1=Rec1-mean_Rec1;
figure
plot(nx1,Rec1,'sg');
hold on
plot(nx1,zeroline1,'k');
plot(nx1,Rate1,'*b');
plot(NX1,X1,'or')
legend ('Reconstructed Signal X1','zeroline1','Rate Signal X1','BOLD Signal X1')
0 comentarios
Respuesta aceptada
Sulaymon Eshkabilov
el 10 de Mzo. de 2023
Here is how it can be done using an index option:
X1 = [0.978184526233207
1.09489935704680
1.59164669497844
1.04748369986280
0.333456859419425
-0.776374729851942
-1.77654791200448
-1.48977341070183
-1.19560578883582
-0.216216169866790
-0.669130828272027
-0.176959953605121
-0.970038307444731
-1.46480552961072
-1.62008734051190
-0.869510428389788
-0.583273608934337
0.177196159526092
-0.446730619635104
-0.228742243963847
0.203025211047556
0.503354882236360
1.39271941057077
1.64866067380047
1.19038693126125
1.03363708342700
0.424041450386524
0.439260802070332
0.600343029025588
-0.0306738251258923
0.0958539085936714
1.14918362652028
1.15391408947321
0.898540503972080
0.0472213466344582
0.00554562959786900
0.102035244743441
-0.249504759613057
-0.143324794565285
-0.0607968027841552
-0.339183146089067
-0.371455075889551
-0.160251860132050
0.132393073200215
0.938710469108145
0.239353883527975
0.185569511807904
-0.370020642471384
-0.996994900124399
-1.57174260492213
-1.48675651948153
-0.499165159505607
0.000116451587039918
0.246101189551887
0.409185790688870
-0.0313952638414288
-0.213801932159108
0.597498268609943
1.23024780780428
1.50500323997789
1.23638364680667
0.174718173502008
-0.937779454147309
-1.85031898085982
-1.68634602636543
-1.11070366695686
0.171444432824592
0.178524883821887
0.686946348939107
0.405014944526230
0.0489364761057079
-0.253870961209884
-0.187277641813404
-0.442643912693939
-0.653848117914339
-0.760214986268639
-1.31958071983592
-0.992551625949963
-1.48794872511749
-1.33879258050990
-0.856793441452986
-0.394408939345198
-0.589006703594641
-0.274862175225194
0.505079986687640
1.34603779666379
1.76719242084883
1.65796553032041
0.860392149042695
0.184734489994875
-0.791575725714462
-0.833021834564249
-0.233540847901951
0.438051905752895
0.719888942815665
1.06399332034039
0.974754245290287
0.266984272303734
-0.729320359247078
-0.744243620482325
-0.575839769213132
0.0342930803324412
0.431341625822876
1.56474643785566
1.66219038781816
1.07628705674092
0.00960040748809378
-1.26146670726756
-1.52472663287358
-1.26960375489921
-0.888750005807918
-0.320150534790412
1.19137773775656
1.18652374319566
0.757841690371203
-0.0812900199662216
-0.0737080084875141
-0.00367152998326807
-0.593387210797996
-0.740736628261915
-1.58669360678985
-1.54377485379439
-1.84344656563496
-1.15165538472024
-0.315439395511712
0.426080088299539
0.789262136299863
0.825390061142108
0.533927504032497
0.840270169210173
1.07231276429206
0.866660909031804
1.05499421128736
0.544246693106188
0.554892764190835
-0.125091702012162
-0.523958216708689
-0.471186093739212
-0.553505176240973
-0.471307834890186
0.255329511361375
0.443309968999109
0.531847363093168
0.539542288619972
0.531750081585950
0.483862231580577
0.945027379981078
1.16191571414102
0.886509781337565
1.45760913993651
1.74023166218482
1.45663110914463
1.37108609639611
0.927232494902915
0.677582600687758
0.828772608717250
-0.373156343165001
-0.897734171971235
-1.60272592455266
-2.74488192175295
-2.49310365976706
-1.30600932183767
-0.941072129426888
-0.0396666293298666
-0.000401990182564594
-0.747846741547528
-0.680077890685762
-0.345780729985813
0.226661747742711
1.37118037611648
1.27715094683531
0.463525878733334
-1.51526557898599
-2.67957880739113
-2.27925321917559
-1.62970884714424
-0.376263330231145
0.382687307404915
1.52808206930792
1.86628419456866
1.72842389966317
2.18592865006880
1.16364807188454
1.16043750739135
-0.191998864325526
-1.17989059055431
-1.40988398765226
-0.493116315847491
-0.727759810617587
-0.0581583652355533
0.199079551212408
-0.499029369075121
-0.694837778241995
-1.40316718622795
-0.360060349926195
1.07629252223562
2.30376353398820
2.19754776326396
1.82079414479445
1.03315969900616
0.491810249519456
-0.270410080497886
0.135118355485126
-0.101090351581757
-0.409845945421996
-0.839294673539560
-1.67123093873688
-1.48346638597601
-0.410737203021099
0.740659198972951
0.293016252080021
-1.10619719722397
-1.18664316827541
-1.12945427532509
-0.671918631269854
-0.287947673491579
-0.335792016783277
-0.587386687196651
-1.20431179904573
-0.669980798921371
-0.516398365917139
0.394277956967727
1.21512353239220
0.216692421479053
0.101783706338712
0.335111404288256
0.00107923844629068
-0.0104442258803883
0.957259068184531
1.50031210278973
1.84064040172912
0.364645903950982
-0.731000570030488
0.176413750203213];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Range = 100:200;
X1 = X1(Range); % Range
Addnum1=10;%Num1er of additional data points in each time interval.
N1=Addnum1*length(X1); %Length of the reconstructed signal(the continuous signal);
Rec1=zeros([1,N1]);
Rate1=zeros([1,N1]);
nx1=zeros([1,N1]);
NX1=zeros([1,length(X1)]);
zeroline1=zeros([1,N1]);
index=0;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:N1
if mod(i,Addnum1)==1
index=index+1;
NX1(index)=i;
end
nx1(i)=i;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:N1
Rec1(i)=0;
Rate1(i)=0;
for j=1:length(X1)
Rec1(i)=Rec1(i)+X1(j)*sinc((1/Addnum1)*(i-Addnum1*(j-1)));
Rate1(i)=Rate1(i)+X1(j)*(cos((pi/Addnum1)*(i-Addnum1*(j-1)))...
/(i-Addnum1*(j-1))-sin((pi/Addnum1)*(i-Addnum1*(j-1)))/((pi/Addnum1)*(i-Addnum1*(j-1))^2));
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mean_X1=mean(X1);
X1=X1-mean_X1;
mean_Rec1=mean(Rec1);
Rec1=Rec1-mean_Rec1;
figure
plot(nx1,Rec1,'sg');
hold on
plot(nx1,zeroline1,'k');
plot(nx1,Rate1,'*b');
plot(NX1,X1,'or')
legend ('Reconstructed Signal X1','zeroline1','Rate Signal X1','BOLD Signal X1')
axis tight
0 comentarios
Más respuestas (2)
Arka
el 10 de Mzo. de 2023
Hi,
You can use array subscripting using the colon operator to achieve what you require.
In general, if you want to extract data from ith index to jth index, you can achieve that by doing so:
extracted = array(i:j);
So, in your case, to get the data from 100th index to 200th index, you can do:
extracted = Rec1(100:200);
If you wish to learn more about the colon operator, please go through the MathWorks documentation link below:
0 comentarios
Sarvesh Kale
el 10 de Mzo. de 2023
If you only want the reconstructed signal to start from 100th index to 200 index juts use indexing for that, from your code I think Rec1 is the reconstructed signal, example code
x1 = Rec1(100:200); % get entries from 100 to 200
t = nx1(100:200) ;
plot(nx1,Rec1)
I hope I understood your question and this helps your query
0 comentarios
Ver también
Categorías
Más información sobre Get Started with MATLAB en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!