3 svar
125 visningar
I am Me 711
Postad: 29 okt 2022 19:50 Redigerad: 29 okt 2022 20:13

Skriva program och funktioner

Uppgift: 

Du har 100 000 kronor på banken . Gör en funktion där du matar in räntesatsen (uttryckt i procent) och antalet år som pengarna står inne. Givet inparametrarna ska funktionen skriva ut saldot på kontot efter den angivna tiden.

lösning: 

function saldo = getSaldo(years, rate)
% function saldo = getSaldo(years, rate)
%
% Assume a starting saldo of 100 000 SEK. Given a rate "rate" in %, the
% saldo after "years" years is given.

saldo = 100000;
for i = 1:years
saldo = saldo*(1+rate/100);  
end

 


Min lösning: 

 

Varför man kan inte göra som jag gjorde? och varför skriver de

for i = 1:years
saldo = saldo*(1+rate/100);     i sin lösning?? Hur viste man att man behöver använda en for loop? :( 


Bild förstorad så det går att läsa koden. /Dracaena

Fermatrix 7841 – Fd. Medlem
Postad: 29 okt 2022 20:12

Du och facit har gjort samma sak. 

Facit löser det lite mer datavetenskapligt medan du löser den mer matematiskt. Båda är ekvivalenta. Men, i framtiden, om du behöver göra något flera gånger så är det dags att börja fundera på någon sorts loop. :)

Hondel 1377
Postad: 29 okt 2022 20:18

Du ska nog dock inte använda input, utan räntesatsen ska komma in som ett argument i funktionen (vilket den gör nu, men du skriver över det argumentet på första raden) 

Matsmats 571 – Livehjälpare
Postad: 29 okt 2022 22:39

Och, som sagt; MATLAB varnar för det Hondel skriver. Kolla varningstriangeln :)

Svara
Close