# how can i accumulate a sum of positive differences in an array by comparing all the elements?

조회 수: 1(최근 30일)
Khushi Bhatti 2018년 10월 7일
편집: Khushi Bhatti 2018년 10월 9일
I have a difference array named 'd'in which there are negative as well as positive differences, calculated by taking difference of an array named 'gFx' .
I will store first value=0 in a separate array named filter. Then I have to compare which elements in 'd' are positive one by one and store them in filter value according to equation written below.
filter(k)={ filter(k-1)+d(k), if d(k)d(k-1)>0
d(k), if d(k)d(k-1)<=0}
this is what i want to implement. where d(k) is difference of two elements of gFx. d(k)d(k-1)>0 means if two consecutive differences are positive then place d(k) and previous filter value in next index of filter. if d(k)<0 then place the value of d(k) in filter. the input is d(k) where the output will be stored in filter(k). this is my code i hope you can understand what i am trying to do after reading this
%code
t=T{:,1};
gFx=T{:,2};
y=T{:,8};
difference=diff(gFx);%calculating difference
d=difference;
[m,n]=size(d);
filter=zeros(m,n);
sum_d=0;
for i=1:length(difference)
if (d(i)& d(i+1)>0)
sum_d=sum_d+d(i)
filter(i)=sum_d
else
sum_d=d(i)
filter(i)=sum_d
end
end
where d= [0 , 0.0107 , 0.0039 ,-0.0019.........upto 761 elements] is a 761x1 dimension array.
##### 댓글 수: 4표시숨기기 이전 댓글 수: 3
Khushi Bhatti 2018년 10월 8일
편집: Khushi Bhatti 2018년 10월 9일
if you can tell then help me whats the problem with this code. its not working.

댓글을 달려면 로그인하십시오.

### Community Treasure Hunt

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

Start Hunting!