How to add consecutive numbers from a column in a .txt file?

5 views (last 30 days)
I am trying to add consecutive elements in a column and then print the new column. For example the column:
[1 1 8 2 3 1]
Would print:
[2 9 10 5 4]
I already have:
fid = fopen('HW1.txt', 'r');
data = textscan(fid, '%d%f%s%s%s%d%s', 'MultipleDelimsAsOne',true, 'HeaderLines',1);
fclose(fid);
jumps = sum(abs(diff(data{1})>1));
timeD = diff(data{2});
opts = detectImportOptions('HW1.txt');
preview('HW1.txt',opts)
[Var1,Var2,Var3,Var4] = readvars('HW1');
whos Var1 Var2 Var3 Var4
-----------------------------------
Var 4 is a column of 200 numbers that I would like to convert into a column where each number is the added value of the columns adjacent pair.

Accepted Answer

Wan Ji
Wan Ji on 2 Sep 2021
Edited: Wan Ji on 2 Sep 2021
Just use movsum
a = [1 1 8 2 3 1];
b = movsum(a,2); % I should apologize for not adding 2
b = b(2:end)
The answer
b =
2 9 10 5 4
  5 Comments
Wan Ji
Wan Ji on 2 Sep 2021
I am sorry for not adding 2 in the input variable of function movsum
a = [1 1 8 2 3 1]';
b = movsum(a,2); % I should apologize for not adding 2
b = b(2:end)
The result
b =
2
9
10
5
4

Sign in to comment.

More Answers (0)

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!