New User Special Price Expires in

Let's log you in.

Sign in with Facebook


Don't have a StudySoup account? Create one here!


Create a StudySoup account

Be part of our community, it's free to join!

Sign up with Facebook


Create your account
By creating an account you agree to StudySoup's terms and conditions and privacy policy

Already have a StudySoup account? Login here

Programming Final Exam Notes

by: Neha Bhagirath

Programming Final Exam Notes BE1500

Marketplace > Wayne State University > Engineering and Tech > BE1500 > Programming Final Exam Notes
Neha Bhagirath

Preview These Notes for FREE

Get a free preview of these Notes, just enter your email below.

Unlock Preview
Unlock Preview

Preview these materials now for free

Why put in your email? Get access to more of this material and other relevant free materials for your school

View Preview

About this Document

These are the notes for BE 1500 Final exam
Intro to Programming
Tonya Whitehead
Study Guide
50 ?




Popular in Intro to Programming

Popular in Engineering and Tech

This 77 page Study Guide was uploaded by Neha Bhagirath on Tuesday August 2, 2016. The Study Guide belongs to BE1500 at Wayne State University taught by Tonya Whitehead in Spring 2016. Since its upload, it has received 20 views. For similar materials see Intro to Programming in Engineering and Tech at Wayne State University.

Similar to BE1500 at WSU

Popular in Engineering and Tech


Reviews for Programming Final Exam Notes


Report this Material


What is Karma?


Karma is the currency of StudySoup.

You can buy or earn more Karma at anytime and redeem it for class notes, study guides, flashcards, and more!

Date Created: 08/02/16
  DAY 1    Coding Vocab  Syntax:​ The set of rules that defines the combinations of symbols that are considered to be a correctly  structured document or fragment in that language (set of rules that govern how things are done)  Command: ​An instruction to a computer or device to perform a specific task   Variable: A storage location paired with an associated symbolic name (an identifier), which contains some  known or unknown quantity of information (a name we associate with some sort of data so MATLAB knows  that, for example, a=15, and it’ll know every time we put “a”, it is 15. It is storing things we need in a variable.)  Comment:​ A line of text (command) that will not be executed but it’s there to help you understand more. Add  at the end and put a % sign.  Function:​ A special type of code that performs a particular operation, usually requires input and returns an  output  Input: ​Required program or data that is received by a program or function and used by it   Output:​ What you get back. Data or info returned after a program or function is completed  Program: ​A set of code to complete multiple tasks, may include calls to functions    Excel Vocab  Workbook: T ​ he file type created by excel  Sheet:​ Individual “tab” in the workbook  Cell:​ Individual location in the sheet where data is stored   Formula: ​Calculations done within a cell    MATLAB Vocab  Logicals:  ​ True/False (ex. Does a=b)        Assigning values to variables directly:  Ex. A = 4;   B = 9;     Assigning values to variables through other variables:  Ex. C = A + B;         C=13      Notes: Names can be anything except reserved words (get, format, pi), has to start with a letter, no spaces  You can only use the variables in your workspace!      More examples: format compact      Error Messages you may get  ­Undefined function or variable “e” ­­­ it can’t find the variable  ­Error using format ­­­­ you need something AFTER the word format  ­Unexpected MATLAB operator ­­­ you may be trying to type 2x or 2a but you need the multiplication sign in  between  ­Expressions or statement is incomplete/incorrect ­­­ ex. Missing brackets  ­Error using * (Inner matrix dimensions must agree)                      Evenly Space Row Vector ­­­> the 1 : 0.5 : 3 means that it is at 1 and goes 0.5 up each time and ends at 3         Lin means linear function  Log means logarithmic function          V,V2,V3,V4...Etc are just different variables   ­CAPITALS AND LOWERCASE ARE DIFFERENT   b=mod(a,m) ­­­ put numbers for a and m and it will calculate b (which is the remainder after division)    M=m(9) means in the matrix m, the 9th entry ­ you count down column 1, then down column 2, etc, to count the  entries     Linspace means linear points and logspace means log points, it is written like, for example:   linspace(1,5,4) means from 1 to 5, with 4 points. Same for log, but the points will be logarithmically spaced    If you have 1:3:9 you would have 1 4 7 because it is from 1 to 9 in increments of 3, and 1 4 7 is the highest  because then it would be 10     If you have 3:­1:10 it is not possible so you get an empty matrix error   ­linspace does not have increments , you tell it the number of points and it MAKES increments                                         DAY 2    ­To use e, put exp(⅔) or whatever exponent you want ­ no need for the “^”  ­a=1:2:9 means 1 to 9 with increments of 2   ­if you want the third row, first column of a matrix ­­­­> V=m(or whatever variable defines your  matrix)(row,column)  ­Have to use built in matlab functions if she asks (aka NOT writing out the whole matrix)  ­Before comma is rows, then after comma is columns: ex. M([1 3], 2:3) means 1 ​ st and 3rd rows of 2nd and 3rd  columns     ­All columns in row 1 is V=m(1,:)    ­​Three ways to make a matrix: using the colon operator, linspace, or other built­in MATLAB functions  How to make matrix columns instead of rows:    Other Matrix commands:  fliplr means flip the matrix from left to right   flipud means flip from up to down (bottom to top)  rot90 means rotate matrix 90 degrees    ­matrix addition and subtraction ­­­­> matrices must match rows and columns (it’s always element by element)  ­matrix multiplication/division/powers ­­­> the inner dimensions must match ­­­> 2x3 times 3x2 (the 3 and 3  match.) Do (A.*B)  ­­­> C*D is not the same as C.*D. The period in front of the multiplication sign, or the  division, or the power sign, tells MATLAB that it is element by element. (You can multiply straight out and do  row times columns, or you can do element by element by using a period)                 Operations with Two matrices:  A=[1 3; 10 12] and B=[11 9; 8 7]  You can do A/B, A\B, B\A, A\B, A*B, B*A, A.*B, B.*A, etc   You cannot do matrix multiplication #13 in the homework day 2­every time you are plugging a vector into an  equation, and using a power, use element by element­­­ because you have a row times row times row times  row ­­ cannot do that without transposing. Therefore, do element by element         ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­DONE WEEK 1­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­     Anonymous Functions and Plotting  ­Syntax is “plot( x, y)”  ex . X=1:10  Y=01:0:1.1  ­when you are graphing make sure you use the same number of x and y coordinates   ­you cannot put sin^2(x) you must put the squared at the end                         ­Multiple Plotting on the same graph:          Ex. plot(X,Y,'r­­o')    Adding Titles and Axis Labels  ­title(‘string’)  ­xlabel(‘string’)  ­ylabel(‘string’)  ­legend(‘string’)  ­­­ ex. legend(‘Function 1’, ‘Function 2’)  ­if you have 3 data sets put 3 strings in there, separated by commas   ­if you put y1=x^2, and x=1:10, it will do matrix multiplication so do y=x.^2 instead         ­how to do put your legend in the best place ­­­> legend('Data Set 1','Data Set 2','Location','Best') but don’t  close the window for the plot or it won’t graph   Hold on/hold off: hold on means that you plot the figure in there, then put hold off. THEN graph another graph  and it’ll be in another window   ­putting points by hand: use square brackets            Homework:    Answer:    ­and put hold off after it     ­you can choose where to put the legend: legend('Data Set 1','Location','Best') ­­­> instead of best, put n,s,e,w  for north south east west          ­if you want to make the same scale to compare:    Subplot: multiple graphs in the same figure ex. subplot(2,1,1) means 2 rows, 1 column, and position 1       Homework:   Answer:            Anonymous Functions: single line equations      Ex.   f =         @(x)x.^(1/3)    >> f(8)    ans =         2                      ­the (a,2,2) means that a is from 0­10 and b and c equal 2 always   And its @a because we use a for our variable     Homework:        Answer:  a)    >> Test1=@(x)(cos(x).^(5/2))*(x­4).^2­x.^(1/3)    Test1 =         @(x)(cos(x).^(5/2))*(x­4).^2­x.^(1/3)    >> fplot(@(x) Test1(x),[0,pi/2])    b)    ­when you have 2 vectors, use plot function   Answer:              Day 4  ­The simplest type of MATLAB program is called a script, has a .m extension. You can run a script by typing its  name at the command line  ­Anonymous Functions: not stored in a program file, but is associated with a variable whose data type is  function_handle. Can contain only a single executable statement.          Practice:          >> R=[0, pi/8, pi/6, pi/4, pi/2]    R =             0    0.3927    0.5236    0.7854    1.5708        >> function_name=@(x)(sin(x)).^2+((cos(x)).^2./(sin(x)­cos(x)))  % DOT BEFORE DIVISION    function_name =         @(x)(sin(x)).^2+((cos(x)).^2./(sin(x)­cos(x)))    >>  B=function_name(R)    B =       1.0e+15 *         ­0.0000   ­0.0000   ­0.0000   ­4.5036    0.0000    New question:      Answer:  >> A=1:10    A =         1     2     3     4     5     6     7     8     9    10     >> f=@(x)3*x.^2+5    f =         @(x)3*x.^2+5    >> f(A)    ans =         8    17    32    53    80   113   152   197   248   305    >> Y=f(A)    Y =         8    17    32    53    80   113   152   197   248   305    >> subplot(3,1,1)  >>  plot(A,Y)  >> f=@(x)12*x­(5*x.^2)      f =         @(x)12*x­(5*x.^2)    >> f(A)    ans =         7     4    ­9   ­32   ­65  ­108  ­161  ­224  ­297  ­380    >> Y2=f(A)    Y2 =         7     4    ­9   ­32   ­65  ­108  ­161  ­224  ­297  ­380    >> plot(A,Y2)  >> subplot(3,1,1)  >>   >> plot(A,Y)  >> subplot(3,1,2)  >> plot(A,Y2)  >> f=@(x)x.^3+(2*x.^2)­(3/(x­x.^2))    f =         @(x)x.^3+(2*x.^2)­(3/(x­x.^2))    >> f(A)    f =         @(x)x.^3+(2*x.^2)­(3./(x­x.^2))    >> f(A)    ans =       1.0e+03 *          ­Inf    0.0175    0.0455    0.0963    0.1752    0.2881    0.4411    0.6401    0.8910    1.2000    >> Y3=f(A)    Y3 =       1.0e+03 *            ­Inf    0.0175    0.0455    0.0963    0.1752    0.2881    0.4411    0.6401    0.8910    1.2000    >> subplot(3,1,3)  >> plot(A,Y3)    ­plot has to have a vector, and fplot can have a vector or a function  ­when you put fplot(...) the first thing in the brackets has to be the name of the anonymous function  ­once you have two vectors you can’t use fplot­ you must use plot which takes an x and a y value  ­you need JUST plot if it says “evaluate” which means put stuff in and get stuff out    ­you can also use fplot for functions with multiple variables, however you have to put individual values in for all  but 1 variable  Ex. f=@(a,b,c)a.^2+b.^2+c.^2    ­­­­DONE WEEK 2­­­­­­    Day 5  ­fprintf­This function is used to format output  ­anything written in single parentheses that becomes a string of text is a string value, or a numerical value see  picture below to see the syntax). Example:     >> y=input('Enter a number')  Enter a number    Or     >> z = input('Enter Text:','s')  Enter Text:    ­Syntax:fprintf(format_string, variables)  ­if you want to use special characters in the string, put ‘/’          In class exercises:            Number 3:        >> untitled5    f =         @(x)(sin(x)).^2+((cos(x)).^2./(sin(x)­cos(x)))    Enter a number    x =         []      Y =         []    >> untitled5    f =         @(x)(sin(x)).^2+((cos(x)).^2./(sin(x)­cos(x)))    Enter a number[0 pi/8 pi/6 pi/4 pi/2]    x =               0    0.3927    0.5236    0.7854    1.5708      Y =       1.0e+15 *       ­0.0000   ­0.0000   ­0.0000   ­4.5036    0.0000    2)    f=@(x)(sin(x)).^2+((cos(x)).^2./(sin(x)­cos(x)))   t=input(‘​Please input a vector of values’​);  y=f(x)  display(x)  display(y)    ­the thing that makes a function file a function is the word ‘function’ at the start   ­run button will not work for a function file. You have to put inputs       Exercise:  ­Open a new function from the drop down menu   function  ​ [ y ] = Cube_root( x )  %UNTITLED7 Summary of this function goes here  %   Detailed explanation goes here  y=x.^(1/3);   Have to name the file Cube_root as well     End    (what you input is in black)      In the command window:  >> z=Cube_root([8 27 84])    z =        2.0000    3.0000    4.3795      4)    Put in function file:          Put in command window:  >>  untitled10([0 pi/8 pi/6 pi/4 pi/2]) %type untitled10 on your own. Don’t run the script. Save the above, then  input the untitled line and the answers will come    f =         @(x)(sin(x)).^2+((cos(x)).^2./(sin(x)­cos(x)))      ans =       1.0e+15 *       ­0.0000   ­0.0000   ­0.0000   ­4.5036    0.0000        5)     ­­­ use the function and the vector from above, this is a different example    >> g=@(v)5*v+v.^2­v.^3    g =           @(v)5*v+v.^2­v.^3    >> n=1:5:100    n =         1     6    11    16    21    26    31    36    41    46    51    56    61    66    71    76    81    86    91    96    >> untitled12(n,g)    ans =      Columns 1 through 14               5        ­150       ­1155       ­3760       ­8715      ­16770      ­28675      ­45180      ­67035      ­94990  ­129795     ­172200     ­222955     ­282810      Columns 15 through 20         ­352515     ­432820     ­524475     ­628230     ­744835     ­875040    %this is like y=f(x) and you found all the values    Day 6  Table function: used to format data output   Variable names will become column headers   Syntax: table(variable_names)            >> x=1    x =         1    >> fprintf('I had %g cookies\n\n',x)  I had 1 cookies    >> x=12    x =        12    >> y=1/3    y =        0.3333      >> fprintf('I had %g cookies and %f pies\n\n',x,y)  I had 12 cookies and 0.333333 pies    >> fprintf('I had %g cookies and %.2f pies\n\n',x,y)  I had 12 cookies and 0.33 pies    >> x=1:5;    >> y=x.^2;  >> table = [x' y']    table =         1     1       2     4       3     9       4    16       5    25    >> fprintf('%g squared is %g\n\n',x,y)  1 squared is 2    3 squared is 4    5 squared is 1    4 squared is 9    16 squared is 25            ­­­­­­­­­­­­­DONE ANOTHER WEEK­­­­­­­­­­­­­­­  Day 7        ­last resort, use else statement. Cannot put anything after the “else” expression or it won’t read it    ­only “if” and “end” are needed ­ the “elseif” and and “else” are not NEEDED        >> %Day 7 MATLAB examples  >> a=10;b=15;c=20;  >> x=a<b    x =         1    >> y=a>c||b<c    y =         1    >> %one means yes, zero means no   >> z=a>c&&b<c    z =         0    >> %these are 3 logical operators  >> v=x&y    v =         1    >> %if x is true and y is true, you should get a true for v as well   >> %string compare syntax is "strcmp('Yes','No')  >> %ex. s1='upon';s2={'Once','Upon','A','Time'};tf=strcmp(s1,s2)  >> s1='upon';s2={'Once','Upon','A','Time'};tf=strcmp(s1,s2)    tf =         0     0     0     0    >> %It's comparing each thing and saying yes this is true (1) or no this is false (0)  >> %example below  >> strcmp('Test','test')    ans =         0    >> %the above just asked MATLAB if capitalized test is different than lowercase test and it gave false because  that is not true   >> %examples with if­else statements    ­there are 2 inputs we can use in our script: a string or a number   ­if you put:  strcmp(‘trig,’sine’) it compares your input named ‘trig’ to the sine function, and if you input sine, it will execute  the command            In class exercise:    Answer:    trig=input(​'Enter a trig function: '​,​'s'​ ; ​%be sure to include the string indicator  x=[0:pi/2:2*pi]; ​%X values for the plot   if​ strcmp(trig,​'sine'​) ​%will run if sine is entered      y=sin(x) ​%creates the y values for the plot       plot(x,y), ​%plots the values of x vs y   elseif​ strcmp(trig, ​'cosine'​) ​%will run if cosine is entered      y=cos(x);      plot(x,y),  elseif​ strcmp(trig,​'tangent'​) ​%will run if tangent is entered      y=tan(x);      plot(x,y),  else​    ​% runs if none of the other cases are met       disp(​'Please Try Again'​)  end    title(​'Lecture 6 Exercise 1'​)  xlabel(​'Angle'​)  ylabel(​'y axis'​)        OR       trig=input(​'Enter A Trig Function: ', ​ '​ ; ​%be sure to include the string indicator , the s  x=[0 2*pi];  if​ trig==​'sin(x)'​ ​%put single quotes otherwise it will take sinx as a vector and compare the 'trig' variable to that      f=@(x)sin(x)      fplot(f,x)  elseif ​ trig==​'cos(x)'      f1=@(x)cos(x)      fplot(f1,x)  else​ trig==​'tan(x)'      f2=@(x)tan(x)      fplot(f2,x)  end      Day 8  ­with a function, you cannot RUN the script. You have to put the first line in the command window instead  ­the reason we make functions is that we can call chunks of code elsewhere without having to rewrite it again     ­in the following pic, if you put an elseif, then it’ll look at the ~=, but because you have just an else, it didn’t even  look at what was after the else (also with “otherwise” it won’t look at what is after that)                Another way of doing an elseif, generally used for strings instead of numbers:      Example:  The ‘s’ is there because it is a string and not a number                Exercise:            BUT you have to make a function so:  ­there is one input and zero output arguments­she will tell you when you have no outputs and when you do  (now this will make a graph when you type in A1)  (dset is a variable name to indicate something)  (don’t need input since it is a function)            Question:          ­­­­­­­­­­­­ DONE WEEK­­­­­­­­­­­­­  Day 8      ­3 variables (2,3,4 line) and e and a are strings because e is in single quotes    EXAM REVIEW:  ­ 4 anonymous functions and 1 vector are the inputs so there are 5 inputs  ­there are zero outputs  ­are the anonymous functions always in the command window? If it says “the anonymous functions are going to  be an input, then yes.” otherwise, it might say define them in your function  ­anything you put in the command window, it is not known by the script so you must put any defined variables in  the command window (like T=1)    Day 9­Exam review  ­know how to do anonymous functions w/ multiple variables    Question 1:      Answer:    Script:    %p is the density   %for two variables you need two defining input equations  d=input('Enter a diameter of the tank: ')  h=input('Enter a height of the tank: ')     volume=1/3*pi*(d/2)^2*h;  %replace r with d/2  %doesn't ask for an anonymous function so you do not need it  weight=volume*62.3; %consider mass as weight, d=m/v     display(volume)  display(weight)      Command Window:  >> untitled6  Enter a diameter of the tank: 4    d =         4    Enter a height of the tank: 4    h =         4      volume =       16.7552      weight =       1.0438e+03    >> format compact  >> untitled6  Enter a diameter of the tank: 4  d =       4  Enter a height of the tank: 4  h =       4  volume =     16.7552    weight =     1.0438e+03                Question 2:    Answer:  Script:  %says in the question we have one input with 5 numbers   function[sue]=untitled6(tim)  a=tim(1);  b=tim(2);  c=tim(3);  d=tim(4);  e=tim(5);  sue=(a+b+c+d+e)/5;  %other option you can do is sue=mean(tim) which is more efficient;  %other option is to do sue=(tim(1)+tim(2)+tim(3)+tim(4)+tim(5))/5;  end     Command Window:  untitled6([2 4 6 8 10])  ans =       6    Question 3:      Answer:  Script:  function​ [ output_args ] = untitled9( x1,y1,z1,x2,y2,z2)  %UNTITLED9 Summary of this function goes here  %   Detailed explanation goes here  d=((x2­x1)^2+(y2­y1)^2+(z2­z1)^2)^(1/2) ​%distance calculation  if​ (x1~=0) && (x2~=0) && (y1~=0) && (y2~=0) && (z1~=0) && (z2~=0) ​%the double and is like doing  a semicolon at the end and it suppresses the calculation      display(​'Points in 3D space'​)  elseif​(x1~=0) && (x2~=0) && (y1==0) && (y2==0) && (z1==0) && (z2==0)      display(​'Points along the x­axis'​)  elseif​(y1~=0) && (y2~=0) && (x1==0) && (x2==0) && (z1==0) && (z2==0)      display(​'Points along the y­axis'​)  elseif​(z1~=0) && (z2~=0) && (y1==0) && (y2==0) && (x1==0) && (x2==0)      display(​'Points along the z­axis'​)  elseif​ (x1==0) && (x2==0)      display(​'Points within y­z plane'​)  elseif​ (y1==0) && (y2==0)      display(​'Points within x­z plane'​)     elseif​ (z1==0) && (z2==0)      display(​'Points within x­y plane'​)  end  end​ ​%need two end statements for a function or switchcase with elseif      Command Window:   untitled9(1,2,3,12,13,14)    d =       19.0526    Points in 3D space  >>     Day 10­Binary  ­need to add zeroes at the end to make 64 bit for IEE 754 format   ­Base ten numbers are decimal numbers  ­Binary numbers are base 10 (only 1 and 0, on or off.)   ­every binary has a unique decimal value and vice versa  ­decimal numbers only have digits from 0­9, and they don’t have to have a decimal in them (ex.33, 493, 39393)  ­example, how to get the decimal number 15 is (1x10^1)+(5x10^0)  ­the value of a binary number and decimal number are different. If you see a number of only ones or zeroes,  you have to be told whether it is decimal or binary  ­check the lecture slides for this day     Day 11  ­ a breakpoint is a red point that stops to check what is happening   ­the for loop is used when you want the calculations to be performed a certain number of times  ­the first statement is how many times the statement will be executed   ­a for loop has a set number of times we do something; a while loop you need conditions like if else statements,  as long as the condition is met, the loop will keep continuing   ­the rule of while loops: whatever you are checking in your while statement, it has to be IN your loop, otherwise  the loop would never stop   ­example, k=1:100 (a vector from 0 to 100 shows that the for loop should run 100 times.) ex. i=1:2:7 means the  code is executed 4 times for i=1,3,5,7 because 1:2:7 means from 1 to 7 and count up by 2 which you learned  earlier (colon operator in both cases.) When it runs out of numbers, it continues on with the code  ­we name a variable so we can name the loop for something   ­loop ends with an end statement       ­calculations are not performed until end statement is put in     ­if you define a variable twice, then it will add up, like in this case and y is defined twice    ­the k is put as 1,2,3,4,5. but the y on the left of the equals sign is replaced by the values you get. If k=1, y=0,  then new y=1. Then put new y=1 for the y on the right side, and k=2, you get 3, and so on    Exercises:      Answer to #1a):      b)  for​ i=500:1500      sum=sum+i;  end  display(sum)    c) ​um=0;  for ​ i=0:1000      x=500+i;      sum=sum+x^2;  end  display(sum)      d) You would need if statements if you used it from 500 to 1500 but this way, you can make two equations    sum=500; ​%first number in series is default put as the sum   for​ i=1:2:1000      x1 = 500+i;​ create the "odd" numbers      x2 = x1+1; ​%create the "even" numbers      sum=sum+x1^2+x2;  end  display(sum)    Or    sum=500;  sum2=501^2  for​ n=500:1500          n=n+2          m=m+2      sum=sum+n      sum2=sum2+m^2      y=sum2+sum  end  disp(y)      e)  %to accomodate doing something different for every other number   %we make two numbers to the sum in each loop   for​ i=1:4:9999      x1=i; ​%this values re 1,5,9,etc (those that are added)      x2=(i+2); ​%these are 3,7,11,etc (those that are subtracted)      sum=sum+x1^2+x2^2 ​%add or subtract from the running sum  end  display(sum)    Or    sum=0  sum2=0  for​ n=1:2:9997      sum=sum+n^2  end  for​ m=­3:­2:­9999      sum2=sum2+m^2  end  y=sum2+sum  disp(y)          Ex.      In this case, we cannot make a vector from ­10 to 10 because we cannot have a negative POSITION     Day 12  ­A while loop will only execute when the conditions are met   ­Golden rule for while loops: your variable has to change within the loop   ­First line is while(condition); last line is end   ­If you are stuck in a loop, do Ctrl + C        Write a code for how long it will take to pay back the loan    Answer:  amount_due=10000;  month=0;  while ​ amount_due>=0  amount_due=(amount_due*(1.005))­500      month=month+1;  end  disp(month)        OR            It will go through first with A=100, then new A will be 50, and m will be 0+1 = 1. Then it will go through with  A=50, and then m=1+1=2, and so on until A is right above 15.  These are not sum questions so if you are trying to add them all up, you need a new variable    Question:                                Question 2:          Answer for part 1b) Exercise            Part e)  m=1;  j=0;  A=0;  while A<50000      m=m+2;      A=A(j^2*(­1)^m;)  end                Day 13  Nested Loops  ­you can have ‘for’ and ‘while’ loops in one; this is a nested loop   ­the following code words/commands can only work with loops, not the ‘if’ statement (they will not affect the if  statement):  1) break: terminates the execution of a loop and passes control to the next statement after the end of the  loop; for example       ­When the ii=3 above, the loop ends    2) continue: terminates the current step of the loop and return the control to the top of the loop, for example:         Practice: ​W​rite a function that receives any two matrices as input arguments, it should then use loops to  do element wise addition on the matrices and create a third matrix. Have the function return the  resulting matrix as an output argument.   Answer:  function[ ] = Example1(A,B)  m=1;  %define A and B as matrices in the code, not shown   n=1;  for m=1:2  for n=1:2  C(m,n)=A(m,n)+B(m,n)  end  end  end    %the way this works is it by doing first, m=1 and n=1; then m=1 and n=2; then m=2 and n=1; and then  m=2 and n=2;       Day 14  Exercises:            Question:  Answer to #1:   n=input('​Input an integer n: ')​ ;  factorial=1; ​%keeps track of the factorials   counter=0; ​%keeps track of the counter  n=n­1; ​%keeps track of the product  while​ n >= 1 ​%this is so it cannot have negative numbers   factorial=factorial * n ​%does the factorial after multiplying by the new number times the previous numbers   end  disp(n) ​%displays the n number you're multiplying by   disp(factorial) ​%this give you the factorial after it has been multiplied    Answer to #2:  n=input('​Input an integer n: ')​ ;  factorial=1; ​%keeps track of the factorials   for​ n=1:n ​ this is so it cannot have negative numbers   factorial=factorial * n ​%does the factorial after multiplying by the new number times the previous numbers   n=n­1; ​%keeps track of the product  end  disp(factorial) ​%this give you the factorial after it has been multiplied    Answer to #3:  function  ​ untitled4(M)  [rows,cols]=size(M);  for​ i=1:rows %​ rows       ​for​ j=1:cols​ columns           ​ rem(M(i,j),2)==0             fprintf('​Element%i,%i=%i is even\n', ​ i,j,M(i,j));          ​else              fprintf('​Element%i,%i=%i is odd\n', ​ i,j,M(i,j));            ​end     ​ nd  end    Command Window Example:  >> untitled4([2,3,4;2,3,4;2,3,4])  Element1,1=2 is even  Element1,2=3 is odd  Element1,3=4 is even  Element2,1=2 is even  Element2,2=3 is odd  Element2,3=4 is even  Element3,1=2 is even  Element3,2=3 is odd  Element3,3=4 is even  >>     Day 15  Global vs Local Variables  Global Variables:Are available for any script or function  Local Variables:Are only available for the function that they are created in       Answer in script:  [row,col]=size(A); %define the size of the matrix before the for loop so that matlab can know what to  put for ‘row’ and ‘column’    for​ r=1:row      max=A(r,1)     ​ or​ c=1:col          ​if​ max <A(r,c)              max=A(r,c)              pos=c          ​end     ​ nd    fprintf(​'%i is the biggest number in the row'​,r)  end        Command Window:  >> untitled    max =         4      max =         7      pos =         2      max =         9      pos =         3      max =        15      pos =         4    1 is the biggest number in the row  max =           6      max =        10      pos =         2      max =        12      pos =         3    2 is the biggest number in the row  max =        15    3 is the biggest number in the row>>     Tonya’s answer:    file = input('Which file would you like to load','s');  load(file, '­mat')  [row, col]=size(A);     for r= 1:row      max=A(r,1);      pos= 1;      for c = 2:col;          if max < A(r,c)              max=A(r,c);              pos=c;            end      end      fprintf('For row %i column %i is the largest\n', r, pos);   end    a=input('Input a matrix: ')  [[row,col]=size(a)  for r=1:row      max=a(r,1);      pos=1;      for C=1:col;          if max<a(r,C);             max=a(r,C);             pos=C;          end      end      fprintf('For row %i Column %i is largest \n',r,pos)  end        Day 15  Question:      Answer: → C  1 3 5 7 9 is i values   y(1)=1    y(3)=4 because x=x+i and y(i)=x  y(5)=9 because x=4+5   y(7)=   y(9)                                Question:  Answer:  Since b is always one greater than a, x is always negative and you will be stuck in a loop→ E    Reading and Writing Excel  ­xls write does not work on macbook   ­we have excel files/text files/binary files to convert to matlab and back   ­see the PDF slides         Answer to #1  A=[4,3,4;2,3,4;2,3,4]  fileID=fopen(​'untitled1.txt', ​ ​'w+'​)  fprintf(fileID,​'%f %f %f\n'​,A')    Notes: you have to put it in this format:      Note: the %f %f %f/n at the end does three numbers with spaces, and then goes to a new line after 3  numbers and continues this with the next 3 numbers until the numbers run out. This worked because  the original vector had rows of 3 columns.      The w+ means that it does reading AND writing (the ‘+’ is the difference) → reading means that you  can extract data as well, writing means you write in it.  ­FileID has to be:      File ID has untitled has the filename because you can name it anything   You have to open the saved file (after running it) from the “current folder”  Name is .xls,.txt., or .bin          EXAM REVIEW:      function​[sum]=E2RP2(M)  r=1;  c=1;  sum=0;  [rows,cols]=size(M);  while​ r<=rows  ​%rows is the determined number of rows, r is the counter for the number of rows       ​while ​ c<=cols      if​ mod(r,2)==1 ​%when you give a variable a value, it has one equal sign. when giving a condition it has two equal signs      N(r,c)=M(r,c)^(1/3)  else      N(r,c)=M(r,c)^(1/2)  end  sum=sum+N(r,c) ​%N is the new matrix, adding up all the values here   c=c+1;     ​ nd  end  r=r+1; ​%increment the other counter   c=1; ​%reset the c values or it will only take the last column value (have to reset the value for the inner loop before you reset  your outer loop in nested loops.)   %i reaches the max number of rows and has to go to the next line for the  %rows again, so you must reset it because the inner loop will stop  %otherwise   end    Command Window:  K>> E2RP2([2,3,4;3,4,5;3,4,5])    N =        1.2599      sum =        1.2599      N =        1.2599    1.4422      sum =        2.7022      N =        1.2599    1.4422    1.5874      sum =          4.2896      Answer to #3)  sum=0;  n=1; ​%define n above the while loop. could also use 0   while​ n<=1000      sum=(isprime(n)*n+sum); ​%we multiply by n because this is another option. isprime(n) will be 1 or 0, and if  you have 1,       ​%you will multiply by n, the actual number, and add it on, instead of adding a 1 or a 0      n=n+1 %​ n has to change in the loop   end     OR    sum=0;  for​ n=1:1000      ​if​ isprime(n)==1          sum=n+sum % ​ sum adds values     ​ nd  end       Answer to #4)  function​ [ max,min ] = Practice( M )  [rows,cols]=size(M);  max=M(1,1); ​%setting the smallest and biggest number in our matrix as the max and min. Could do ­inf to +inf  as well    min=M(1,1);  for​ r=1:rows     ​ or​ c=1:cols          ​if​ max<M(r,c)              max=M(r,c)          ​end       ​if​ min>M(r,c)          min=M(r,c)  end   end      AFTER MIDTERM 2  3RD last week    3D plotting      Create matrices for X and Y like this:  ​[X,Y] = meshgrid(­10:.5:10);   The variables are then available to use in equations: R = sqrt(X.^2+Y.^2);  Z = sin(R)./R;     The “n” in the syntax for contour are for how many lines there are in a side view                   Command Window:  >> [X,Y] = meshgrid(­10:.5:10);   >> R = sqrt(X.^2+Y.^2);  >> Z = sin(R)./R;   >> surf(Z)      Curve Fitting  Calculate the line of best fit for the points: ​(5,9) (4,7) (3,5) (2,4) (1,2)     Data To Fit   • For this lecture we will use the following three data points: (1,2) (3,3) (5,4)    • We will examine 3 methods to find an equation for the data: • Algebra    • Poly​nomial Least Squared Regression • Newtonian Formulation             Look at PDF slide, too much to write here!    New Week  Newton Formulation is a way to do curve fitting with a set of points             %first make a matrix with zeroes and we can fill it in from there. there  %will always be a 1 coefficient because b1 has the first coefficient of 1,  %always   X = [175 892 755 11];  Y = [2 43 4 6];  a = length(X);  ​% Number of data points  A = zeros(a);  ​% Create the matrix  A(:,1) = 1;      ​% Fill first column  % Fill the rest of the matrix  for​ r = 2:a     ​ or​ c = 2:a          ​if​ c <= r          A(r,c) = A(r, c­1)*(X(r) ­ X(c­1));          ​end     ​ nd  end  b = A\Y';  Yfit = @(x) b(1) + b(2)*(x­X(1))+ b(3)*(x­X(1))*(x­X(2)) + b(4)*(x­X(1))*(x­X(2))*(x­X(3));       hold on   plot(X,Y, 'or')  fplot(Yfit, [min(X) max(X)])  hold off            To find the roots of a polynomial syntax:    To find the roots of nonlinear functions:    Find the minimum value        How to solve a system of equations:          July 27  Numerical Calculus  >> y=@(x)x.^2+4.*x+6;  >> x=linspace(0,2,25);  >> y2=y(x);    Symbolic Calculus  Example 1:  syms x ​ ​ ​ ​%define the variables   int(x/(1+z^2),x) ​%with respect to x    int(x/(1+z^2),z) ​%with respect to z. You can do diff instead of int, to find the derivative     >> untitled3     ans =     x^2/(2*(z^2 + 1))        ans =     x*atan(z)     >>     Example 2:  x1=diff(sin(x*t^2),x)  x2=diff(sin(x*t^2),x,2)  x3=diff(sin(x*t^2),x,3)     OR     t1=diff(sin(x*t^2),t)  t2=diff(sin(x*t^2),t,2)  x3=diff(sin(x*t^2),t,3)      Example 3:  syms v ​ ​ ​t​ ​theta  xt=v*t*cos(theta);  dxdt=diff(xt,t)  v=100;  theta=pi/4;  newdxdt = subs(dxdt)      >> untitled4     dxdt =     v*cos(theta)          newdxdt =     50*2^(1/2)      ­DONT IGNORE PUTTING THE OUTPUT ARGUMENT IN FUNCTION FILES BECAUSE THEN  YOU CANNOT CALL THE VARIABLE ELSEWHERE. IF YOU WANT TO NAME THE ANSWER AS  SOMETHING other than “ans=,” then put y=disp(output) and you will get the ans instead as named  with y        EXAM REVIEW ANSWERS  function​ [ output_args ] = circles( a,b,c,d,e )  cir=@(dia)pi*dia;  area=@(dia)pi*(dia./2).^2; ​%only need the dot operator before the carrot top because it is multiplying vector  times vector   for​ i=1:5      circ(i)=cir(dia_vec(i));      a_vec(i)=area(dia_vec(i));  end   out=[dia_vec;circ;a_vec];  fprintf(​'Diameter \t Circumference \t Area \n'​);  fprintf('​%7.2f\t %7.2f\t %7.2f\n'​,out) ​ 7 is the field width   end         


Buy Material

Are you sure you want to buy this material for

50 Karma

Buy Material

BOOM! Enjoy Your Free Notes!

We've added these Notes to your profile, click here to view them now.


You're already Subscribed!

Looks like you've already subscribed to StudySoup, you won't need to purchase another subscription to get this material. To access this material simply click 'View Full Document'

Why people love StudySoup

Bentley McCaw University of Florida

"I was shooting for a perfect 4.0 GPA this semester. Having StudySoup as a study aid was critical to helping me achieve my goal...and I nailed it!"

Anthony Lee UC Santa Barbara

"I bought an awesome study guide, which helped me get an A in my Math 34B class this quarter!"

Steve Martinelli UC Los Angeles

"There's no way I would have passed my Organic Chemistry class this semester without the notes and study guides I got from StudySoup."

Parker Thompson 500 Startups

"It's a great way for students to improve their educational experience and it seemed like a product that everybody wants, so all the people participating are winning."

Become an Elite Notetaker and start selling your notes online!

Refund Policy


All subscriptions to StudySoup are paid in full at the time of subscribing. To change your credit card information or to cancel your subscription, go to "Edit Settings". All credit card information will be available there. If you should decide to cancel your subscription, it will continue to be valid until the next payment period, as all payments for the current period were made in advance. For special circumstances, please email


StudySoup has more than 1 million course-specific study resources to help students study smarter. If you’re having trouble finding what you’re looking for, our customer support team can help you find what you need! Feel free to contact them here:

Recurring Subscriptions: If you have canceled your recurring subscription on the day of renewal and have not downloaded any documents, you may request a refund by submitting an email to

Satisfaction Guarantee: If you’re not satisfied with your subscription, you can contact us for further help. Contact must be made within 3 business days of your subscription purchase and your refund request will be subject for review.

Please Note: Refunds can never be provided more than 30 days after the initial purchase date regardless of your activity on the site.