summation with for loop for all rows in another column

1 view (last 30 days)
Capture.JPG
I had following data as attached
h = 1;
I_all size(3154*20)
So hmax = 20;
I1 = I_all(1,1) for first row and I1=I_all(2,1) for 2nd row and so on........
Need F_HL for all 3154 rows..........
  2 Comments
Rik
Rik on 13 Jan 2020
What have you tried so far? Especially the version with a for loop seems easy to implement.
MUKESH KUMAR
MUKESH KUMAR on 13 Jan 2020
h=1:20;
F_HL_N = 0;
for i=1:20
F_HL_N = F_HL_N+(I_all(1,i)/I_all(1,1))^2* h(i)^2;
end
F_HL_D = 0;
for i=1:20
F_HL_D=F_HL_D+(I_all(1,i)/I_all(1,1))^2;
end
F_HL = F_HL_N/F_HL_D; % for first row
% now want to do for all 3154 rows in for loop

Sign in to comment.

Answers (1)

Raj
Raj on 13 Jan 2020
Edited: Raj on 13 Jan 2020
You are almost there. Put the whole thing in another loop that runs accross all the rows and store F_HL for each row like this:
for ii=1:3154
h=1:20;
F_HL_N = 0;
for i=1:20
F_HL_N = F_HL_N+(I_all(1,i)/I_all(1,1))^2* h(i)^2;
end
F_HL_D = 0;
for i=1:20
F_HL_D=F_HL_D+(I_all(1,i)/I_all(1,1))^2;
end
F_HL(ii) = F_HL_N/F_HL_D; % for iith row
end
Done!

Community Treasure Hunt

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

Start Hunting!