Divide each column by the sum of the column in a matrix

3 visualizaciones (últimos 30 días)
Fredrik Scheie
Fredrik Scheie el 19 de Mayo de 2022
Editada: Matt J el 20 de Mayo de 2022
I am sure this is an elementary question, but I could not find the answer when searching the Matlab website. I was wondering how to divide each column in a matrix by the sum of that column and do the same process for all the columns in a matrix. The result should then be returned as a new matrix.
As an example take the following matrix
D = [-0.442898926677253 -0.165258150390309 0.850111606631490 -0.801783725737275;
-0.505610279127129 0.455832504673115 -0.205467096352270 4.76435784320108e-15;
-0.540885414880185 -0.746406858955920 -0.439177413926944 0.534522483824847;
-0.505610279127129 0.455832504673115 -0.205467096352275 0.267261241912423];
Now, for the first column;
U(:,1)/sum(U(:,1))
gets the first column of D divided by the sum of the column, but how do I do this for all of the columns and return the output as a new matrix?
  2 comentarios
Matt J
Matt J el 19 de Mayo de 2022
U(:,1)/sum(U(:,1)) gets the first column of D divided by the sum of the column
No, it does that for U, not D.
Fredrik Scheie
Fredrik Scheie el 19 de Mayo de 2022
Yes, well observed I should have written D in the expression.

Iniciar sesión para comentar.

Respuesta aceptada

Matt J
Matt J el 19 de Mayo de 2022
D./sum(D)
  6 comentarios
Torsten
Torsten el 19 de Mayo de 2022
Just display D and look at the respective columns. You should be able to find the reason by inspection.
Matt J
Matt J el 19 de Mayo de 2022
Editada: Matt J el 20 de Mayo de 2022
Wonder what could cause it to return as 'not a number'?
That would happen if the column sum is zero, and the column also contains some zeros, e.g.,
D=[-1;0;1];
D/sum(D)
ans = 3×1
-Inf NaN Inf

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by