How can I create a loop for this equation?

17 visualizzazioni (ultimi 30 giorni)
function [level] = initiallevel(t,dem)
total = sum(dem(1:t));
level = total/t;
end
I need to then create a vector that consists of [L4 all the way to L12] so made up of 9 rows and 1 column.
>> L4 = initiallevel(4,demand);
>> L5 = initiallevel(5,demand);
>> L6 = initiallevel(6,demand);
>> L7 = initiallevel(7,demand);
>> L8 = initiallevel(8,demand);
>> L9 = initiallevel(9,demand);
>> L10 = initiallevel(10,demand);
>> L11 = initiallevel(11,demand);
>> L12 = initiallevel(12,demand);

Risposta accettata

Alex Mcaulley
Alex Mcaulley il 4 Lug 2019
With a loop:
demand = rand(100,1);
L = zeros(9,1);
for t = 4:12
L(t-3) = initiallevel(t,demand)
end
Using arrayfun
demand = rand(100,1);
L = arrayfun(@(t) initiallevel(t,demand),4:12)';

Più risposte (1)

Torsten
Torsten il 4 Lug 2019
L = cumsum(demand);
L = L./(1:numel(L));
L = L(4:12)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Prodotti


Release

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by