Unformatted text preview:

ECE 2006 UMD Lab 7Experiment 7: Using MATLAB®Introduction:MATLAB® is a matrix based software “laboratory” from The MathWorks (www.mathworks.com). It is used extensively in academia and industry for an amazing variety of tasks. It has a suite of graphical user interfaces under the trade name Simulink® that provide easy answers to many of engineering’s sticky questions.This experiment is designed to introduce to the student to some of the basic procedures inMATLAB in preparation for other courses where it will be used regularly.Procedure:1. Help Files: MATLAB has a good internal help command. In the MATLAB window, type help then press the enter key.Linear Algebra:All MATLAB variables are treated as arrays (matrices). This is slightly intimidating at first, but the advantages soon become clear.Procedure:1. Create a matrix by typing the following in the MATLAB workspace:A = [1 2; 3 4]2. Notice that the semicolon, ; , indicates a new row in the matrix. Create a second matrix, B.B = [5 6; 7 8]3. Enter the variable name, A, as a command and notice that MATLAB remembers everything you’ve entered previously.A4. The colon symbol, : , can be used to select columns or rows within a matrix. Try the following commands:y = A(1,:)z = B(:,2)ECE Department Page 1 1/14/2019ECE 2006 UMD Lab 75. Perform the following algebraic manipulations of A and BA + BA*BA/B6. Solving systems of linear equations is extremely simple. Here’s an example of an Ax=B system: Equation 1: 2x + 3y = 10 Equation 2: 1x – 3y = 8A = [2 3; 1 -3]B = [10;8]X = inv(A)*BNote: Try X = A\B as a shortcut for the 3rd line above7. MATLAB matrices are not limited to real numbers. MATLAB defines i as the square root of (-1). However, in electrical engineering, we reserve i for current and therefore use j as the imaginary unit vector. Type in the following to make a complex matrix and calculate its determinant.j = sqrt(-1)A = [ 1+j*2 3+j*4 ; 5+j*6 7+j*8 ]B = det(A)8. FOR YOUR REPORT: Write Nodal or Mesh equations for the following circuitand solve the equations in MATLAB to find Vx and Ix.Graphing Time Based Functions:MATLAB is an excellent platform for visualizing time-based functions.Procedure:ECE Department Page 2 1/14/2019ECE 2006 UMD Lab 71. Make an array of values to represent time by typing the following:t = [0 : 0.1 : 10]2. Describe a sine wave:a = 10*sin(2*t)3. Plot the sine wave versus time:plot(t,a) (SCILAB command is plot2d(t,a))4. Make the 3rd and 5th harmonic, add them to the fundamental sine wave and plot the result (note that the semi-colon allows multiple commands on one line):b = 3*sin(6*t); c = 1.5*sin(10*t); d = a + b + cplot(t,d) (SCILAB command is plot2d(t,a))5. FOR YOUR REPORT: Solve the following first order differential equation by any method of your choosing, describe the solution as an equation in MATLAB and plot it versus an appropriate time range.dX/dt + 0.5 X = 10 with initial condition: X(0) = 5Functions and M-filesMATLAB can be considered a fully functional programming language. As such it has theability to load external code (known as a script in MATLAB) and execute it. It also allows users to create subroutines (known as functions in MATLAB). One can even call a user-defined function from within another user-defined function (nesting). MATLAB has an editor/debugger window that lets you create and debug a script called an M-File.Procedure:1. In MATLAB (SciPad instructions below), click on File in the top menu bar. In the drop down window, click New>M-File. An editor window will appear. In that editor window, type in the following script (note that the % symbol denotes a comment line and the semi-colon, ; , will tell MATLAB to suppress the output ofthat line when the script is executed):% Just a simple stupid scriptt = [0 : .1 : 10];x = sin(t);plot(t,x)ECE Department Page 3 1/14/2019ECE 2006 UMD Lab 7Otherwise, in SCILAB, click on the new file symbol on the top menu bar, creating a new SciPad window. Type in the following text:// Just a simple stupid scriptt = [0 : .1 : 10];x = sin(t);plot2d(t,x)2. In MATLAB, if you were to change any of the above code, creating an obvious error, note that the erroneous code will automatically be underlined in red, indicating a problem. Hovering the mouse-pointer over the red underlining will show a description of the error. Now, in the editor window, click on Debug in the top menu bar and select Save and Run in the drop-down menu. Your code will be executed in MATLAB. In SCILAB, there is no direct error detection in the SciPad editor window. In the SciPad Window, click on Execute>Load into Scilab. Your code will be executed.3. Making M-file scripts such as the one above is an excellent way to develop MATLAB code and also a great way to save a copy of what you’ve done.4. The other way to use the M-File concept is to develop a custom function. Open a new script window as described in step 1 above. Enter the following code in a new script window:function [mean,stdev] = stat(x) % Interesting statistics for the array, x. n = length(x); mean = sum(x) / n; stdev = sqrt(sum((x - mean).^2)/n); % Note the existence of a period % before ^2. Having that period tells MATLAB to square each % element separately, not the whole array.In Scilab, paste the following code into a new SciPad window:function [mean,stdev] = stat(x) //Interesting statistics for the array, x. n = length(x); mean = sum(x) / n; stdev = sqrt(sum((x - mean).^2)/n); //Note the existence of a period // before ^2. Having that period tells SciLab to square each // element separately, not the whole array.endfunctionECE Department Page 4 1/14/2019ECE 2006 UMD Lab 75. Save this script as stat.m (for SciLab, save it as stat.sci)6. MATLAB should now be able to call stat as a function. In the main MATLAB command window, enter the following code. In SCILAB, in the SciPad window, click on Execute>Load into SciLab, then execute the following code in the main Scilab command window:z = [.1 : .1 : .5][zmean, zstdev] = stat(z)7. FOR YOUR REPORT: Write an M-File (or SciPad file) script to create two custom functions called RtoP and PtoR. As a function, RtoP(x) will perform a rectangular to polar conversion of the complex number, x. Similarly, PtoR(x,y) will convert polar form to rectangular, where x = magnitude and y = angle in degrees.ConclusionYour report


View Full Document
Download Laboratory - Using MATLAB
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Laboratory - Using MATLAB and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Laboratory - Using MATLAB 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?