Matlab returns wrong result
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
enlightenight
am 11 Okt. 2016
Kommentiert: enlightenight
am 12 Okt. 2016
I am trying to calculate an annual return based on the given formula for a homework. I typed this code:
function A = untitled9(R, m, p)
k = ((1+p)^(m-1))*p
h = ((1+p)^m)-1
g = k/h
A = g.*R
s=sprintf('The annual installment for Katja is %.2f', A);
disp(s)
for the values R=75000, m=10 and p=0.04; the result should be 8887.5. but matlab insists on returning 8891.17, even though it calculates k, h and g right. (i purposefully coded it that way so I could see if I did something wrong in the initial formula.)
can someone please help me?
edit: it returns the same answer when i manually enter 75000 as the number to multiply g value by.
0 Kommentare
Akzeptierte Antwort
Preethi
am 12 Okt. 2016
Bearbeitet: Preethi
am 12 Okt. 2016
Hi,
the value displayed by Matlab is precise value since it uses g value as 0.118549. if you want 8887.5 then truncate the value of g to 0.1185. (I used a crude method)
g1 = str2num(sprintf('%.4f',g))
A = (g1.*R)
when you are displaying in command window it shows 4 characters after decimal(I think its standard method), hence the confusion.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Startup and Shutdown finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!