# Connexions

You are here: Home » Content » Freshman Engineering Problem Solving with MATLAB » Programming with M-Files: A Personal Finance Example Using While Loops

### Recently Viewed

This feature requires Javascript to be enabled.

Inside Collection (Course):

Course by: Darryl Morrell. E-mail the author

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

Module by: Darryl Morrell. E-mail the author

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+APR1001121 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 =max(r+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


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

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


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

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

This space intentionally left blank.

## Content actions

PDF | EPUB (?)

### What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

PDF | EPUB (?)

### What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

#### Collection to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

#### Definition of a lens

##### Lenses

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

##### What is in a lens?

Lens makers point to 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 member, a community, or a respected organization.

##### What are tags?

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks

#### Module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

#### Definition of a lens

##### Lenses

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

##### What is in a lens?

Lens makers point to 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 member, a community, or a respected organization.

##### What are tags?

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks
{"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 1, "mathjax_display_tex": 0, "mathjax_asciimath": 1, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 0, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0}