Skip to content Skip to navigation

Connexions

You are here: Home » Content » Programming with M-Files: A Personal Finance Example Using While Loops

Navigation

Content Actions

  • Download module PDF
  • Add to ...
    Add the module to:
    • My Favorites
    • A lens
    • An external social bookmarking service
    • My Favorites (What is 'My Favorites'?)
      'My Favorites' is a special kind of lens which you can use to bookmark modules and collections directly in Connexions. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need a Connexions account to use 'My Favorites'.
    • A lens (What is a lens?)

      Definition of a lens

      Lenses

      A lens is a custom view of Connexions content. You can think of it as a fancy kind of list that will let you see Connexions through the eyes of organizations and people you trust.

      What is in a lens?

      Lens makers point to Connexions materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

      Who can create a lens?

      Any individual Connexions member, a community, or a respected organization.

    • External bookmarks
  • E-mail the author

Recently Viewed

This feature requires Javascript to be enabled.

Programming with M-Files: A Personal Finance Example Using While Loops

Module by: Darryl Morrell

Summary: This is an example of using an m-file script to compute the number of months necessary to pay off a credit card debt using the minimum monthly payment.

A Personal Finance Example

A student decides to finance their college education using a credit card. They charge one semester's tuition and then make the minimum monthly payment until the credit card balance is zero. How many months will it take to pay off the semester's tuition? How much will the student have spent to pay off the tuition?

We can solve this problem using an m-file script. We define the following variables:

  • b n b n - Balance at month nn.
  • p n p n - Payment in month nn.
  • f n f n - Finance charge (interest) in month nn.

The finance charge f n f n is the interest that is paid on the balance each month. The finance charge is computed using the monthly interest rate rr:

f n =r b n f n r b n (1)
Credit card interest rates are typically given as an annual percentage rate (APR). To convert the APR to a monthly interest rate, use the following formula:
r=1+APR100112-1 r 1 APR 100 1 12 1 (2)
More information on how to compute monthly rates can be found here.

Credit cards usually have a minimum monthly payment. The minimum monthly payment is usually a fixed percentage of the balance; the percentage is required by federal regulations to be at least 1% higher than the monthly interest rate. If this minimum payment would be below a given threshold (usually $10 to $20), the minimum payment is instead set to the threshold. For a threshold of $10, the relationship between the balance and the minimum payment can be shown in an equation as follows:

p n =maxr+0.01 b n 10 p n max r 0.01 b n 10 (3)

To compute the balance for one month (month n+1 n1) from the balance for the previous month (month nn), we compute the finance charge on the balance in the previous month and add it to the previous balance, then subtract the payment for the previous month:

b n + 1 = b n + f n - p n b n + 1 b n f n p n (4)

In the following exercises, we will develop the program to compute the number of months necessary to pay the debt. We will assume that the card APR is 14.9% (the average rate on a student credit card in mid February 2006) and that the initial balance charged to the card is $2203 (the in-state tuition at Arizona State University at the Polytechnic Campus for Spring 2006 semester).

Exercise 1

Write code to compute the monthly interest rate rr from the APR using Equation 2.

Solution 1


APR = 14.9;
r = (1+APR/100)^(1/12)-1;

Exercise 2

Write code to compute the minimum monthly payment p n p n using Equation 3.

Solution 2

bn = 2203;
pn = max((r+0.01)*bn,10);

Exercise 3

Write code to compute the balance at month n+1 n1 in terms of the balance at month nn using Equation 4.

Solution 3


fn = r*bn;
bn = bn + fn - pn;

Exercise 4

Place the code developed for Exercise 3 into a while loop to determine how many months will be required to pay off the card.

Solution 4

This space intentionally left blank.

Exercise 5

Modify your code from Exercise 4 to plot the monthly balance, monthly payment, and total cost-to-date for each month until the card is paid off.

Solution 5

This space intentionally left blank.

Comments, questions, feedback, criticisms?

Send feedback