User Tools

Site Tools


gibson:teaching:fall-2012:math445:lab3

====== Differences ====== This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
gibson:teaching:fall-2012:math445:lab3 [2012/09/05 19:30]
gibson created
gibson:teaching:fall-2012:math445:lab3 [2012/12/05 09:11] (current)
gibson [Problem F]
Line 1: Line 1:
 ===== Math 445 Lab 3: Sorting, Interest, Exponentials,​ and Limits ===== ===== Math 445 Lab 3: Sorting, Interest, Exponentials,​ and Limits =====
  
-Time Estimate: 4-6 hours. Important MATLAB commands that will be used: +Time Estimate: 4-6 hours. ​ 
-**for, while, if, break, format, plot, semilogy, zeros** + 
-Turn in your code, results, and required plots. Use the diary function ​+Important MATLAB commands that will be used: **for, while, if, break, format, plot, semilogy, zeros.** 
 + 
 +Turn in your code, results, and required plots. Use the diary function ​
 when necessary or helpful. Be sure to annotate your plots appropriately ​ when necessary or helpful. Be sure to annotate your plots appropriately ​
 by labeling your axes, giving the plot a meaningful title, and possibly by labeling your axes, giving the plot a meaningful title, and possibly
 labeling different lines in the same plot via the ''​legend''​ command. labeling different lines in the same plot via the ''​legend''​ command.
  
-AWrite a functionmysort.m that will take in a vector of any size and sort +==== Problem ​A====   
 +Write a function ​''​mysort.m'' ​that will take in a vector of any size and sort 
 it from least to greatest. Use the strategy of comparing neighbors and swapping it from least to greatest. Use the strategy of comparing neighbors and swapping
 them if necessary. If this process is done throughout the entire vector ​ them if necessary. If this process is done throughout the entire vector ​
Line 15: Line 18:
 then by switching the outer loop to use a ''​while''​ command. then by switching the outer loop to use a ''​while''​ command.
  
-BSuppose you opened a savings account that promised a 100% interest rate +==== Problem ​B==== 
 + Suppose you opened a savings account that promised a 100% interest rate 
 (typical rates are closer to 2.25% today). We are going to try and calculate ​ (typical rates are closer to 2.25% today). We are going to try and calculate ​
 how much money that account would have after one year depending on how the  how much money that account would have after one year depending on how the 
-interest is calculated. We will assume that we open the account with $10,​000. ​+interest is calculated. We will assume that we open the account with ''​$''​10,​000. ​ 
 + 
 If //r// is the annual interest rate, then after one year assuming the interest If //r// is the annual interest rate, then after one year assuming the interest
 is only compounded once a year, the amount after a year is just //(1 + r)B//  is only compounded once a year, the amount after a year is just //(1 + r)B// 
Line 28: Line 34:
 six months the other half of the interest is applied but this time to //B2// so six months the other half of the interest is applied but this time to //B2// so
 that the ending balance is given by  that the ending balance is given by 
 +
 <​latex>​ <​latex>​
 (1 + r/2)B2 = (1 + r/2)(1 + r/2)B = ((1 + r/2)^2 )B. (1 + r/2)B2 = (1 + r/2)(1 + r/2)B = ((1 + r/2)^2 )B.
 </​latex>​ </​latex>​
 +
 Similarly if the interest was compounded quarterly the ending balance would be Similarly if the interest was compounded quarterly the ending balance would be
 +
 <​latex>​ <​latex>​
 ((1 + r/4)^4 )B, ((1 + r/4)^4 )B,
 </​latex>​ </​latex>​
-and the balance at the end of //j//th quarter would be give by+ 
 +and the balance at the end of //j//th quarter would be given by 
 <​latex>​ <​latex>​
 ((1 + r/4)^j )B. ((1 + r/4)^j )B.
-<​latex>​+</latex> 
 Before you begin, enter the command ''​format bank''​. What did that command do? Before you begin, enter the command ''​format bank''​. What did that command do?
 Compute the final balance after one year of the initial investment of //$10,000// Compute the final balance after one year of the initial investment of //$10,000//
Line 44: Line 56:
 quartely, monthly, and bi-weekly. Hint: one of your answers should be 26130.35. quartely, monthly, and bi-weekly. Hint: one of your answers should be 26130.35.
  
-CNow we will compound the interest weekly. Let's use a ''​for''​ loop to + 
 +==== Problem ​==== 
 + Now we will compound the interest weekly. Let's use a ''​for''​ loop to 
 compute not only how much money we will have in our account at the end of  compute not only how much money we will have in our account at the end of 
 the year but each week as well. Use the command ​ the year but each week as well. Use the command ​
 ''​B=zeros(53,​1)''​ ''​B=zeros(53,​1)''​
-to create a column vector of zeros values ​where we will store the account +to create a column vector of zeros where we will store the account balances. Let
-balances. Let+
 ''​B(1)=10000''​ ''​B(1)=10000''​
 to set the initial balance. Next we need to compute the interest after each  to set the initial balance. Next we need to compute the interest after each 
 of the 52 weeks. We can use either of the following formulas, of the 52 weeks. We can use either of the following formulas,
 +
 <​latex>​ <​latex>​
 B_{j+1} = (1 + r/52)^j B_1 B_{j+1} = (1 + r/52)^j B_1
 </​latex>​ </​latex>​
 +
 or or
 +
 <​latex> ​ <​latex> ​
 B_{j+1} = (1 + r/52) B_j  B_{j+1} = (1 + r/52) B_j 
Line 62: Line 78:
  
 We can use the following code to evaluate the former formula We can use the following code to evaluate the former formula
 +
 <​code>​ <​code>​
 for j=1:52 for j=1:52
   B(j+1)=(1+1.00/​52)ˆj * B(1);   B(j+1)=(1+1.00/​52)ˆj * B(1);
 end end
-<​code>​ +</code> 
-Now we can plot the results using the ''​plot''​ command: + 
-''​plot(B)''​+Now we can plot the results using the ''​plot''​ command: ''​plot(B)''​
 Turn in a copy of your plot. Repeat the calculation using the equation Turn in a copy of your plot. Repeat the calculation using the equation
 +
 <​latex>​ <​latex>​
 B_{j+1} = (1 + r/52) B_j . B_{j+1} = (1 + r/52) B_j .
 </​latex>​ </​latex>​
 +
 making the appropriate adjustments to code given above. Either way you should ​ making the appropriate adjustments to code given above. Either way you should ​
-get the exact same plot and a final value of 26925.97 for B53 .+get the exact same plot and a final value of 26925.97 for B(53) .
  
-Bonus: Can you think of a way to calculate the same vector ''​B''​ in one line, +**Bonus:** Can you think of a way to calculate the same vector ''​B''​ in one line, 
 without using a loop?  without using a loop? 
  
-DAs the number of compounds increases, the final amount appears to be get  +==== Problem ​====  
-closer to some final value. In order to check this, lets compound the interest ​+As the number of compounds increases, the final amount appears to be get  
 +closer to some final value. In order to check this, let'​s ​compound the interest ​
 every second. Compute the result of compounding the interest every second on  every second. Compute the result of compounding the interest every second on 
-$10,000 at //r = 1.00// interest and check your answer versus the command+''​$''​10,000 at //r = 1.00// interest and check your answer versus the command
 ''​exp(1)*10000''​ ''​exp(1)*10000''​
 How close are these two numbers? Note: the command How close are these two numbers? Note: the command
Line 91: Line 111:
 commonly in exponential and natural logarithms. commonly in exponential and natural logarithms.
  
-EAt this point I am going to make a guess that+====Problem ​E==== 
 +At this point I am going to make a guess that 
 <​latex>​ <​latex>​
-(1 + 1.00/​n)^n ​≈ e.+(1 + 1.00/​n)^n ​\approx  ​e.
 </​latex>​ </​latex>​
  
Line 100: Line 122:
 Mathematically,​ that is to say that limit as //n// goes to $\infty$ of  Mathematically,​ that is to say that limit as //n// goes to $\infty$ of 
 //(1 + 1.00/n)^n// is //e//, or //(1 + 1.00/n)^n// is //e//, or
 +
 <​latex>​ <​latex>​
 \lim_{n \rightarrow \infty} (1 + 1.00/n)^n = e. \lim_{n \rightarrow \infty} (1 + 1.00/n)^n = e.
 </​latex>​ </​latex>​
  
-In fact the above statement is the definition of e. Lets test this idea of a  +In fact the above statement is the definition of e. Let'​s ​test this idea of a  
-limit though. Using the model for ''​for''​ loops above create a vector of 20 +limitthough. Using the model for ''​for''​ loops above create a vector of 20 
 values for ''​n''​ where $n_j = 2^j$ with //j = 1, ..., 20//. Then for each of  values for ''​n''​ where $n_j = 2^j$ with //j = 1, ..., 20//. Then for each of 
 the values of n, again using a ''​for''​ loop, calculate ​ the values of n, again using a ''​for''​ loop, calculate ​
-$a_j = (1 + 1.00/n_j )^{n_j}$ for ''​j = 1, ..., 20''​. Plot the values of //a//.+$a_j = (1 + 1.00/n_j )^{n_j}$ for //j = 1, ..., 20//. Plot the values of //a//.
 Next plot //e − a//.  You should see a graph that is not very informative ​ Next plot //e − a//.  You should see a graph that is not very informative ​
 since the values quickly go to zero. Instead we will plot the graph on a log  since the values quickly go to zero. Instead we will plot the graph on a log 
Line 117: Line 140:
 Turn in all plots. ​ Turn in all plots. ​
  
-Bonus: What happens if you let ''​j = 1, ..., 60''​? What happens if when you  +**Bonus:** What happens if you let //j = 1, ..., 60//? What happens if when you  
-let $n_j = 10^j$ for ''​j = 1,...,16''​? Can you make a reasonable guess as to+let $n_j = 10^j$ for //j = 1,...,16//? Can you make a reasonable guess as to
 what's happening here? what's happening here?
  
-FUsing the same procedure as in the previous problem, confirm that+==== Problem ​==== 
 +Using the same procedure as in the previous problem, confirm that 
 <​latex>​ <​latex>​
-\lim_{n\rightarrow \infty} (1 + 0.754/n)^nn = e^{0.754}+\lim_{n\rightarrow \infty} (1 + 0.754/n)^n= e^{0.754}
 </​latex>​ </​latex>​
 +
 by calculating approximations and storing them in a vector //a// using the  by calculating approximations and storing them in a vector //a// using the 
 same values for //n// and //j// as used above. Plot //e^0.754 − a// on a log  same values for //n// and //j// as used above. Plot //e^0.754 − a// on a log 
Line 130: Line 156:
 the command ''​exp(0.754)''​. the command ''​exp(0.754)''​.
  
-GWe have used several MATLAB functions so far. Now we are going to write our +==== Problem ​==== 
 + 
 + We have used several MATLAB functions so far. Now we are going to write our 
 own function. In the main MATLAB window click File → New → Script ​ own function. In the main MATLAB window click File → New → Script ​
 (or File → New → m-file depending on your version of MATLAB). This will open a  (or File → New → m-file depending on your version of MATLAB). This will open a 
Line 145: Line 173:
 value for the variable ''​Bal''​ which will be returned by the function. ​ value for the variable ''​Bal''​ which will be returned by the function. ​
 Mathematically this is what the code needs to return Mathematically this is what the code needs to return
 +
 <​latex>​ <​latex>​
 Bal = (1 + Rate ∗ Yrs/​Ncomp)^{Ncomp} Investment Bal = (1 + Rate ∗ Yrs/​Ncomp)^{Ncomp} Investment
 </​latex>​ </​latex>​
 +
 where ''​Bal''​ will be the balance you would have after ''​Yrs''​ years if you  where ''​Bal''​ will be the balance you would have after ''​Yrs''​ years if you 
 invested ''​Investment''​ amount of money at an interest rate of ''​Rate''​ that  invested ''​Investment''​ amount of money at an interest rate of ''​Rate''​ that 
Line 164: Line 194:
 the last line. Turn in the code for your function. the last line. Turn in the code for your function.
  
-HEnter the command ''​format long''​ then verify the following properties of +==== Problem ​==== 
 + 
 + Enter the command ''​format long''​ then verify the following properties of 
 exponentials and logarithms by testing the appropriate MATLAB functions with  exponentials and logarithms by testing the appropriate MATLAB functions with 
 the parameters indicated: ​ the parameters indicated: ​
 +
 <​latex>​ <​latex>​
 e^a e^b = e^{a+b} \text{ for } a= 0.3, b= 0.4, e^a e^b = e^{a+b} \text{ for } a= 0.3, b= 0.4,
Line 176: Line 209:
  
 <​latex>​ <​latex>​
-log(ab) = log(a) + log(b), \text{ for } a = 0.1, b = 5+\log(ab) = \log(a) + \log(b), \text{ for } a = 0.1, b = 5
 </​latex>​ </​latex>​
  
  
 <​latex>​ <​latex>​
-log(a^b) = b log(a), \text{ for } a = 3, b = 3+\log(a^b) = b \log(a), \text{ for } a = 3, b = 3
 </​latex>​ </​latex>​
  
 Note the ''​log''​ function in matlab is the natural logarithm. How would you  Note the ''​log''​ function in matlab is the natural logarithm. How would you 
-calculate $\log_{10}$ , $log_2$ , or $log_5$?+calculate $\log_{10}$ , $\log_2$ , or $\log_5$?
  
gibson/teaching/fall-2012/math445/lab3.1346898638.txt.gz · Last modified: 2012/09/05 19:30 by gibson