For loop not working

1 view (last 30 days)
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));

Accepted Answer

VBBV on 6 Jun 2022
Edited: VBBV on 6 Jun 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
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
Leeba Ann Chacko
Leeba Ann Chacko on 6 Jun 2022
Thank you! I can't believe I missed that. :P

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!