for loop issue not all answer printing out

3 views (last 30 days)
This is my assignment: Write an M-file to compute A. Test it with P =$100 , 000 and an interest rate of 3.3 % ( r = 0.033 ). Use a for loop to compute results for n= 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , and 10. Then display the results in a table with headings and columns for n and A.
I've written all the code and everything works, but my table only shows n=10 and the corresponding answer. I really don't understand for loops enough to know what to fix in mine
function A = InterestPayment(P,r,n)
P = 100000;
r = 0.033;
for n=1:10
A = P*((r*(1+r)^n)/((1+r)^n-1));
end
A = P*((r*(1+r)^n)/((1+r)^n-1));
T= table (n',A', 'VariableNames',{'n','A'})

Accepted Answer

Doddy Kastanya
Doddy Kastanya on 11 Jan 2021
Hi Anastasia,
The problem is you did not store the results as a vector; therefore, when you printed out the table, only the last value of A is shown. The updated version below should work. Another thing that you might want to do is to define the calling variables from outside the function so you can use it for other values as well.
P = 100000;
r = 0.033;
n=10;
InterestPayment(P,r,n);
function A = InterestPayment(P,r,n)
for i=1:n
A(i) = P*((r*(1+r)^i)/((1+r)^i-1));
end
T= table ([1:n]',A', 'VariableNames',{'n','A'})
end

More Answers (1)

David Hill
David Hill on 11 Jan 2021
function T = InterestPayment(P,r)
for n=1:10
A(n) = P*((r*(1+r)^n)/((1+r)^n-1));
end
T= table ((1:10)',A', 'VariableNames',{'n','A'});

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!