For loop not working

2 visualizaciones (últimos 30 días)
Leeba Ann Chacko
Leeba Ann Chacko el 6 de Jun. de 2022
Comentada: Leeba Ann Chacko el 6 de Jun. de 2022
I have a 2x4 matrix called A. I would like to find the sum of each column and divide each element in that column with the sum of that column. However, when I run the loop, the first 3 columns have no values in them. How do I rectify this? The following is my code:
A = rand(2,4)
for i=length(A)
B(:,i) = A(:,i)./sum(A(:,1));
end

Respuesta aceptada

VBBV
VBBV el 6 de Jun. de 2022
Editada: VBBV el 6 de Jun. de 2022
A = rand(2,4)
A = 2×4
0.9006 0.7820 0.6684 0.4557 0.2964 0.9567 0.3112 0.9163
for i=1:length(A) % using a single value
B(:,i) = A(:,i)./sum(A(:,i)); % divide each element with sum of that column
end
B
B = 2×4
0.7524 0.4498 0.6823 0.3322 0.2476 0.5502 0.3177 0.6678
It seems you are using a single value in loop counter
  2 comentarios
VBBV
VBBV el 6 de Jun. de 2022
Editada: VBBV el 6 de Jun. de 2022
if you want values for first 3 columns and rows, start with 1. you also need to update
sum(A(:,1)) % this is for 1st col only
with
sum(A(:,i) % corresponding column
Leeba Ann Chacko
Leeba Ann Chacko el 6 de Jun. de 2022
Thank you! I can't believe I missed that. :P

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by