how to find average value up to current row in Matrix

1 view (last 30 days)
I have a matrix A
A =
[ 128 8.4
127 8.7
128 8.3 ]
I want to find average using A(1,1) * A(1,2)/sum(A(1,1)) for first row. And subsequently for next rows considering calculation of previous row.. And I need the values
B = [
128 8.4
255 8.549
383 8.466 ]
Please help me.

Accepted Answer

Bruno Luong
Bruno Luong on 26 Nov 2022
A = [ 128 8.4
127 8.7
128 8.3 ]
A = 3×2
128.0000 8.4000 127.0000 8.7000 128.0000 8.3000
A1 = A(:,1);
cs1 = cumsum(A1);
B = [cs1, cumsum(A1.*A(:,2))./cs1]
B = 3×2
128.0000 8.4000 255.0000 8.5494 383.0000 8.4661
  1 Comment
Triveni
Triveni on 26 Nov 2022
B = [cumsum(A(:,1)), cumsum(A(:,1).*A(:,2))./cumsum(A(:,1))]

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!