This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| 
                    gibson:teaching:fall-2014:math445:lecture6-diary [2014/09/18 11:35] gibson  | 
                
                    gibson:teaching:fall-2014:math445:lecture6-diary [2014/09/18 12:21] (current) gibson [Graphical data analysis of log-linear relations]  | 
            ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Math 445 lecture 6: logical array operations and log-linear relations ====== | + | ====== Math 445 lecture 6 ====== | 
| + | |||
| + | ===== Finding twin primes using logical array operations ===== | ||
| <code matlab> | <code matlab> | ||
| Line 133: | Line 135: | ||
| % Thus ends our homage to Yitang 'Tom' Zhang. I encourage you to | % Thus ends our homage to Yitang 'Tom' Zhang. I encourage you to | ||
| % view Tom's video on the MacArthur Foundation website.  | % view Tom's video on the MacArthur Foundation website.  | ||
| + | </code> | ||
| + | ===== Summation of series examples ===== | ||
| + | <code matlab> | ||
| % ======================================================================= | % ======================================================================= | ||
| % Now a couple examples of summing series, as compactly as possible | % Now a couple examples of summing series, as compactly as possible | ||
| Line 182: | Line 187: | ||
| ans = | ans = | ||
| 2 | 2 | ||
| + | </code> | ||
| + | ===== Graphical data analysis of log-linear relations ===== | ||
| - | % ======================================================================= | + | ==== example 1: a linear relationship ==== | 
| - | % Ok. Let's move on the graphical data analysis | + | |
| + | <code matlab> | ||
| % Load datafile 'data1.asc' into matlab with 'load' command | % Load datafile 'data1.asc' into matlab with 'load' command | ||
| >> D = load('data1.asc');  | >> D = load('data1.asc');  | ||
| Line 223: | Line 230: | ||
| >> grid on | >> grid on | ||
| </code> | </code> | ||
| + | |||
| + | {{ :gibson:teaching:fall-2014:math445:linearplot0.png?direct&400 |}} | ||
| <code matlab> | <code matlab> | ||
| Line 236: | Line 245: | ||
| >> xlabel('x'); ylabel('y') | >> xlabel('x'); ylabel('y') | ||
| </code> | </code> | ||
| + | |||
| + | {{ :gibson:teaching:fall-2014:math445:linearplot1.png?direct&400 |}} | ||
| <code matlab> | <code matlab> | ||
| Line 246: | Line 257: | ||
| >> plot(xdata, ydata, 'mo-', x, -0.49 * x + 18.5, 'b-'); xlabel('x'); ylabel('y'); grid on; | >> plot(xdata, ydata, 'mo-', x, -0.49 * x + 18.5, 'b-'); xlabel('x'); ylabel('y'); grid on; | ||
| </code> | </code> | ||
| + | |||
| + | {{ :gibson:teaching:fall-2014:math445:linearplot2.png?direct&400 |}} | ||
| <code matlab> | <code matlab> | ||
| Line 253: | Line 266: | ||
| >> plot(xdata, ydata, 'mo-', x, -0.49 * x + 19, 'b-'); xlabel('x'); ylabel('y'); grid on; | >> plot(xdata, ydata, 'mo-', x, -0.49 * x + 19, 'b-'); xlabel('x'); ylabel('y'); grid on; | ||
| </code> | </code> | ||
| + | |||
| + | {{ :gibson:teaching:fall-2014:math445:linearplot3.png?direct&400 |}} | ||
| <code matlab> | <code matlab> | ||
| - | % Perfect! The functional relation between y and x is y = -0.49 x + 19 | + | % Perfect! So the functional relation between y and x is y = -0.49 x + 19 | 
| + | </code> | ||
| + | ==== example 2: a log-linear relationship ==== | ||
| + | |||
| + | <code matlab> | ||
| + | % Load the next data file and try to figure out its y = f(x) relation.  | ||
| + | >> D = load('data3.asc'); | ||
| + | >> xdata = D(:,1); | ||
| + | >> ydata = D(:,2); | ||
| + | >> plot(xdata, ydata,'mo-'); xlabel('x'); ylabel('y'); grid on | ||
| + | </code> | ||
| + | |||
| + | {{ :gibson:teaching:fall-2014:math445:logplot0.png?nolink&400 |}} | ||
| + | |||
| + | <code matlab> | ||
| + | % That looks exponential, so graph y logarithmically | ||
| + | >> semilogy(xdata, ydata, 'mo-'); xlabel('x'); ylabel('y'); grid on | ||
| + | </code> | ||
| + | |||
| + | {{ :gibson:teaching:fall-2014:math445:logplot1.png?nolink&400 |}} | ||
| + | |||
| + | <code matlab> | ||
| + | % Great! It's a straight line with y graphed logatithmically, so the relation is | ||
| + | % of the form | ||
| + | % log10 y = m x + b, or equivalently | ||
| + | % y = 10^(mx+b), or equivalently | ||
| + | % y = c 10^(mx) | ||
| + | % for some constants m and c. let's take rough guesses, judging from the plot. | ||
| + | % | ||
| + | % m is the slope in log10 y versus x. log10 y drops from 2 at x=10 to about 1 at x=20. | ||
| + | % So m looks to be about -1/10, (rise of -1 over run of 10). You can get the constant c | ||
| + | % by estimating the value of y at x=0. That looks to be about c=400. So let's give | ||
| + | % y = 400 10^(-0.1 x) a try. | ||
| + | |||
| + | >> x = linspace(-20, 50, 10); | ||
| + | >> semilogy(xdata, ydata,'mo-', x, 400*10.^(-0.1*x)); xlabel('x'); ylabel('y'); grid on | ||
| + | </code> | ||
| + | |||
| + | {{ :gibson:teaching:fall-2014:math445:logplot2.png?nolink&400 |}} | ||
| + | |||
| + | <code matlab> | ||
| + | % Not too shabby. But the slope is a little too negative and y is too low at x=0. | ||
| + | % A few iterations of adjusting the constants gives | ||
| + | |||
| + | >> semilogy(xdata, ydata,'mo-', x, 700*10.^(-0.085*x)); xlabel('x'); ylabel('y'); grid on | ||
| + | </code> | ||
| + | |||
| + | {{ :gibson:teaching:fall-2014:math445:logplot3.png?nolink&400 |}} | ||
| + | |||
| + | <code matlab> | ||
| + | % so the functional form is y = 700 * 10^(-0.085 x). | ||
| - | % Ok, let's move on the the next data file and try to figure out its y = f(x) relation. | + | % Don't ask me why Matlab keeps changing the grid lines on the logarithmic plots... | 
| - | D = load('data3.asc'); | + | |
| - | x= D(:,1); | + | |
| - | y=D(:,2); | + | |
| - | plot(x,y,'mo-') | + | |
| - | % looks exponential, so graph y logarithmically | + | |
| - | semilogy(x,y,'mo-') | + | |
| </code> | </code> | ||