1. Use MATLAB's to answer the following questions or perform the described calculations
Type the following into the (don't type the >> — that's the command prompt):
>> F = 10000*(1+0.04)^5
Hopefully, you are considering how best to do this many calculations without retyping all of the values needed. Hint: First, enter the interest rates into a single vector of interest rates and save it with the name a and then perform an element-wise calculation using all elements in the vector. Type the following to create the vector using the colon operator:
>> a = 0.04 : 0.005 : 0.07
Repeat an earlier computation by using the up arrow until the calculation is at the command prompt and then editing as needed for the new calculation. Find your calculation from part a and change the 0.04 to the name of your vector of interest rates, a.
>> F = 10000*(1+a)^5
Before we explain the error (which we will do in the next section), let's just fix it. Type a period (.) before the ^ symbol in the expression and press the key. The (.^) is an element-wise operator. It indicates that the power operator needs to occur on each value (element) in the matrix, instead of performing matrix algebra.
2. Matrix algebra in MATLAB
The power operator by itself (^) performs the exponential multiplication as defined by matrix algebra. Let's review matrix multiplication first.
![]()
Show your answers to a Lab Leader
>> A = [ 1 , 2 ; 3 , 4 ; 5 , 6 ]
>> B = [ 1 , 2 ; 3 , 4 ]
>> C = A * B
>> D = B * A
Now what happened?
The error MATLAB produced is due to the fact that MATLAB tried to multiply two matrices with incompatible dimensions. A 3×2 matrix times a 2×2 matrix is defined, but multiplying a 2×2 matrix with a 3×2 matrix is undefined in matrix algebra, so the B*A operation failed.
>> one_plus_a = 1 + a
Now, one_plus_a contains the quantities of each interest rate plus the value 1. The addition of the scalar value to the matrix of interest rate values (1 + a) works fine. This is because the matrix algebra interpretation of a scalar added to a matrix is to add the scalar to each element of the matrix. Try adding two non-scalar matrices with different dimensions and again an error is the result because that operation is undefined in matrix algebra.
However, when we tried to raise the quantity (1 + a) to the fifth power, MATLAB produced the error because the matrix dimensions were incompatible for the multiplication operation. Matrix algebra does not allow a 1×N matrix to be multiplied by another 1×N matrix. What we really wanted was each element of the matrix to be raised to the fifth power. This is what element-wise operators do. Thus, replacing the ^ with .^ tells MATLAB to perform the calculation on each element.
Define a square matrix (4×4) and name it x. Then, compute x^2 and x.^2 and store the results in the variables x2_matrix_algebra_mult and x2_elementwise_mult, respectively.
Show your results to a Lab Leader
3. Future Value of Money (Part 2)
The up arrow will work, but the command we want now is several commands away. Another way to repeat a previously entered command is to drag it from the window into the . If the window is not visible, under the tab in the main menu select the drop-down menu. Then under the heading, select .
Change MATLAB's displayed precision
Which of the following investment options is the better investment?
Caution: Do not reenter commands if you can easily drag them from the or repeat them with the up arrow key. Be sure to edit as necessary before pressing .
4. Publishing your work (to HTML)
You have solved some problems, but need to present your work and the results to your boss or instructor. MATLAB has several tools to help publish your solutions to different forms. In this class, we ask that you publish your first MATLAB homework solution.
Here's how to save your work in an m-file:
Here's how to publish your work (to HTML) using MATLAB:
to your folder.%% Team Lab 4
% <<../tvom_formula.gif>>
Now, let's make our work more user-friendly by adding some cell headers and comments. Be sure to edit, remove, or comment out commands that were errors or duplicates from the original command (code) list.
%% 1.a Numeric Calculations
%% 2.b Matrix Multiplication
%% 2.c Add a scalar to a matrix
%% 2.d Matrix Squared vs Element-wise operator
%% 3.a Plot the Future Value of Money vs Interest Rate
%% 3.b Change MATLAB's displayed precision
%% 3.c Investment Option
5. Publishing multiple plots
When your work requires multiple plots, you will want to make sure the all the plots show up in your published HTML page. One way to do that is to make sure that each plot is in its own cell division before publishing to HTML. Otherwise, only the last plot will be displayed on the final html page.
Add a new section (i.e., a new cell division) to your program script and add this command to plot the first row of your squared x matrix. Note: this command will only work if you named matrices as directed in earlier steps.
>> plot(x(1,:),x2_elementwise_mult(1,:));
Next, save and run your program. How many plots do you get?
Now, publish and view the results to confirm that two separate plots are visible.
Note: to have each plot show up separately when you are running your program, put the command figure on a line before each plot command. This will tell MATLAB to make a new window to draw the next plot on.
6. Publish your work to PDF
7. Find the published files you created
The published files you created are automatically saved for you according to the default configuration settings or those that you edited. If you need to print your work, use while your published document is showing. If you need to upload a PDF, then you will need to know where the PDF file is located.
Show your published PDF to a Lab Leader.
8. Displaying equations in the published document page
There are lots of things you can do to make your final document a better presentation of your work. One cool thing MATLAB can do is display professionally formatted equations in your page. Even though MATLAB does not allow you to enter equations and solve them, you can display the equations that your work is based on in the final document.
%
% $$F = P(1+a)^n$$
%
%
% $$y = \frac{\sin(x)}{\cos( \frac{\pi}{4} ) }$$
%
x = 1:0.1:10;
y = sin(x)/cos(pi/4);
figure
plot(x,y)
title('sin(x)/cos(\pi/4) vs x');
xlabel('x');
ylabel('sin(x)/cos(\pi/4)');
Note: This syntax is based on LaTeX syntax for entering equations to be formatted. While there is no guarantee that all LaTeX commands will work the same in MATLAB as in LaTeX, many will and it's worth a try.
9. Displaying lists in the published document
It is easy to display a list of items in a cell comment section. MATLAB can produce bulleted lists and numbered lists.
%
% * Name 1
% * Name 2
% * Name 3
%
%% Numbered list example
% # Launch MATLAB
% # Create script file
% # Write MATLAB code
% # Run script
% # Save and publish
% # Print or upload as needed
10. Getting HELP!
We have presented a lot of different things to try in MATLAB, but what if you need help while working in MATLAB? Help is just a click or a few typed characters away.
If you know the name of the command you need:
Type help plot to see help displayed in the .
Type doc plot to launch the browser.
If you don't know the name of the command:
Type doc or click the icon,
, near the top of your screen to launch the browser and then search for a command or topic that will help you solve the problem.
None this week.