Kuinka menee matlab-koodi jos on laskettava liudasta lukuja keskiarvo aina vaikka viidestä peräkkäisestä luvusta kerrallaan? Ja tätä olisi jatkettava niin kauan kuin lukuja on tarjolla...
Keskiarvon laskeminen Matlabilla
XxXxXxX
3636
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 3
Vanhimmat
ekatluvut(:,1)
A=ekatluvut(1:5/5)
tuohan menee alkuun ihan oikein, mutta kuinka saan koodin rullaamaan siten, että seuraavaksi lasketaan keskiarvot rivin luvuista 6-10...jne...
function ka = foo( x ) ka = []; if ( length(x) >= 5 ) indeksi = 1; while indeksi < length(x) if indeksi 4 < length(x) ka = [ka sum( (x(1,indeksi:(indeksi 4) )))./5 ]; indeksi = indeksi 5; else ka = [ka sum( (x(1,indeksi:length(x) )))./5 ]; break; end end else ka = sum(x)/legth(x); end keskiarvot = keskiarvot x(1,indeksi:length(x)); endif else sum(x)/legth(x); endif
näin for i = [1:5:length(x)] sum( x(1,i:(i min(4, length(x)-i)) ))/(min(4, length(x)-i) 1) end