How to substract in table

23 visualizzazioni (ultimi 30 giorni)
Dion Theunissen
Dion Theunissen il 24 Giu 2021
Commentato: Walter Roberson il 24 Giu 2021
Hi,
How can I substract the first value of all columns from the other rows in a table?
So I have a table like this:
1230764 205775 182354 208200 226372 225378 204289 181576
1230764 205775 182354 208200 226372 225378 204289 181576
1230764 205775 182354 208200 226372 225378 204289 181576
1230766 205775 182354 208200 226372 225378 204289 181576
1230830 205775 182354 208200 226372 225378 204289 181576
1230915 205775 182354 208200 226372 225378 204289 181576
1231113 205780 182357 208205 226375 225380 204291 181581
1242631 207147 183648 209735 227913 226996 205878 183094
1242631 207147 183648 209735 227913 226996 205878 183094
1242631 207147 183648 209735 227913 226996 205878 183094
1242631 207147 183648 209735 227913 226996 205878 183094
1242631 207147 183648 209735 227913 226996 205878 183094
1242631 207147 183648 209735 227913 226996 205878 183094
1242631 207147 183648 209735 227913 226996 205878 183094
1242631 207147 183648 209735 227913 226996 205878 183094
1242631 207147 183648 209735 227913 226996 205878 183094
1242631 207147 183648 209735 227913 226996 205878 183094
1242631 207147 183648 209735 227913 226996 205878 183094
And need to substract 1230764 from the other values of that column and so on for the other columns.
Thanks, Dion
  1 Commento
Dion Theunissen
Dion Theunissen il 24 Giu 2021
After I substract al those value, I want to sum all the rows so i get 1 column of all the values

Accedi per commentare.

Risposte (2)

Walter Roberson
Walter Roberson il 24 Giu 2021
Provided that all variables are numeric:
array2table(T{:,:} - T{1,:}, 'variablenames', T.Properties.VariableNames)
  2 Commenti
Walter Roberson
Walter Roberson il 24 Giu 2021
array2table(sum(T{:,:} - T{1,:},1), 'variablenames', T.Properties.VariableNames)
Walter Roberson
Walter Roberson il 24 Giu 2021
To sum along the rows, change the ,1 to ,2

Accedi per commentare.


Mohammad Sami
Mohammad Sami il 24 Giu 2021
You can use varfun to subtract the first value in the column from the rest of the values.
out = varfun(@(x)x-[0;repelem(x(1),length(x)-1,1)],mytable);
  1 Commento
Dion Theunissen
Dion Theunissen il 24 Giu 2021
Can I also sum all the values per row on this way?

Accedi per commentare.

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by