hello I m having a problem filling a table
let's say I have a table
a c
1
4
10
11
...
n
I want c to be the mean of a starting from 1 to n
for example
c(1) = 1
c(2) =1+4 / 2
c(3) = 1+4+10 / 3
c(4)=1+4+10+11 / 4
... n
how do I fill c using a loop ?
thank you

 Akzeptierte Antwort

Adam Danz
Adam Danz am 20 Mai 2019
Bearbeitet: Adam Danz am 20 Mai 2019

1 Stimme

No-loop method
There's no need for a loop.
b = cumsum(a)./(1:length(a));
Loop method
If you must use a loop...
b = zeros(size(a));
for i = 1:length(a)
b(i) = sum(a(1:i))/i;
end
If you want that in a table,
t = table(a',b','VariableNames',{'a','b'});

Weitere Antworten (1)

Mohamed ben hadj yahia
Mohamed ben hadj yahia am 20 Mai 2019

0 Stimmen

Thank you that was very helpfull

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by