4 svar
95 visningar
Moni1 721
Postad: 6 mar 2021 00:23

For. Loop

Hej, jag undrar på vad innebär villkoret på rad 48. 
dvs antal(v(i)+1)=antal(v(i)+1)+1 

Dr. G 9479
Postad: 6 mar 2021 08:54

skriv ut antal i loopen så ser du nog vad som händer. 

Efter loopen kommer antal att vara 

[0 3 1 1 0 1 0 1 2 1]

som är antalet gånger som siffrorna 0 - 9 förekommer i v. 

Moni1 721
Postad: 6 mar 2021 11:04

hej, och tack så mycket, men jag undrar på hur till exempel man kommer fram till att vi ska skriva antal(v(i)+1)=antal(v(i)+1)+1

alltså vad betyder funktionen antal(v(i)), och till exempel om jag skrivar i matlab antal(v(1)) för att se vad detta returnerar.  får jag varning där matlab säger att 

' array indicis must be positive integers or logical values. 

Dr. G 9479
Postad: 6 mar 2021 11:21

antal är inte en funktion, utan en vektor. I matlab är det lite lurigt, för man ser inte skillnad på om 

antal(2)

är en funktion som ska utvärderas för 2, eller om antal är en vektor, så att antal(2) då är dess andra element (som här).

antal = zeros(1,10)

är samma sak som

antal = [0 0 0 0 0 0 0 0 0 0]

Då v(1) = 1 så är

antal(v(1))

samma sak som 

antal(1) 

vilket jag tycker borde funka ( = 0). 

Moni1 721
Postad: 6 mar 2021 11:28

tack så mycket, nu förstår jag bättre

Svara
Close