Assignment
Write the scripts (m-files) in Matlab for the following questions. Write only one script using cell structure.
Q1 A Fibonacci sequence is composed of elements created by adding the two previous elements. The simplest Fibonacci sequence starts with 1, 1 and proceeds as follows:
1, 1, 2, 3, 5, 8, 13, ...
However, a Fibonacci sequence can be created with any two starting numbers. Prompt the user to enter the first two numbers in a Fibonacci sequence and the total number of elements requested for the sequence. Find the sequence and store it in an array by using a for loop. Now plot your results on a polar graph. Use the element number for the angle and the value of the element in the sequence for the radius.
Q2 The value of cos(x) can be approximated using a Maclaurin series which can be expressed more compactly as
cos (x) = 1 - (x2/2!) + (x4/4!) - (x6/6!) + ...
(recall that the symbol ! stands for factorial).
k=1∑∞ (-1)k-1 [x(k-1)*2 / (k-1)*2)!]
Use a midpoint break loop to determine how many terms must be included in the summation, in order to find the correct value of cos(2) within an error of 0.001. Limit the number of iterations to a maximum of 15.
Q3 A Fibonacci sequence is composed of elements created by adding the two previous elements. The simplest Fibonacci sequence starts with 1, 1 and proceeds as follows:
1, 1, 2, 3, 5, 8, 13, ...
One interesting property of a Fibonacci sequence is that the ratio of the values of adjacent members of the sequence approaches a number called "the golden ratio" or (phi). Create a program that accepts the first two numbers of a Fibonacci sequence as user input and then calculates additional values in the sequence until the ratio of adjacent values converges to within 0.001. You can do this in a while loop by comparing the ratio of element k to element k - 1 and the ratio of element k - 1 to element k - 2. If you call your sequence x, then the code for the while statement is
while abs(x(k)/x(k-1) - x(k-1)/x(k-2))>0.001
Q4 The value of sin(x) can be approximated as
sin (x) = x - (x3/3!) + (x5/5!) - (x7/7!) + ...
Create a function called my_sin, using a midpoint break loop to approximate the value of sin(x). Determine convergence by comparing successive values of the summation as you add additional terms. These successive sums should be within an absolute value of 0.001 of each other. Limit the number of iterations to a maximum of 30.
Q5 The le lake_powell.dat contains data on the water level in the reservoir of Lake Powell for the 8 years from 2000 to 2007. By using a nested loop structure,
Determine the average elevation of the water level for each year and for the eight-year period over which the data were collected.
Q6 Consider the following method to approximate the mathematical constant, e. Start by generating K uniform random integers between 1 and K. Compute J, the number of integers between 1 and K, which were never generated. We then approximate e by the ratio
K/J
Consider the following example for K = 5. Assume that the following five integers are randomly generated between 1 and 5.
The number of times the integers are generated is given by
Integers
|
1
|
2
|
3
|
4
|
5
|
Number of instances
|
2
|
2
|
1
|
0
|
0
|
In this example, there are two integers, namely 4 and 5, which were never generated. This means that J = 2. Consequently, e is approximated by
5/2 = 2.5
Write a function called eapprox that takes the value of K as input, and which then approximates e using the method described above.
Q7 The le lake_powell.dat contains data on the water level in the reservoir of Lake Powell for the 8 years from 2000 to 2007. By using a nested loop structure, Determine how many months each year exceed the overall average for the eight-year period.
Q8 Most major airports have separate lots for long-term and short-term parking. The cost to park depends on the lot you select, and how long you stay. Consider this rate structure from the Salt Lake International Airport during the summer of 2008.
• Long-Term (Economy) Parking
- The first hour is $1.00, and each additional hour is $1.00
- Daily maximum $6.00
- Weekly maximum $42.00
• Short-Term Parking
- The first 30 minutes are free and each additional 20 minutes is $1.00
- Daily maximum $25.00
Write a program that asks the user the following:
• Which lot are you using?
• How many weeks, hours, days, and minutes did you park? Your program should then calculate the parking bill.
Q9 The le lake_powell.dat contains data on the water level in the reservoir of Lake Powell for the 8 years from 2000 to 2007. By using a nested loop structure,
Create a report that lists the month (number) and the year for each of the months that exceed the overall average. For example, June is month 6.
Q10 Develop a function called diagonal to find the main diagonal vector of a matrix with nested loops. Developed function should have the same result as Matlab built-in function diag.
|
Q1-Q2
|
Q3-Q4
|
Q5-Q6
|
Q7-Q8
|
Q9-Q10
|
Student Number
|
10042025
|
15065221
|
16012060
|
16012132
|
16065209
|
14012610
|
16012010
|
16012067
|
16012620
|
16073005
|
14035023
|
16012016
|
16012068
|
16015057
|
17012040
|
15012010
|
16012031
|
16012078
|
16041024
|
17012071
|
15012022
|
16012032
|
16012081
|
16051002
|
17012609
|
15024909
|
16012033
|
16012109
|
16065025
|
17012907
|
15035014
|
16012044
|
16012116
|
16065081
|
17041029
|
15065108
|
16012051
|
16012127
|
16065089
|
17056010
|
15065149
|
16012054
|
16012130
|
16065154
|
17065075
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|