how to find average value up to current row in Matrix

4 vues (au cours des 30 derniers jours)
Triveni
Triveni le 26 Nov 2022
Commenté : Triveni le 26 Nov 2022
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.

Réponse acceptée

Bruno Luong
Bruno Luong le 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 commentaire
Triveni
Triveni le 26 Nov 2022
B = [cumsum(A(:,1)), cumsum(A(:,1).*A(:,2))./cumsum(A(:,1))]

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by