User Tools

Site Tools


gibson:teaching:fall-2013:math445:lecture2

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

Link to this comparison view

gibson:teaching:fall-2013:math445:lecture2 [2013/09/04 18:47]
gibson created
gibson:teaching:fall-2013:math445:lecture2 [2013/09/04 18:47] (current)
gibson
Line 1: Line 1:
-<​code>​ +<​code>​%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +How to evaluate wind chill formula in Matlab
-Linear algebra+
  
-Assign matrix A +Approach 1: Set variables T and V, then evaluate formula 
--2] +45 
-+T = 
-     ​    3 +    45 
-     5    -2 +V = 10 
-Assign vector b +V = 
-[; 32] +    10 
-=+WCF = 35.7 + 0.6*T - 35.7*V^0.16 + 0.43*T*V^0.16 
 +WCF = 
 +   ​39.0671 
 + 
 +% Approach 2: evaluate formula with embedded values of T,V 
 +WCF = 35.7 + 0.6*45- 35.7*10^0.16 + 0.43*45*10^0.16 
 +WCF = 
 +   ​39.0671 
 + 
 +% Approach ​is better because you can easily modify T,V, e.g.  
 +T=45V=0; WCF = 35.7 + 0.6*T 35.7*V^0.16 + 0.43*T*V^0.16 
 +WCF 
 +   62.7000 
 + 
 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
 +% Random numbers 
 + 
 +% The rand function produces a random real number between 0 and 
 +rand  
 +ans = 
 +    0.9649 
 + 
 +So 20*rand produces a random real number between 0 and 20 
 +20*rand 
 +ans = 
 +    ​3.1523 
 + 
 +20*rand 
 +ans = 
 +   ​19.4119 
 + 
 +% and 20 + 30*rand produces and random real between 20 and 50 
 +20+30*rand 
 +ans = 
 +   ​42.7322 
 + 
 +20+30*rand 
 +ans = 
 +   ​31.7668 
 + 
 +20+30*rand 
 +ans = 
 +   ​20.9550 
 + 
 +% randi(N) produces a random integer between 1 and N 
 +randi(4) 
 +ans =
      3      3
-    ​32+randi(4)  
 +ans = 
 +     ​1
  
-Solve Ax=b for x +so 100 + randi(10)  
-A\b;  +100 + randi(11) % gives rnadom numbers btwn 101 and 110 
-A\b +ans 
-+   107 
-    ​6.0000 +100 + randi(11) % gives rnadom numbers btwn 101 and 111 
-   ​-1.0000+ans 
 +   106 
 + 
 +% round(10*rand) will produce random integers between 0 and 10, 
 +% but it's not as efficient as using the randi() function 
 +round(10*rand) 
 +ans 
 +     8 
 +round(10*rand) 
 +ans 
 +     4 
 + 
 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
 +% Boolean expressions,​ also known as logical expressions 
 + 
 +% double equals signs means evaluate whether both sides are equal 
 +% return true or false accordingly 
 + 
 +3 == 2 + 1 % remember 1 == true ; 0 == false 
 +ans = 
 +     1 
 + 
 +3 == 2 - 1 % remember 1 == true ; 0 == false 
 +ans = 
 +     0 
 + 
 +% here (3 == 2) evaluates to 0, which is then added to 1 
 +(3 == 2) + 1 
 +ans = 
 +     1 
 + 
 +% variables b and c are undefined 
 +b > c + 1 
 +Undefined function or variable '​b'​. 
 + 
 +% but '​b'​ is the character b 
 +'​b'​ 
 +ans = 
 +
 + 
 +'​c'​ 
 +ans = 
 +
 + 
 +class('​b'​) 
 +ans = 
 +char 
 + 
 +% cast char '​b'​ to an integer 
 +uint32 
 +uint32('​b'​) 
 +ans = 
 +      98 
 + 
 +% cast char '​c'​ to an integer 
 +uint32('​c'​) 
 +ans = 
 +      99
  
-Verify that Ax equals ​+to evaluate this expression, Matlab casts 'b' and '​c'​ to their  
-A*x+% integer values and then evaluates the integer equation 
 +'​b'​ >= '​c'​ + 1
 ans = ans =
-    3.0000 +     0
-   32.0000+
  
-A*x-b+'b' >= '​c'​ - 1
 ans = ans =
-  -8.8818e-16 +     1
-   ​0.0000e+00+
  
-% pretty darn close 
 </​code>​ </​code>​
gibson/teaching/fall-2013/math445/lecture2.1378345633.txt.gz · Last modified: 2013/09/04 18:47 by gibson