5 svar
206 visningar
Amandah94 behöver inte mer hjälp
Amandah94 44 – Fd. Medlem
Postad: 12 mar 2019 20:39 Redigerad: 12 mar 2019 20:41

For-loop

Jag har en funktion

function f=traffic(f0,T)

T=...

N=...

f0=...

korsning_nr=5;

f=zeros(N,1);

for i=1:N

y=traffic(f0,T);

f(i)=y(korsning_nr);

end

 

Min fråga är, sparar f(i) i for-loopen varje y-värde i vektorn f, för varje simulering 1:N? Och varför kan jag döpa f=zeros(N:1) när jag redan har döpt funktionen f=traffic(f0,T) till f?

Dr. G 9500
Postad: 12 mar 2019 20:47

Varje f(i), där i = 1:N, sätts till y(korsning_nr).

f(i)=y(korsning_nr)

y(korsning_nr) verkar alltid ge samma värde, oberoende av i.

Amandah94 44 – Fd. Medlem
Postad: 12 mar 2019 20:56

Okej, eftersom utparametern f är en vektor med olika värden, innebär då y=traffic(f0,T) att dessa värden lagras i y och att y(korsning_nr) sparar 5:te värdet från den vektorn i f=zeros(N,1) vilket alltså blir N st värden efter en körning?

Dr. G 9500
Postad: 12 mar 2019 21:10

Menar du att f0 och T inte alltid har samma värden för olika värden på i i loopen? Jag ser i alla fall inte att värdena någonstans uppdateras .

y=traffic(f0,T);

Amandah94 44 – Fd. Medlem
Postad: 12 mar 2019 21:13

Jo f0 och T har alltid samma värden, men funktionen f=traffic(f0,T) är en stokastisk process

Dr. G 9500
Postad: 12 mar 2019 21:22

Jaha ja, då spottas ett stokastikt värde y=traffic(f0,T) ut varje gång loopen körs. 

f är din vektor med längd N.

Lokalt i funktionen är (ett annat lokalt) f den vektor som funktionen returnerar. Du väljer vid anropet att kalla den returnerade vektorn y.

Svara
Close