From f2fb36f646b6e7c0c191922b08fc155a842b7d1e Mon Sep 17 00:00:00 2001 From: JAMES RYAN Date: Mon, 24 Mar 2025 00:43:09 -0400 Subject: [PATCH] uploaded all materials --- README.md | 3 + hw1/Ryan_hw1_012424.m | 138 + hw1/feedback/Ryan_hw1_012424.m | 150 + hw2/Ryan_hw2_013124.m | 105 + hw2/feedback/Ryan_hw2_013124.m | 117 + hw2/notes/lesson02.zip | Bin 0 -> 35024 bytes hw2/notes/numerical_calculus.m | 75 + hw2/notes/octave-log.txt | 1378 +++++++ hw2/notes/vectorized_operations.m | 124 + hw3/Ryan_HW3_021424.m | 181 + hw3/feedback/Ryan_HW3_021424.m | 195 + hw3/pointer.jpg | Bin 0 -> 126259 bytes hw4/Ryan_HW4_022124.m | 221 + hw4/antideriv.m | 3 + hw4/deriv.m | 4 + hw4/extrema.m | 5 + hw4/feedback/Ryan_HW4_022124_feedback.m | 231 ++ hw4/feedback/antideriv.m | 3 + hw4/feedback/deriv.m | 4 + hw4/feedback/extrema.m | 5 + hw4/feedback/inflections.m | 5 + hw4/feedback/switchsign.m | 17 + hw4/inflections.m | 5 + hw4/switchsign.m | 12 + hw5/Ryan_HW5_ECE210.m | 121 + hw5/feedback/JamesRyan_HW5_ECE210_feedback.m | 150 + hw6/Ryan_HW6_ECE210.m | 136 + hw6/butterworth.m | 27 + hw6/chebyshev1.m | 12 + hw6/chebyshev2.m | 12 + hw6/elliptic.m | 27 + hw6/feedback/Ryan_HW6_ECE210.m | 138 + hw6/feedback/butterworth.m | 27 + hw6/feedback/chebyshev1.m | 12 + hw6/feedback/chebyshev2.m | 12 + hw6/feedback/elliptic.m | 27 + hw6/feedback/fortune_favors_the_fontaine.m | 12 + hw6/feedback/letters2numbers.m | 4 + hw6/fortune_favors_the_fontaine.m | 11 + hw6/letters2numbers.m | 4 + lessons/lesson01/matlab_intro.m | 180 + lessons/lesson02/numerical_calculus.m | 75 + lessons/lesson02/octave-log.txt | 1378 +++++++ lessons/lesson02/vectorized_operations.m | 124 + lessons/lesson03/matlab_logo.m | 57 + lessons/lesson03/octave-log.txt | 711 ++++ lessons/lesson03/plotting.m | 152 + lessons/lesson04/BasicClass.m | 24 + lessons/lesson04/controlflow.m | 57 + lessons/lesson04/datatypes.m | 162 + lessons/lesson04/distance.m | 19 + lessons/lesson04/for_loops.m | 34 + lessons/lesson04/funnnnnn.m | 177 + lessons/lesson04/octave-log.txt | 572 +++ lessons/lesson05/indexing.m | 127 + lessons/lesson05/meshgrid_broadcasting.m | 44 + lessons/lesson05/octave-log.txt | 3902 ++++++++++++++++++ lessons/lesson06/analog_freqs.m | 37 + lessons/lesson06/bw-cat.jpg | Bin 0 -> 298696 bytes lessons/lesson06/fft_1d.m | 84 + lessons/lesson06/fft_2d.m | 74 + lessons/lesson06/handel.mat | Bin 0 -> 139728 bytes lessons/lesson06/jacob-boot.jpg | Bin 0 -> 241430 bytes lessons/lesson06/octave-log.txt | 1791 ++++++++ lessons/lesson06/polynomials.m | 66 + lessons/lesson06/splane.m | 16 + lessons/lesson06/ztlesson.pdf | Bin 0 -> 130848 bytes lessons/lesson06/ztransform.m | 237 ++ lessons/lesson06/ztransform.pdf | Bin 0 -> 136788 bytes lessons/lesson07/bandstop2500.m | 35 + lessons/lesson07/filter_design.m | 131 + lessons/lesson07/old_filter_design.m | 103 + lessons/lesson07/transfer.m | 93 + lessons/lesson08/octave-log.txt | 810 ++++ lessons/lesson08/octave-workspace | Bin 0 -> 10988 bytes lessons/lesson08/symbolic_toolbox.m | 183 + lessons/lesson09/stoch.m | 182 + lessons/lesson10/chaos.m | 256 ++ 78 files changed, 15606 insertions(+) create mode 100644 README.md create mode 100644 hw1/Ryan_hw1_012424.m create mode 100644 hw1/feedback/Ryan_hw1_012424.m create mode 100644 hw2/Ryan_hw2_013124.m create mode 100644 hw2/feedback/Ryan_hw2_013124.m create mode 100644 hw2/notes/lesson02.zip create mode 100644 hw2/notes/numerical_calculus.m create mode 100644 hw2/notes/octave-log.txt create mode 100644 hw2/notes/vectorized_operations.m create mode 100644 hw3/Ryan_HW3_021424.m create mode 100644 hw3/feedback/Ryan_HW3_021424.m create mode 100644 hw3/pointer.jpg create mode 100644 hw4/Ryan_HW4_022124.m create mode 100644 hw4/antideriv.m create mode 100644 hw4/deriv.m create mode 100644 hw4/extrema.m create mode 100644 hw4/feedback/Ryan_HW4_022124_feedback.m create mode 100644 hw4/feedback/antideriv.m create mode 100644 hw4/feedback/deriv.m create mode 100644 hw4/feedback/extrema.m create mode 100644 hw4/feedback/inflections.m create mode 100644 hw4/feedback/switchsign.m create mode 100644 hw4/inflections.m create mode 100644 hw4/switchsign.m create mode 100644 hw5/Ryan_HW5_ECE210.m create mode 100644 hw5/feedback/JamesRyan_HW5_ECE210_feedback.m create mode 100644 hw6/Ryan_HW6_ECE210.m create mode 100644 hw6/butterworth.m create mode 100644 hw6/chebyshev1.m create mode 100644 hw6/chebyshev2.m create mode 100644 hw6/elliptic.m create mode 100644 hw6/feedback/Ryan_HW6_ECE210.m create mode 100644 hw6/feedback/butterworth.m create mode 100644 hw6/feedback/chebyshev1.m create mode 100644 hw6/feedback/chebyshev2.m create mode 100644 hw6/feedback/elliptic.m create mode 100644 hw6/feedback/fortune_favors_the_fontaine.m create mode 100644 hw6/feedback/letters2numbers.m create mode 100644 hw6/fortune_favors_the_fontaine.m create mode 100644 hw6/letters2numbers.m create mode 100644 lessons/lesson01/matlab_intro.m create mode 100644 lessons/lesson02/numerical_calculus.m create mode 100644 lessons/lesson02/octave-log.txt create mode 100644 lessons/lesson02/vectorized_operations.m create mode 100644 lessons/lesson03/matlab_logo.m create mode 100644 lessons/lesson03/octave-log.txt create mode 100644 lessons/lesson03/plotting.m create mode 100644 lessons/lesson04/BasicClass.m create mode 100644 lessons/lesson04/controlflow.m create mode 100644 lessons/lesson04/datatypes.m create mode 100644 lessons/lesson04/distance.m create mode 100644 lessons/lesson04/for_loops.m create mode 100644 lessons/lesson04/funnnnnn.m create mode 100644 lessons/lesson04/octave-log.txt create mode 100644 lessons/lesson05/indexing.m create mode 100644 lessons/lesson05/meshgrid_broadcasting.m create mode 100644 lessons/lesson05/octave-log.txt create mode 100644 lessons/lesson06/analog_freqs.m create mode 100644 lessons/lesson06/bw-cat.jpg create mode 100644 lessons/lesson06/fft_1d.m create mode 100644 lessons/lesson06/fft_2d.m create mode 100644 lessons/lesson06/handel.mat create mode 100644 lessons/lesson06/jacob-boot.jpg create mode 100644 lessons/lesson06/octave-log.txt create mode 100644 lessons/lesson06/polynomials.m create mode 100644 lessons/lesson06/splane.m create mode 100644 lessons/lesson06/ztlesson.pdf create mode 100644 lessons/lesson06/ztransform.m create mode 100644 lessons/lesson06/ztransform.pdf create mode 100644 lessons/lesson07/bandstop2500.m create mode 100644 lessons/lesson07/filter_design.m create mode 100644 lessons/lesson07/old_filter_design.m create mode 100644 lessons/lesson07/transfer.m create mode 100644 lessons/lesson08/octave-log.txt create mode 100644 lessons/lesson08/octave-workspace create mode 100644 lessons/lesson08/symbolic_toolbox.m create mode 100644 lessons/lesson09/stoch.m create mode 100644 lessons/lesson10/chaos.m diff --git a/README.md b/README.md new file mode 100644 index 0000000..4b6e64c --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +notes from matlab seminar + +thanks to cat van west for all the knowledge :D diff --git a/hw1/Ryan_hw1_012424.m b/hw1/Ryan_hw1_012424.m new file mode 100644 index 0000000..508c0b4 --- /dev/null +++ b/hw1/Ryan_hw1_012424.m @@ -0,0 +1,138 @@ +%%%% ECE210-B Matlab Seminar, Homework 1. +% james ryan, 1/24/24 + +% preamble +close all; +clear; +clc; + +%% Scale-'ers +% (1) +% Takes the absolute value of +% sin(pi/3) +% PLUS +% j divided by secant of (-5/3)*pi +a = abs(sin(pi ./ 3) ... + + ((1 * j) ./ (sec((-5 * pi) / 3))) ... + ); + +% (2) +% n = 3, cubic root +l = nthroot(8, 3); + +% (3) +% [1, 2, 3, ..., 79, 80] +u_mat = 1:80; + +% Sums all the terms from u_mat, scales by 2 / 6!, and takes the square root +u = sqrt((2 / factorial(6)) * sum(u_mat)); + +% q4 +% takes the square +% of imaginary value +% of the floor +% of the log +% of the square root of 66 +% taken to the power of 7j +m = (imag(floor(log(sqrt(66).^(7 * j))))).^2; + +%% Mother...? +% (1) +% Makes a 1x4 matrix from a l u & m, +% and transposes the formed matrix into a 4x1 matrix +A = [a; l; u; m]; + +% (2) +% makes a 2x2 matrix using a l u & m. +F = [a l; u m]; + +% (3) +% takes the non-conjugate transpose of F +T = F.'; + +% (4) +% takes the inverse of the matrix product of T * F +B = inv(T * F); +check = B * (T * F) + +% (5) +% Makes a square matrix comprised of T and F +C = [T F; F T]; + +%% Cruelty +meanB = mean(B, "all"); % sums "all" values in matrix B into one scalar + % squashes every row down into the sum of all elements + % in a given row + +meanC = mean(C, 2); % ... or takes the mean of every value along a + % dimension (the 2nd dimension), and squashes + % the matrix down into one dimension. + +%% Odd Types +% eval one +evalOne = T + F; +%{ + comments: + evalOne = + + 2 5 + 5 8 + + This makes sense, considering T was [1 3; 2 4] and F was [1 2; 3 4] + It seems like, at the same index on both matrices, the value occupying + that spot was taken from both and summed. + +%} + +% eval 2 +evalTwo = T + 1; +%{ + comments: + evalTwo = + + 2 4 + 3 5 + + This makes sense, since it seems like 1 was interpreted as a 2x2 matrix + occupied only by 1's. The same summing algorithm was applied, and every + value occupying T was incremented by 1. + + This could be confusing if we were multiplying instead of dividing, + since it would make more intuitive sense to be referring to the + identity matrix as 1, rather than a matrix filled wuth 1's. + +%} + +% eval kicks +evalKicks = A + C; +%{ + comments: + evalKicks = + + 2 5 4 6 + 3 6 6 8 + 2 4 4 7 + 4 6 5 8 + + A and C are not the same dimensions. A is 1x4 while C is 4x4. + It seems that C was sliced by rows in order to let this + operation make sense. + so for every Row in C, the value corresponding + to the matching column in A was added to that value in C. + Put nicely: Every row in C (a 1x4 matrix) was summed with A, + and then returned to the row index it previously occupied in C proper. + +%} + + +%% Not What it Seems... +for k = [3 5 10 300 1e6] + % sets up a 1xk matrix of `k` evenly spaced vals that are [0, 1] + genericMatrix = linspace(0, 1, k); + + % squares every val in the matrix, sums all squared vals together, and divs + % every element by k. + % Essentially -- average value of x^2 from 0 to 1 + % Also known as power, according to fred + genericScalar = sum(genericMatrix.^2) ./ k; +end diff --git a/hw1/feedback/Ryan_hw1_012424.m b/hw1/feedback/Ryan_hw1_012424.m new file mode 100644 index 0000000..d5eaf44 --- /dev/null +++ b/hw1/feedback/Ryan_hw1_012424.m @@ -0,0 +1,150 @@ +%%%% ECE210-B Matlab Seminar, Homework 1. +% james ryan, 1/24/24 + + % <-.0> style point: please ensure files are named so that + % MATLAB (sorry, i'd rather grade in Octave, but this is not + % Octave seminar...) can run them! this one had a space in it. + +% preamble +close all; +clear; +clc; + +%% Scale-'ers +% (1) +% Takes the absolute value of +% sin(pi/3) +% PLUS +% j divided by secant of (-5/3)*pi +a = abs(sin(pi ./ 3) ... + + ((1 * j) ./ (sec((-5 * pi) / 3))) ... + ); + % MATLAB interptes complex literals, so you could also write + % `1j`. + +% (2) +% n = 3, cubic root +l = nthroot(8, 3); + % could also do `8^(1/3)`, if you're mathematically inclined. + +% (3) +% [1, 2, 3, ..., 79, 80] +u_mat = 1:80; + +% Sums all the terms from u_mat, scales by 2 / 6!, and takes the square root +u = sqrt((2 / factorial(6)) * sum(u_mat)); + +% q4 +% takes the square +% of imaginary value +% of the floor +% of the log +% of the square root of 66 +% taken to the power of 7j +m = (imag(floor(log(sqrt(66).^(7 * j))))).^2; + % since these are scalars, the `.^` is not strictly necessary, + % but i see you have a vector bent... + +%% Mother...? +% (1) +% Makes a 1x4 matrix from a l u & m, +% and transposes the formed matrix into a 4x1 matrix +A = [a; l; u; m]; + +% (2) +% makes a 2x2 matrix using a l u & m. +F = [a l; u m]; + +% (3) +% takes the non-conjugate transpose of F +T = F.'; + +% (4) +% takes the inverse of the matrix product of T * F +B = inv(T * F); +check = B * (T * F) + % aaaaaaa no semicolon + +% (5) +% Makes a square matrix comprised of T and F +C = [T F; F T]; + +%% Cruelty +meanB = mean(B, "all"); % sums "all" values in matrix B into one scalar + % squashes every row down into the sum of all elements + % in a given row + +meanC = mean(C, 2); % ... or takes the mean of every value along a + % dimension (the 2nd dimension), and squashes + % the matrix down into one dimension. + +%% Odd Types +% eval one +evalOne = T + F; +%{ + comments: + evalOne = + + 2 5 + 5 8 + + This makes sense, considering T was [1 3; 2 4] and F was [1 2; 3 4] + It seems like, at the same index on both matrices, the value occupying + that spot was taken from both and summed. + +%} + +% eval 2 +evalTwo = T + 1; +%{ + comments: + evalTwo = + + 2 4 + 3 5 + + This makes sense, since it seems like 1 was interpreted as a 2x2 matrix + occupied only by 1's. The same summing algorithm was applied, and every + value occupying T was incremented by 1. + + This could be confusing if we were multiplying instead of dividing, + since it would make more intuitive sense to be referring to the + identity matrix as 1, rather than a matrix filled wuth 1's. + +%} + +% eval kicks +evalKicks = A + C; +%{ + comments: + evalKicks = + + 2 5 4 6 + 3 6 6 8 + 2 4 4 7 + 4 6 5 8 + + A and C are not the same dimensions. A is 1x4 while C is 4x4. + It seems that C was sliced by rows in order to let this + operation make sense. + so for every Row in C, the value corresponding + to the matching column in A was added to that value in C. + Put nicely: Every row in C (a 1x4 matrix) was summed with A, + and then returned to the row index it previously occupied in C proper. + +%} + % <+.06> love the extensive commentary. + + +%% Not What it Seems... +for k = [3 5 10 300 1e6] + % sets up a 1xk matrix of `k` evenly spaced vals that are [0, 1] + genericMatrix = linspace(0, 1, k); + + % squares every val in the matrix, sums all squared vals together, and divs + % every element by k. + % Essentially -- average value of x^2 from 0 to 1 + % Also known as power, according to fred + genericScalar = sum(genericMatrix.^2) ./ k; +end + % right, and what *is* that average, in terms of math objects? diff --git a/hw2/Ryan_hw2_013124.m b/hw2/Ryan_hw2_013124.m new file mode 100644 index 0000000..5900d88 --- /dev/null +++ b/hw2/Ryan_hw2_013124.m @@ -0,0 +1,105 @@ +%%%% ECE210-B Matlab Seminar, Homework 2. +% james kit paul thomas ryan murphy, 1/31/24 +% this is james' full name. -A. + +% this should run in octave (7.3.0)! +close all; clear; clc; + +%% Spatial Awareness +% (1) +A = reshape(0:63, 8, 8).'; +B = 2 .^ A; + +% (2) +B_colvec = reshape(B, [], 1); + +% primes(64) = [2, 3, 5... 61] +% since we're asking for the prime indices from index 1 to index 64, +% getting all prime numbers within [0, 64] seems fitting +B_primeinds = B_colvec(primes(length(B_colvec))); + +% (3) +B_primeinds_geometric_mean = prod(B_primeinds) .^ (1 / length(B_primeinds)); + +% (4) +% (1, :) -- Grab ALL of row 1 (aka the top row) in the matrix. +% fliplr -- flip left to right +A(1, :) = fliplr(A(1, :)); % :) + +% (5) +% Keep all rows, keep all cols minus the end col +A_lastcol_del = A(1:8, 1:end-1); + + +%% Smallest Addition +% (1) +N = 100; +t = linspace(0, 6.66, N); + +erf_integrand = exp(-t .^ 2); + +figure; +title("Plot of e^{-t^2}, (100pts, [0, 6.66])"); +xlabel("time"); +ylabel("e^{-t^2}"); +plot(t, erf_integrand); + +% (2) +% derivative approximation, +% form some dt being the distance between points on our time axis +% form the derivative by dividing the formed erf_integrand over dt +dt = t(2) - t(1); +dfdt = diff(erf_integrand) ./ dt; + +% padding op +dfdt = dfdt([1 1:end]); + +% mean squared error between approximate taken and real erf deriv +dfdt_anal = -2 .* t .* exp( -t .^ 2); +msqerr_dfdt = (1 / N) .* mean((dfdt - dfdt_anal) .^ 2); + +figure; hold on; +title('d/dt[e^{-t^2}] -- analytic vs approximate (100pts, [0, 6.66])'); +xlabel('time'); +ylabel('d/dt[-exp(t^2)]'); + +plot(t, dfdt, 'g-'); +plot(t, dfdt_anal, 'r-'); + +% (3) + +% integral approx +% take the area under the curve between t(n) and t(n-1) +% sum the area and scale by 2/sqrt(pi) + +figure; hold on; +title('erf -- analytic vs approximate (100pts, [0, 6.66])'); +xlabel('time'); +ylabel('erf(t)'); + +% baseline +erf_anal = (sqrt(pi) ./ 2) .* erf(t); + +% cum sum +erf_approx_cumsum = cumsum(erf_integrand) .* dt; +msqerr_erf_cumsum = (1 / N) .* mean((erf_approx_cumsum - erf_anal) .^ 2); + +% cum trapz +erf_approx_cumtrapz = cumtrapz(erf_integrand) .* dt; +msqerr_erf_cumtrapz = (1 / N) .* mean((erf_approx_cumtrapz - erf_anal) .^ 2); + +%{ + The mean-square error of the cumsum op is 5 orders of magnitude larger + than the result from the cumtrapz op. + Qualitatively, the cumsum approximation (blue line) is noticably further + away than the cumtrapz approximation (red line). the cumsum also has + a non-negligible y intercept, which is much further than the cumtrapz + assumption. However, the cumtrapz is basically on top of the analytic + function (green line), which is especially novel considering both ops + used the same data set. +%} + +% check +plot(t, erf_approx_cumsum, "b-"); +plot(t, erf_approx_cumtrapz, "r-"); +plot(t, erf_anal, "g-"); diff --git a/hw2/feedback/Ryan_hw2_013124.m b/hw2/feedback/Ryan_hw2_013124.m new file mode 100644 index 0000000..2693c60 --- /dev/null +++ b/hw2/feedback/Ryan_hw2_013124.m @@ -0,0 +1,117 @@ +%%%% ECE210-B Matlab Seminar, Homework 2. +% james kit paul thomas ryan murphy, 1/31/24 +% this is james' full name. -A. + % <+.01> i needed this. + +% this should run in octave (7.3.0)! + % <3, turns out it also runs in MATLAB. love the comment, + % though. +close all; clear; clc; + +%% Spatial Awareness +% (1) +A = reshape(0:63, 8, 8).'; +B = 2 .^ A; + +% (2) +B_colvec = reshape(B, [], 1); + +% primes(64) = [2, 3, 5... 61] +% since we're asking for the prime indices from index 1 to index 64, +% getting all prime numbers within [0, 64] seems fitting +B_primeinds = B_colvec(primes(length(B_colvec))); + % very clean, like it. + +% (3) +B_primeinds_geometric_mean = prod(B_primeinds) .^ (1 / length(B_primeinds)); + +% (4) +% (1, :) -- Grab ALL of row 1 (aka the top row) in the matrix. +% fliplr -- flip left to right +A(1, :) = fliplr(A(1, :)); % :) + +% (5) +% Keep all rows, keep all cols minus the end col +A_lastcol_del = A(1:8, 1:end-1); + % that's one way! another is to assign to A (or a copy) with an + % empty matrix: + % A(:, end) = []; + + +%% Smallest Addition +% (1) +N = 100; +t = linspace(0, 6.66, N); + +erf_integrand = exp(-t .^ 2); + +figure; +title("Plot of e^{-t^2}, (100pts, [0, 6.66])"); +xlabel("time"); +ylabel("e^{-t^2}"); +plot(t, erf_integrand); + +% (2) +% derivative approximation, +% form some dt being the distance between points on our time axis +% form the derivative by dividing the formed erf_integrand over dt +dt = t(2) - t(1); +dfdt = diff(erf_integrand) ./ dt; + +% padding op +dfdt = dfdt([1 1:end]); + +% mean squared error between approximate taken and real erf deriv +dfdt_anal = -2 .* t .* exp( -t .^ 2); +msqerr_dfdt = (1 / N) .* mean((dfdt - dfdt_anal) .^ 2); + % <-.03> (repeated) this will underreport -- `mean()` already + % does a divide by the length of the array, so another divide + % by N is not necessary. + +figure; hold on; +title('d/dt[e^{-t^2}] -- analytic vs approximate (100pts, [0, 6.66])'); +xlabel('time'); +ylabel('d/dt[-exp(t^2)]'); + +plot(t, dfdt, 'g-'); +plot(t, dfdt_anal, 'r-'); + +% (3) + +% integral approx +% take the area under the curve between t(n) and t(n-1) +% sum the area and scale by 2/sqrt(pi) + +figure; hold on; +title('erf -- analytic vs approximate (100pts, [0, 6.66])'); +xlabel('time'); +ylabel('erf(t)'); + +% baseline +erf_anal = (sqrt(pi) ./ 2) .* erf(t); + +% cum sum +erf_approx_cumsum = cumsum(erf_integrand) .* dt; +msqerr_erf_cumsum = (1 / N) .* mean((erf_approx_cumsum - erf_anal) .^ 2); + +% cum trapz +erf_approx_cumtrapz = cumtrapz(erf_integrand) .* dt; +msqerr_erf_cumtrapz = (1 / N) .* mean((erf_approx_cumtrapz - erf_anal) .^ 2); + +%{ + The mean-square error of the cumsum op is 5 orders of magnitude larger + than the result from the cumtrapz op. + Qualitatively, the cumsum approximation (blue line) is noticably further + away than the cumtrapz approximation (red line). the cumsum also has + a non-negligible y intercept, which is much further than the cumtrapz + assumption. However, the cumtrapz is basically on top of the analytic + function (green line), which is especially novel considering both ops + used the same data set. +%} + % <+.02> love the explanatory comment. `cumtrapz` is + % surprisingly good at what it does! + +% check +plot(t, erf_approx_cumsum, "b-"); +plot(t, erf_approx_cumtrapz, "r-"); +plot(t, erf_anal, "g-"); diff --git a/hw2/notes/lesson02.zip b/hw2/notes/lesson02.zip new file mode 100644 index 0000000000000000000000000000000000000000..6439b78b2475d8c884b7fb68033ad77385a84e02 GIT binary patch literal 35024 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 Bj+X!c literal 0 HcmV?d00001 diff --git a/hw2/notes/numerical_calculus.m b/hw2/notes/numerical_calculus.m new file mode 100644 index 0000000..afd9dc4 --- /dev/null +++ b/hw2/notes/numerical_calculus.m @@ -0,0 +1,75 @@ +%% Lesson 2c: Numerical estimation of integrals and derivatives +% Numerical integration and differentiation are a staple of numerical +% computing. We will now see how easy these are in MATLAB! +clc; clear; close all; + +%% The diff and cumsum functions +% Note the lengths of z, zdiff, and zcumsum! (Fencepost problem) +z = [0 5 -2 3 4]; +zdiff = diff(z); +zcumsum = cumsum(z); + +%% Setup: A simple function +% Let's start with a simple example: y = x.^2. The domain is N points +% linearly sampled from lo to hi. +lo = -2; +hi = 2; +N = 1e2; + +x = linspace(lo, hi, N); +y = x.^2; +plot(x, y); +title('x^2'); + +%% Numerical (Approximate) Derivatives +% We can calculate a difference quotient between each pair of (x,y) points +% using the diff() function. +dydx = diff(y)./diff(x); % difference quotient + +figure(); +plot(x(1:end-1), dydx); + +%% Numerical (Approximate) Integrals +% Now suppose we want to approximate the cumulative integral (Riemann sum) +% of a function. +xdiff = diff(x); +dx = xdiff(1); % spacing between points +dx = (hi-lo) / (N-1); % alternative to the above (note: N-1) + +Y = cumsum(y) * dx; % Riemann sum + +figure(); +plot(x, Y); + +%% Error metrics: Check how close we are! +% dydx should be derivative of x.^2 = 2*x +dydx_actual = 2 * x; + +% Y should be \int_{-2}^{x}{t.^2 dt} +Y_actual = (x .^3 - (-2)^3) / 3; + +% Slightly more accurate -- can you figure out why? +% Y_actual = (x .^3 - (-2-dx)^3) / 3; + +% Error metric: MSE (mean square error) or RMSE (root mean square error) +% Try changing N and see how the error changes. Try this with both the +% integral and derivative. + +% estimated = dydx; +% actual = dydx_actual(1:end-1); +estimated = Y; +actual = Y_actual; +mse = mean((estimated - actual) .^ 2); +rmse = rms(estimated - actual); + +%% Fundamental Theorem of Calculus +% Now, use the approximate derivative to get the original function, y back +% as yhat and plot it. You may need to use/create another variable for +% the x axis when plotting. +figure(); +yhat = diff(Y)./diff(x); % differentiate Y +plot(x(1:end-1), yhat); + +figure(); +yhat2 = cumsum(dydx) * dx; % integrate dydx +plot(x(1:end-1), yhat2); \ No newline at end of file diff --git a/hw2/notes/octave-log.txt b/hw2/notes/octave-log.txt new file mode 100644 index 0000000..0cb7af8 --- /dev/null +++ b/hw2/notes/octave-log.txt @@ -0,0 +1,1378 @@ +[cat@lazarus:~/classes/ece210-materials/2024-van-west/lessons/lesson02] +$ octave +GNU Octave, version 7.3.0 +octave:2> x = 0:0.01:2*pi; % Create a linearly-spaced vector +y = sin(x); % sin() works element-wise on vectors! +y = abs(x); % same with abs()! +y = x .^ 4; % element-wise power +y = power(x, 4); % same as above + +plot(x, y); % Plot y vs. x (line graph) +title('y vs. x'); +octave:9> close all +octave:10> +octave:10> +octave:10> +octave:10> +octave:10> +y = sin(x); % sin() works element-wise on vectors! +y = abs(x); % same with abs()! +y = x .^ 4; % element-wise power +y = power(x, 4); % same as above + +plot(x, y); % Plot y vs. x (line graph) +title('y vs. x');^[[201~octave:10> +octave:10> +octave:10> +octave:10> +octave:10> x = 0:0.01:2*pi; % Create a linearly-spaced vector +y = sin(x); % sin() works element-wise on vectors! +y = abs(x); % same with abs()! +y = x .^ 4; % element-wise power +y = power(x, 4); % same as above + +plot(x, y); % Plot y vs. x (line graph) +title('y vs. x'); +octave:17> close all +octave:18> +y = x .^ 4; % element-wise power +y = power(x, 4); % same as above + +plot(x, y); % Plot y vs. x (line graph) +title('y vs. x');^[[201~octave:18> +octave:18> +octave:18> +octave:18> x = 0:0.01:2*pi; % Create a linearly-spaced vector +y = sin(x); % sin() works element-wise on vectors! +y = abs(x); % same with abs()! +y = x .^ 4; % element-wise power +y = power(x, 4); % same as above + +plot(x, y); % Plot y vs. x (line graph) +title('y vs. x'); +octave:25> close all +octave:26> +octave:26> +octave:26> +octave:26> +octave:26> +octave:26> +octave:26> +octave:26> +octave:26> x = 0:0.01:2*pi; % Create a linearly-spaced vector +y = sin(x); % sin() works element-wise on vectors! +y = abs(x); % same with abs()! +y = x .^ 4; % element-wise power +y = power(x, 4); % same as above + +plot(x, y); % Plot y vs. x (line graph) +title('y vs. x'); +octave:33> +octave:33> +octave:33> +octave:33> +octave:33> x = 0:0.01:2*pi; % Create a linearly-spaced vector +y = sin(x); % sin() works element-wise on vectors! +y = abs(x); % same with abs()! +y = x .^ 4; % element-wise power +y = power(x, 4); % same as above + +plot(x, y); % Plot y vs. x (line graph) +title('y vs. x'); +octave:40> close all +octave:41> +y = abs(x); % same with abs()! +y = x .^ 4; % element-wise power +y = power(x, 4); % same as above + +octave:53> x = 1:5:10 +x = + + 1 6 + +octave:54> x = 1:10 +x = + + 1 2 3 4 5 6 7 8 9 10 + +octave:55> x(1) +ans = 1 +octave:56> x(1:3) +ans = + + 1 2 3 + +octave:57> x(2:7) +ans = + + 2 3 4 5 6 7 + +octave:58> x = 0:9 +x = + + 0 1 2 3 4 5 6 7 8 9 + +octave:59> x = linspace(0, 1, 10) +x = + + Columns 1 through 8: + + 0 0.1111 0.2222 0.3333 0.4444 0.5556 0.6667 0.7778 + + Columns 9 and 10: + + 0.8889 1.0000 + +octave:60> x = linspace(0, 1, 10); +octave:61> x = linspace(0, 1, 10).'; +octave:62> x +x = + + 0 + 0.1111 + 0.2222 + 0.3333 + 0.4444 + 0.5556 + 0.6667 + 0.7778 + 0.8889 + 1.0000 + +octave:63> x(2:6) +ans = + + 0.1111 + 0.2222 + 0.3333 + 0.4444 + 0.5556 + +octave:64> x([1 3 5 7]) +ans = + + 0 + 0.2222 + 0.4444 + 0.6667 + +octave:65> x(:) +ans = + + 0 + 0.1111 + 0.2222 + 0.3333 + 0.4444 + 0.5556 + 0.6667 + 0.7778 + 0.8889 + 1.0000 + +octave:66> x(end) +ans = 1 +octave:67> x(end:-1:3) +ans = + + 1.0000 + 0.8889 + 0.7778 + 0.6667 + 0.5556 + 0.4444 + 0.3333 + 0.2222 + +octave:68> x(end:-1:1) +ans = + + 1.0000 + 0.8889 + 0.7778 + 0.6667 + 0.5556 + 0.4444 + 0.3333 + 0.2222 + 0.1111 + 0 + +octave:69> x(1:2:end) +ans = + + 0 + 0.2222 + 0.4444 + 0.6667 + 0.8889 + +octave:70> M = 1:100; +octave:71> size(M) +ans = + + 1 100 + +octave:72> help reshape +'reshape' is a built-in function from the file libinterp/corefcn/data.cc + + -- reshape (A, M, N, ...) + -- reshape (A, [M N ...]) + -- reshape (A, ..., [], ...) + -- reshape (A, SIZE) + Return a matrix with the specified dimensions (M, N, ...) whose + elements are taken from the matrix A. + + The elements of the matrix are accessed in column-major order (like + Fortran arrays are stored). + + The following code demonstrates reshaping a 1x4 row vector into a + 2x2 square matrix. + + reshape ([1, 2, 3, 4], 2, 2) + => 1 3 + 2 4 + + Note that the total number of elements in the original matrix + ('prod (size (A))') must match the total number of elements in the + new matrix ('prod ([M N ...])'). + + A single dimension of the return matrix may be left unspecified and + Octave will determine its size automatically. An empty matrix ([]) + is used to flag the unspecified dimension. + + See also: resize, vec, postpad, cat, squeeze. + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:73> N1 = reshape(M, round(sqrt(100)), []) +N1 = + + 1 11 21 31 41 51 61 71 81 91 + 2 12 22 32 42 52 62 72 82 92 + 3 13 23 33 43 53 63 73 83 93 + 4 14 24 34 44 54 64 74 84 94 + 5 15 25 35 45 55 65 75 85 95 + 6 16 26 36 46 56 66 76 86 96 + 7 17 27 37 47 57 67 77 87 97 + 8 18 28 38 48 58 68 78 88 98 + 9 19 29 39 49 59 69 79 89 99 + 10 20 30 40 50 60 70 80 90 100 + +octave:74> N1 +N1 = + + 1 11 21 31 41 51 61 71 81 91 + 2 12 22 32 42 52 62 72 82 92 + 3 13 23 33 43 53 63 73 83 93 + 4 14 24 34 44 54 64 74 84 94 + 5 15 25 35 45 55 65 75 85 95 + 6 16 26 36 46 56 66 76 86 96 + 7 17 27 37 47 57 67 77 87 97 + 8 18 28 38 48 58 68 78 88 98 + 9 19 29 39 49 59 69 79 89 99 + 10 20 30 40 50 60 70 80 90 100 + +octave:75> N1(:, :) +ans = + + 1 11 21 31 41 51 61 71 81 91 + 2 12 22 32 42 52 62 72 82 92 + 3 13 23 33 43 53 63 73 83 93 + 4 14 24 34 44 54 64 74 84 94 + 5 15 25 35 45 55 65 75 85 95 + 6 16 26 36 46 56 66 76 86 96 + 7 17 27 37 47 57 67 77 87 97 + 8 18 28 38 48 58 68 78 88 98 + 9 19 29 39 49 59 69 79 89 99 + 10 20 30 40 50 60 70 80 90 100 + +octave:76> N1(1:3, :) +ans = + + 1 11 21 31 41 51 61 71 81 91 + 2 12 22 32 42 52 62 72 82 92 + 3 13 23 33 43 53 63 73 83 93 + +octave:77> N1(1:3, 2:6) +ans = + + 11 21 31 41 51 + 12 22 32 42 52 + 13 23 33 43 53 + +octave:78> N1(1:3, 1:3) +ans = + + 1 11 21 + 2 12 22 + 3 13 23 + +octave:79> N1(end-3:end) +ans = + + 97 98 99 100 +octave:83> +Display all 1790 possibilities? (y or n) +abs +accumarray +__accumarray_max__ +__accumarray_min__ +__accumarray_sum__ +accumdim +octave:84> x = 3 +x = 3 +octave:85> x = [1 2 3]; +octave:86> x = 0:15 +x = + + Columns 1 through 15: + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 + + Column 16: + + 15 + +octave:87> y = x.^2 +y = + + Columns 1 through 13: + + 0 1 4 9 16 25 36 49 64 81 100 121 144 + + Columns 14 through 16: + + 169 196 225 + +octave:88> x +x = + + Columns 1 through 15: + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 + + Column 16: + + 15 + +octave:89> xt = x.' +xt = + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + +octave:90> x = (1:9).' +x = + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + +octave:91> sin(x) +ans = + + 0.8415 + 0.9093 + 0.1411 + -0.7568 + -0.9589 + -0.2794 + 0.6570 + 0.9894 + 0.4121 + +octave:92> rad2deg(pi/2) +ans = 90 +octave:93> length(x) +ans = 9 +octave:94> mean(x) +ans = 5 +octave:95> x +x = + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + +octave:96> mean(sin(x)) +ans = 0.2172 +octave:97> +^[[200~T = 1e-6; % Sampling period (s) +t = 0:T:2e-3; % Time (domain/x-axis) +f0 = 50; % Initial frequency (Hz) +b = 10e6; % Chirp rate (Hz/s) +A = 10; % Amplitude +y1 = A * cos(2*pi*f0*t + pi*b*t.^2); + +figure; +plot(t,y1);^[[201~octave:97> +octave:97> +octave:97> +octave:97> +octave:97> T = 1e-6; % Sampling period (s) +t = 0:T:2e-3; % Time (domain/x-axis) +f0 = 50; % Initial frequency (Hz) +b = 10e6; % Chirp rate (Hz/s) +A = 10; % Amplitude +y1 = A * cos(2*pi*f0*t + pi*b*t.^2); + +figure; +plot(t,y1); +octave:105> close all +octave:109> x = linspace(0, 1, 9) +x = + + Columns 1 through 8: + + 0 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 + + Column 9: + + 1.0000 + +octave:110> x = linspace(0, 1, 9).' +x = + + 0 + 0.1250 + 0.2500 + 0.3750 + 0.5000 + 0.6250 + 0.7500 + 0.8750 + 1.0000 + +octave:111> x(1) +ans = 0 +octave:112> x(9) +ans = 1 +octave:113> x(10) +error: x(10): out of bound 9 (dimensions are 9x1) +octave:114> x(5) +ans = 0.5000 +octave:115> x([1 2 3]) +ans = + + 0 + 0.1250 + 0.2500 + +octave:116> x([1 3 2]) +ans = + + 0 + 0.2500 + 0.1250 + +octave:117> x(1:9) +ans = + + 0 + 0.1250 + 0.2500 + 0.3750 + 0.5000 + 0.6250 + 0.7500 + 0.8750 + 1.0000 + +octave:118> x(1:end) +ans = + + 0 + 0.1250 + 0.2500 + 0.3750 + 0.5000 + 0.6250 + 0.7500 + 0.8750 + 1.0000 + +octave:119> x(end) +ans = 1 +octave:120> x(3:end) +ans = + + 0.2500 + 0.3750 + 0.5000 + 0.6250 + 0.7500 + 0.8750 + 1.0000 + +octave:121> x(end:-1:1) +ans = + + 1.0000 + 0.8750 + 0.7500 + 0.6250 + 0.5000 + 0.3750 + 0.2500 + 0.1250 + 0 + +octave:122> 9:-1:1 +ans = + + 9 8 7 6 5 4 3 2 1 + +octave:123> 9:-.5:1 +ans = + + Columns 1 through 7: + + 9.0000 8.5000 8.0000 7.5000 7.0000 6.5000 6.0000 + + Columns 8 through 14: + + 5.5000 5.0000 4.5000 4.0000 3.5000 3.0000 2.5000 + + Columns 15 through 17: + + 2.0000 1.5000 1.0000 + +octave:124> x(:) +ans = + + 0 + 0.1250 + 0.2500 + 0.3750 + 0.5000 + 0.6250 + 0.7500 + 0.8750 + 1.0000 + +octave:125> A = [1 2; 3 4] +A = + + 1 2 + 3 4 + +octave:126> A(:) +ans = + + 1 + 3 + 2 + 4 + +octave:127> z = 4 +z = 4 +octave:128> z(1) +ans = 4 +octave:129> inc +error: 'inc' undefined near line 1, column 1 +octave:130> a++ +error: in x++ or ++x, x must be defined first +octave:131> ++x +ans = + + 1.0000 + 1.1250 + 1.2500 + 1.3750 + 1.5000 + 1.6250 + 1.7500 + 1.8750 + 2.0000 + +octave:132> M = reshape(1:100, 10, 10) +M = + + 1 11 21 31 41 51 61 71 81 91 + 2 12 22 32 42 52 62 72 82 92 + 3 13 23 33 43 53 63 73 83 93 + 4 14 24 34 44 54 64 74 84 94 + 5 15 25 35 45 55 65 75 85 95 + 6 16 26 36 46 56 66 76 86 96 + 7 17 27 37 47 57 67 77 87 97 + 8 18 28 38 48 58 68 78 88 98 + 9 19 29 39 49 59 69 79 89 99 + 10 20 30 40 50 60 70 80 90 100 + +octave:133> M(1, 1) +ans = 1 +octave:134> M(10, 10) +ans = 100 +octave:135> M(end, end) +ans = 100 +octave:136> M(end, 1) +ans = 10 +octave:137> M(1, end) +ans = 91 +octave:138> M(1:3, :) +ans = + + 1 11 21 31 41 51 61 71 81 91 + 2 12 22 32 42 52 62 72 82 92 + 3 13 23 33 43 53 63 73 83 93 + +octave:139> M(1:3, 2:5) +ans = + + 11 21 31 41 + 12 22 32 42 + 13 23 33 43 + +octave:140> M([1 3 5 7], 2:5) +ans = + + 11 21 31 41 + 13 23 33 43 + 15 25 35 45 + 17 27 37 47 + +octave:141> x +x = + + 1.0000 + 1.1250 + 1.2500 + 1.3750 + 1.5000 + 1.6250 + 1.7500 + 1.8750 + 2.0000 + +octave:142> x(1:5) +ans = + + 1.0000 + 1.1250 + 1.2500 + 1.3750 + 1.5000 + +octave:143> x(1:5) = 1:5 +x = + + 1.0000 + 2.0000 + 3.0000 + 4.0000 + 5.0000 + 1.6250 + 1.7500 + 1.8750 + 2.0000 + +octave:144> x(6:end) = x(6:end).^2 +x = + + 1.0000 + 2.0000 + 3.0000 + 4.0000 + 5.0000 + 2.6406 + 3.0625 + 3.5156 + 4.0000 + +octave:145> M +M = + + 1 11 21 31 41 51 61 71 81 91 + 2 12 22 32 42 52 62 72 82 92 + 3 13 23 33 43 53 63 73 83 93 + 4 14 24 34 44 54 64 74 84 94 + 5 15 25 35 45 55 65 75 85 95 + 6 16 26 36 46 56 66 76 86 96 + 7 17 27 37 47 57 67 77 87 97 + 8 18 28 38 48 58 68 78 88 98 + 9 19 29 39 49 59 69 79 89 99 + 10 20 30 40 50 60 70 80 90 100 + +octave:146> M(3:6, 3:6) = 0 +M = + + 1 11 21 31 41 51 61 71 81 91 + 2 12 22 32 42 52 62 72 82 92 + 3 13 0 0 0 0 63 73 83 93 + 4 14 0 0 0 0 64 74 84 94 + 5 15 0 0 0 0 65 75 85 95 + 6 16 0 0 0 0 66 76 86 96 + 7 17 27 37 47 57 67 77 87 97 + 8 18 28 38 48 58 68 78 88 98 + 9 19 29 39 49 59 69 79 89 99 + 10 20 30 40 50 60 70 80 90 100 + +octave:147> x +x = + + 1.0000 + 2.0000 + 3.0000 + 4.0000 + 5.0000 + 2.6406 + 3.0625 + 3.5156 + 4.0000 + +octave:148> x = 1:9.' +x = + + 1 2 3 4 5 6 7 8 9 + +octave:149> x = (1:9).' +x = + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + +octave:150> reshape(x, 3, 3) +ans = + + 1 4 7 + 2 5 8 + 3 6 9 + +octave:151> x = 1:9 +x = + + 1 2 3 4 5 6 7 8 9 + +octave:152> reshape(x, 3, 3) +ans = + + 1 4 7 + 2 5 8 + 3 6 9 + +octave:153> x +x = + + 1 2 3 4 5 6 7 8 9 + +octave:154> xm = reshape(x, 3, 3) +xm = + + 1 4 7 + 2 5 8 + 3 6 9 + +octave:155> xm(1, 1) +ans = 1 +octave:156> xm(1) +ans = 1 +octave:157> xm(2) +ans = 2 +octave:158> xm(3) +ans = 3 +octave:159> xm(4) +ans = 4 +octave:160> xm +xm = + + 1 4 7 + 2 5 8 + 3 6 9 + +octave:161> reshape(xm, 9, 1) +ans = + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + +octave:162> mx +error: 'mx' undefined near line 1, column 1 +octave:163> xm +xm = + + 1 4 7 + 2 5 8 + 3 6 9 + +octave:164> reshape(xm, 9, 1) +ans = + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + +octave:165> reshape(xm, 9, []) +ans = + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + +octave:166> reshape(xm, 3, []) +ans = + + 1 4 7 + 2 5 8 + 3 6 9 + +octave:167> xm +xm = + + 1 4 7 + 2 5 8 + 3 6 9 + +octave:168> xm(2, :) = [] +xm = + + 1 4 7 + 3 6 9 + +octave:169> magic(4) +ans = + + 16 2 3 13 + 5 11 10 8 + 9 7 6 12 + 4 14 15 1 + +octave:170> sum(magic(4)) +ans = + + 34 34 34 34 + +octave:171> sum(magic(4), 2) +ans = + + 34 + 34 + 34 + 34 + +octave:172> +^[[200~lo = -2; +hi = 2; +N = 1e2; + +x = linspace(lo, hi, N); +y = x.^2; +plot(x, y); +title('x^2');^[[201~octave:172> +octave:172> +octave:172> +octave:172> +octave:172> lo = -2; +hi = 2; +N = 1e2; + +x = linspace(lo, hi, N); +y = x.^2; +plot(x, y); +title('x^2'); +octave:179> close all +octave:180> diff(x) +ans = + + Columns 1 through 7: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 8 through 14: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 15 through 21: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 22 through 28: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 29 through 35: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 36 through 42: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 43 through 49: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 50 through 56: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 57 through 63: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 64 through 70: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 71 through 77: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 78 through 84: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 85 through 91: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 92 through 98: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Column 99: + + 0.040404 + +octave:181> diff(y) +ans = + + Columns 1 through 8: + + -0.1600 -0.1567 -0.1535 -0.1502 -0.1469 -0.1437 -0.1404 -0.1371 + + Columns 9 through 16: + + -0.1339 -0.1306 -0.1273 -0.1241 -0.1208 -0.1175 -0.1143 -0.1110 + + Columns 17 through 24: + + -0.1077 -0.1045 -0.1012 -0.0979 -0.0947 -0.0914 -0.0882 -0.0849 + + Columns 25 through 32: + + -0.0816 -0.0784 -0.0751 -0.0718 -0.0686 -0.0653 -0.0620 -0.0588 + + Columns 33 through 40: + + -0.0555 -0.0522 -0.0490 -0.0457 -0.0424 -0.0392 -0.0359 -0.0326 + + Columns 41 through 48: + + -0.0294 -0.0261 -0.0229 -0.0196 -0.0163 -0.0131 -0.0098 -0.0065 + + Columns 49 through 56: + + -0.0033 0 0.0033 0.0065 0.0098 0.0131 0.0163 0.0196 + + Columns 57 through 64: + + 0.0229 0.0261 0.0294 0.0326 0.0359 0.0392 0.0424 0.0457 + + Columns 65 through 72: + + 0.0490 0.0522 0.0555 0.0588 0.0620 0.0653 0.0686 0.0718 + + Columns 73 through 80: + + 0.0751 0.0784 0.0816 0.0849 0.0882 0.0914 0.0947 0.0979 + + Columns 81 through 88: + + 0.1012 0.1045 0.1077 0.1110 0.1143 0.1175 0.1208 0.1241 + + Columns 89 through 96: + + 0.1273 0.1306 0.1339 0.1371 0.1404 0.1437 0.1469 0.1502 + + Columns 97 through 99: + + 0.1535 0.1567 0.1600 + +octave:182> diff(y)./diff(x) +ans = + + Columns 1 through 8: + + -3.9596 -3.8788 -3.7980 -3.7172 -3.6364 -3.5556 -3.4747 -3.3939 + + Columns 9 through 16: + + -3.3131 -3.2323 -3.1515 -3.0707 -2.9899 -2.9091 -2.8283 -2.7475 + + Columns 17 through 24: + + -2.6667 -2.5859 -2.5051 -2.4242 -2.3434 -2.2626 -2.1818 -2.1010 + + Columns 25 through 32: + + -2.0202 -1.9394 -1.8586 -1.7778 -1.6970 -1.6162 -1.5354 -1.4545 + + Columns 33 through 40: + + -1.3737 -1.2929 -1.2121 -1.1313 -1.0505 -0.9697 -0.8889 -0.8081 + + Columns 41 through 48: + + -0.7273 -0.6465 -0.5657 -0.4848 -0.4040 -0.3232 -0.2424 -0.1616 + + Columns 49 through 56: + + -0.0808 0 0.0808 0.1616 0.2424 0.3232 0.4040 0.4848 + + Columns 57 through 64: + + 0.5657 0.6465 0.7273 0.8081 0.8889 0.9697 1.0505 1.1313 + + Columns 65 through 72: + + 1.2121 1.2929 1.3737 1.4545 1.5354 1.6162 1.6970 1.7778 + + Columns 73 through 80: + + 1.8586 1.9394 2.0202 2.1010 2.1818 2.2626 2.3434 2.4242 + + Columns 81 through 88: + + 2.5051 2.5859 2.6667 2.7475 2.8283 2.9091 2.9899 3.0707 + + Columns 89 through 96: + + 3.1515 3.2323 3.3131 3.3939 3.4747 3.5556 3.6364 3.7172 + + Columns 97 through 99: + + 3.7980 3.8788 3.9596 + +octave:183> +^[[200~figure(); +plot(x(1:end-1), dydx);^[[201~octave:183> +octave:183> +octave:183> +octave:183> +octave:183> figure(); +plot(x(1:end-1), dydx); +error: 'dydx' undefined near line 1, column 18 +octave:201> xdiff = diff(x); +octave:202> dx = xdiff(1); +octave:203> dx +dx = 0.040404 +octave:204> int_of_y = sum(y)*dx +int_of_y = 5.4960 +octave:205> Y = cumsum(y)*dx +Y = + + Columns 1 through 8: + + 0.1616 0.3168 0.4656 0.6082 0.7448 0.8754 1.0002 1.1193 + + Columns 9 through 16: + + 1.2329 1.3411 1.4440 1.5418 1.6345 1.7224 1.8055 1.8841 + + Columns 17 through 24: + + 1.9581 2.0277 2.0932 2.1546 2.2120 2.2655 2.3154 2.3617 + + Columns 25 through 32: + + 2.4046 2.4442 2.4806 2.5140 2.5445 2.5722 2.5973 2.6199 + + Columns 33 through 40: + + 2.6401 2.6581 2.6739 2.6878 2.6998 2.7101 2.7188 2.7261 + + Columns 41 through 48: + + 2.7320 2.7368 2.7405 2.7433 2.7453 2.7466 2.7474 2.7479 + + Columns 49 through 56: + + 2.7480 2.7480 2.7480 2.7482 2.7486 2.7494 2.7507 2.7527 + + Columns 57 through 64: + + 2.7555 2.7592 2.7640 2.7700 2.7772 2.7859 2.7963 2.8083 + + Columns 65 through 72: + + 2.8221 2.8380 2.8559 2.8761 2.8987 2.9238 2.9515 2.9820 + + Columns 73 through 80: + + 3.0154 3.0518 3.0914 3.1343 3.1806 3.2305 3.2841 3.3415 + + Columns 81 through 88: + + 3.4028 3.4683 3.5380 3.6120 3.6905 3.7736 3.8615 3.9542 + + Columns 89 through 96: + + 4.0520 4.1549 4.2631 4.3767 4.4959 4.6207 4.7513 4.8878 + + Columns 97 through 100: + + 5.0304 5.1793 5.3344 5.4960 + +octave:206> figure +octave:207> hold on +octave:208> plot(x, y) +octave:209> plot(x, Y) +octave:210> close all +octave:211> help cumtrapz +'cumtrapz' is a function from the file /usr/share/octave/7.3.0/m/general/cumtr +apz.m + + -- Q = cumtrapz (Y) + -- Q = cumtrapz (X, Y) + -- Q = cumtrapz (..., DIM) + Cumulative numerical integration of points Y using the trapezoidal + method. + + 'cumtrapz (Y)' computes the cumulative integral of Y along the + first non-singleton dimension. Where 'trapz' reports only the + overall integral sum, 'cumtrapz' reports the current partial sum + value at each point of Y. + + When the argument X is omitted an equally spaced X vector with unit + spacing (1) is assumed. 'cumtrapz (X, Y)' evaluates the integral + with respect to the spacing in X and the values in Y. This is + useful if the points in Y have been sampled unevenly. + + If the optional DIM argument is given, operate along this + dimension. + + Application Note: If X is not specified then unit spacing will be + used. To scale the integral to the correct value you must multiply + by the actual spacing value (deltaX). + + See also: trapz, cumsum. + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:212> help trapz= +error: help: 'trapz=' not found +octave:213> help trapz +'trapz' is a function from the file /usr/share/octave/7.3.0/m/general/trapz.m + + -- Q = trapz (Y) + -- Q = trapz (X, Y) + -- Q = trapz (..., DIM) + + Numerically evaluate the integral of points Y using the trapezoidal + method. + + 'trapz (Y)' computes the integral of Y along the first + non-singleton dimension. When the argument X is omitted an equally + spaced X vector with unit spacing (1) is assumed. 'trapz (X, Y)' + evaluates the integral with respect to the spacing in X and the + values in Y. This is useful if the points in Y have been sampled + unevenly. + + If the optional DIM argument is given, operate along this + dimension. + + Application Note: If X is not specified then unit spacing will be + used. To scale the integral to the correct value you must multiply + by the actual spacing value (deltaX). As an example, the integral + of x^3 over the range [0, 1] is x^4/4 or 0.25. The following code + uses 'trapz' to calculate the integral in three different ways. + + x = 0:0.1:1; + y = x.^3; + ## No scaling + q = trapz (y) + => q = 2.5250 + ## Approximation to integral by scaling + q * 0.1 + => 0.25250 + ## Same result by specifying X + trapz (x, y) + => 0.25250 + + See also: cumtrapz. + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:214> trapz(x, y) +ans = 5.3344 +octave:215> cmutrapz(x, y) +error: 'cmutrapz' undefined near line 1, column 1 +octave:216> cumtrapz(x, y) +ans = + + Columns 1 through 8: + + 0 0.1584 0.3104 0.4561 0.5957 0.7293 0.8570 0.9789 + + Columns 9 through 16: + + 1.0953 1.2062 1.3118 1.4121 1.5074 1.5977 1.6832 1.7640 + + Columns 17 through 24: + + 1.8403 1.9121 1.9797 2.0431 2.1024 2.1579 2.2097 2.2578 + + Columns 25 through 32: + + 2.3024 2.3436 2.3816 2.4165 2.4485 2.4776 2.5040 2.5278 + + Columns 33 through 40: + + 2.5492 2.5683 2.5852 2.6000 2.6130 2.6241 2.6336 2.6416 + + Columns 41 through 48: + + 2.6483 2.6536 2.6579 2.6611 2.6635 2.6652 2.6662 2.6668 + + Columns 49 through 56: + + 2.6671 2.6672 2.6672 2.6673 2.6676 2.6682 2.6693 2.6709 + + Columns 57 through 64: + + 2.6733 2.6766 2.6808 2.6862 2.6928 2.7008 2.7103 2.7215 + + Columns 65 through 72: + + 2.7344 2.7493 2.7662 2.7852 2.8066 2.8305 2.8569 2.8860 + + Columns 73 through 80: + + 2.9179 2.9528 2.9908 3.0321 3.0767 3.1248 3.1765 3.2320 + + Columns 81 through 88: + + 3.2914 3.3548 3.4223 3.4942 3.5704 3.6512 3.7367 3.8271 + + Columns 89 through 96: + + 3.9223 4.0227 4.1282 4.2391 4.3555 4.4774 4.6052 4.7387 + + Columns 97 through 100: + + 4.8783 5.0241 5.1760 5.3344 + +octave:217> Y = cumtrapz(x, y) +Y = + + Columns 1 through 8: + + 0 0.1584 0.3104 0.4561 0.5957 0.7293 0.8570 0.9789 + + Columns 9 through 16: + + 1.0953 1.2062 1.3118 1.4121 1.5074 1.5977 1.6832 1.7640 + + Columns 17 through 24: + + 1.8403 1.9121 1.9797 2.0431 2.1024 2.1579 2.2097 2.2578 + + Columns 25 through 32: + + 2.3024 2.3436 2.3816 2.4165 2.4485 2.4776 2.5040 2.5278 + + Columns 33 through 40: + + 2.5492 2.5683 2.5852 2.6000 2.6130 2.6241 2.6336 2.6416 + + Columns 41 through 48: + + 2.6483 2.6536 2.6579 2.6611 2.6635 2.6652 2.6662 2.6668 + + Columns 49 through 56: + + 2.6671 2.6672 2.6672 2.6673 2.6676 2.6682 2.6693 2.6709 + + Columns 57 through 64: + + 2.6733 2.6766 2.6808 2.6862 2.6928 2.7008 2.7103 2.7215 + + Columns 65 through 72: + + 2.7344 2.7493 2.7662 2.7852 2.8066 2.8305 2.8569 2.8860 + + Columns 73 through 80: + + 2.9179 2.9528 2.9908 3.0321 3.0767 3.1248 3.1765 3.2320 + + Columns 81 through 88: + + 3.2914 3.3548 3.4223 3.4942 3.5704 3.6512 3.7367 3.8271 + + Columns 89 through 96: + + 3.9223 4.0227 4.1282 4.2391 4.3555 4.4774 4.6052 4.7387 + + Columns 97 through 100: + + 4.8783 5.0241 5.1760 5.3344 + +octave:218> diff --git a/hw2/notes/vectorized_operations.m b/hw2/notes/vectorized_operations.m new file mode 100644 index 0000000..d538411 --- /dev/null +++ b/hw2/notes/vectorized_operations.m @@ -0,0 +1,124 @@ +%% Lesson 2a: More vector and matrix operations +% +% Objectives: +% * Understand how to perform vector operations in MATLAB +% * Understand arithmetic and basic functions in MATLAB + +%% Vector operations +% In lesson 1, we saw how to create a vector with the colon operator and +% linspace. Now let's perform some operations on them! +% +% There are two common classes of operations that you can perform on vectors: +% element-wise operations (which produce another vector) and aggregate +% operations (which produce a scalar value). There are also many functions that +% don't fall under these categories, but these cover many of the common +% functions. + +%% Element-wise operations +% Many operations that work on scalars (which are really degenerate matrices) +% also work element-wise on vectors (or matrices). +x = 0:0.01:2*pi; % Create a linearly-spaced vector +y = sin(x); % sin() works element-wise on vectors! +y = abs(x); % same with abs()! +y = x .^ 4; % element-wise power +y = power(x, 4); % same as above + +plot(x, y); % Plot y vs. x (line graph) +title('y vs. x'); + +%% Aggregate operations +% Another common class of operations produce a single output or statistic about +% a vector (or matrix). +length(x); % number of elements in x +sum(x); % sum of the elements of x +mean(x); % average of the elements of x +min(x); % minimum element of x +diff(x); % difference between adjacent elements of x + +%% Exercise 1 : Vector operations +T = 1e-6; % Sampling period (s) +t = 0:T:2e-3; % Time (domain/x-axis) +f0 = 50; % Initial frequency (Hz) +b = 10e6; % Chirp rate (Hz/s) +A = 10; % Amplitude +y1 = A * cos(2*pi*f0*t + pi*b*t.^2); + +figure; +plot(t,y1); + +%% Exercise: Numerical calculus +% See numerical_calculus.m. + +%% Basic indexing in MATLAB +% The process of extracting values from a vector (or matrix) is called +% "indexing." In MATLAB, indices start at 1, rather than 0 in most languages +% (in which it is more of an "offset" than a cardinal index). + +%% Exercise 2 : Basic indexing +% The syntax for indexing is "x(indices)", where x is the variable to index, +% and indices is a scalar or a vector of indices. There are many variations on +% this. Note that indices can be any vector +x(1); % first element of x +x(1:3); % elements 1, 2 and 3 (inclusive!) +x(1:length(x)); % all elements in x +x(1:end); % same as above +x(:); % same as above +x(end); % last element of x +x(3:end); % all elements from 3 onwards +x([1,3,5]); % elements 1, 3, and 5 from x + +x(1:2:end); % all odd-indexed elements of x +ind = 1:2:length(x); +x(ind); % same as the previous example + +%% Exercises to improve your understanding +% Take some time to go through these on your own. +x([1,2,3]); % Will these produce the same result? +x([3,2,1]); + +x2 = 1:5; +x2(6); % What will this produce? +x2(0); % What will this produce? +x2(1:1.5:4); % What will this produce? +ind = 1:1.5:4; +x2(ind); % What will this produce? + +z = 4; +z(1); % What will this produce? + +%% Matrix operations +% Matrices is closely related to vectors, and we have also explored some matrix +% operations last class. This class, we are going to explore functions that are +% very useful but are hard to grasp for beginners, namely reshape, meshgrid, +% row-wise and column-wise operations. + +%% Reshape +% Change a matrix from one shape to another. The new shape has to have the same +% number of elements as the original shape. +% +% When you are reshaping an array / matrix, the first dimension is filled +% first, and then the second dimension, so on and so forth. I.e., elements +% start filling down columns, then rows, etc. +M = 1:100; +N1 = reshape(M,2,2,[]); % It would create a 2*2*25 matrix +N2 = reshape(M,[2,2,25]); % Same as N1 +N2(:,:,25); % Gives you 97,98,99,100 +N2(:,1,25); % Gives you 97 and 98 + +%% Row-wise / Column-wise operations +% Vector operations can also be performed on matrices. We can perform a vector +% operation on each row/column of a matrix, or on a particular row/column by +% indexing. +H = magic(4); % create the magical matrix H +sum(H,1); % column wise sum, note that this is a row vector(default) +fliplr(H); % flip H from left to right +flipud(H); % flip H upside down +H(1,:) = fliplr(H(1,:)); % flip only ONE row left to right +H(1,:) = []; % delete the first row + +%% Exercise 7 : Matrix Operations +H2 = randi(20,4,5); % random 4x5 matrix with integers from 1 to 20 +sum(H2(:,2)); +mean(H2(3,:)); +C = reshape(H2,2,2,5); +C(2,:,:) = []; diff --git a/hw3/Ryan_HW3_021424.m b/hw3/Ryan_HW3_021424.m new file mode 100644 index 0000000..9783c56 --- /dev/null +++ b/hw3/Ryan_HW3_021424.m @@ -0,0 +1,181 @@ +%%%% ECE-210-B HW 3 - Plotting +% James Ryan, 02/14/24 + +% preamble +close all; clear; clc; + +%% Two Dimensions +% (1) +x = linspace(0, 2*pi, 50); +f = sin(x); + +figure; +plot(x, f, "g"); +xlim([0 2*pi]); % plot only within x's range +xticks([0:pi/2:2*pi]); +xticklabels({'0','\pi/2','\pi','3\pi/2','2\pi'}) +xlabel("x"); +ylabel("sin(x)"); +title('Plot of sin(x) over 50 evenly spaced points between [0, 2\pi]'); + +% (2) +x; % 50 evenly spaced pts between [0, 2pi] +g = cos(2.*x); + +figure; +hold on; +plot(x, f, "g"); +plot(x, g, "b"); +hold off; +xlim([0 2*pi]); % plot only within x's range +xticks([0:pi/2:2*pi]); +xticklabels({'0','\pi/2','\pi','3\pi/2','2\pi'}) + +xlabel("x"); +ylabel("y"); +legend( 'y = sin(x)', ... + 'y = cos(2x)'); +title('knock knock! whose there? sin! sine who? $\pm\sqrt{\frac{1 + cos2\theta}{2}}$', "interpreter", "latex"); + +% (3) + +figure; +x; % 50 evenly spaced pts between [0, 2pi] + +% top plot - f = sin(x) +subplot(2,1,1); +stem(x, f, "r*"); +grid on +xlim([0 2*pi]); +xticks([0:pi/2:2*pi]); +xticklabels({'0','\pi/2','\pi','3\pi/2','2\pi'}) +xlabel("t [s]"); % we're pretending its time now :) +ylabel("Position [d]"); +title('Position of a controlled laser pointer, relative to origin location'); +%subtitle('Sampled 50 times over 2\pi seconds.'); + + +% bottom plot - g = cos(2x) +% changing cos(2x)'s amplitude; computing amplitude ratio in d +rand_amp = 100 * rand; +g = rand_amp .* g; +amplitude_ratio_db = 20.*log10(rand_amp); + +subplot(2,1,2); +stem(x, g, "color", "#D95319", "Marker", "+", "MarkerEdgeColor", "#D95319", "MarkerFaceColor", "#D95319"); +grid on +xlim([0 2*pi]); +xticks([0:pi/2:2*pi]); +xticklabels({'0','\pi/2','\pi','3\pi/2','2\pi'}) +yticks(linspace(-rand_amp, rand_amp, 5)); + +xlabel("t [s]"); +ylabel("Position [d]"); +title(sprintf('Pet cats vertical position while seeking laser pointer. \n Position Ratio (vs sin) [dB]: %d' ... + ,amplitude_ratio_db)); +%subtitle('Sampled 50 times over 2\pi seconds.'); + + +% (4) + +pointer = imread("./pointer.jpg"); +%{ + returns a 720x1280x3 matrix, corresponding to + 720 rows + 1280 columns + 3 color channels per (row,col) pair + to form a complete color image, in matrix form. + Each entry in the matrix is stored as uint8, or + an 8-bit integer, implying colors are specified as + hex codes (eg #RRGGBB - specify the Red, Green, and + Blue values in HEX, 8 bits per channel, 3 channels). +%} + +% Invert color channels +new_pointer = 255 - pointer; + +figure; +imshow(pointer); +figure; +imshow(new_pointer); + +%% Three Dimensions +% (1) +x = 0:.01:1; +y = x; +z = exp(-x.^2 - y.^2); + +figure; + +% "Create this plot +% three times +% in three different subplots +% using plot3..., scatter3, surf, *and* mesh (4 tools?)" + +% I'm making 4 plots, because you said "and", meaning all the tools. + +% plot3 +subplot(2,2,1); +plot3(x,y,z); +xlabel("x"); +ylabel("y"); +zlabel("z"); +title('z = exp(-x^2 - y^2) (PLOT3)'); +legend('z = exp(-x^2 - y^2)'); +daspect([1 1 1]); +view([-2 2 1]); +grid on; + + +% scatter3 +subplot(2,2,2); +scatter3(x,y,z); +xlabel("x"); +ylabel("y"); +zlabel("z"); +title('z = exp(-x^2 - y^2) (SCATTER)'); +legend('z = exp(-x^2 - y^2)'); +daspect([1 1 1]); +view([-2 2 1]); +grid on; + +% surf +[X, Y] = meshgrid(x); +Z = exp(-X.^2 - Y.^2); + +subplot(2,2,3); +surf(X,Y,Z); +xlabel("x"); +ylabel("y"); +zlabel("z"); +title('z = exp(-x^2 - y^2) (SURF)'); +legend('z = exp(-x^2 - y^2)'); +grid on; +view([-2 5 1.3]); + +% mesh +subplot(2,2,4); +mesh(X,Y,Z); +xlabel("x"); +ylabel("y"); +zlabel("z"); +title('z = exp(-x^2 - y^2) (MESH)'); +legend('z = exp(-x^2 - y^2)'); +grid on; +view([-2 5 1.3]); + +% (2) +t = 0:0.01:1; +x = t.*cos(27.*t); +y = t.*sin(27.*t); +z = t; + +figure; +plot3(x,y,t); +xlabel("x"); +ylabel("y"); +zlabel("z"); +title('Wheeee!'); +grid on; +daspect([1 1 1]); +view([90 90 20]); diff --git a/hw3/feedback/Ryan_HW3_021424.m b/hw3/feedback/Ryan_HW3_021424.m new file mode 100644 index 0000000..265ff92 --- /dev/null +++ b/hw3/feedback/Ryan_HW3_021424.m @@ -0,0 +1,195 @@ +%%%% ECE-210-B HW 3 - Plotting +% James Ryan, 02/14/24 + +% preamble +close all; clear; clc; + +%% Two Dimensions +% (1) +x = linspace(0, 2*pi, 50); +f = sin(x); + +figure; +plot(x, f, "g"); +xlim([0 2*pi]); % plot only within x's range +xticks([0:pi/2:2*pi]); +xticklabels({'0','\pi/2','\pi','3\pi/2','2\pi'}) +xlabel("x"); +ylabel("sin(x)"); +title('Plot of sin(x) over 50 evenly spaced points between [0, 2\pi]'); + +% (2) +x; % 50 evenly spaced pts between [0, 2pi] +g = cos(2.*x); + +figure; +hold on; +plot(x, f, "g"); +plot(x, g, "b"); +hold off; +xlim([0 2*pi]); % plot only within x's range +xticks([0:pi/2:2*pi]); +xticklabels({'0','\pi/2','\pi','3\pi/2','2\pi'}) + +xlabel("x"); +ylabel("y"); +legend( 'y = sin(x)', ... + 'y = cos(2x)'); + % <-.02> (style) one thing about tabs: they don't always line + % up the same way on other people's machines. this indentation + % looks... strange to me, with my 8-space tabstops. +title('knock knock! whose there? sin! sine who? $\pm\sqrt{\frac{1 + cos2\theta}{2}}$', "interpreter", "latex"); + % <+.02> nice. + +% (3) + +figure; +x; % 50 evenly spaced pts between [0, 2pi] + +% top plot - f = sin(x) +subplot(2,1,1); +stem(x, f, "r*"); +grid on +xlim([0 2*pi]); +xticks([0:pi/2:2*pi]); +xticklabels({'0','\pi/2','\pi','3\pi/2','2\pi'}) +xlabel("t [s]"); % we're pretending its time now :) +ylabel("Position [d]"); +title('Position of a controlled laser pointer, relative to origin location'); +subtitle('Sampled 50 times over 2\pi seconds.'); + % <+.01> the theme here really gets me. + + +% bottom plot - g = cos(2x) +% changing cos(2x)'s amplitude; computing amplitude ratio in d +rand_amp = 100 * rand; +g = rand_amp .* g; +amplitude_ratio_db = 20.*log10(rand_amp); + +subplot(2,1,2); +stem(x, g, "color", "#D95319", "Marker", "+", "MarkerEdgeColor", "#D95319", "MarkerFaceColor", "#D95319"); + % (style) these are very long lines... +grid on +xlim([0 2*pi]); +xticks([0:pi/2:2*pi]); +xticklabels({'0','\pi/2','\pi','3\pi/2','2\pi'}) +yticks(linspace(-rand_amp, rand_amp, 5)); + % usually ticks are nicely readable numbers for, well, + % readability. + +xlabel("t [s]"); +ylabel("Position [d]"); +title(sprintf('Pet cats vertical position while seeking laser pointer. \n Position Ratio (vs sin) [dB]: %d' ... + ,amplitude_ratio_db)); + % (interesting place for that comma) +subtitle('Sampled 50 times over 2\pi seconds.'); + + +% (4) + +pointer = imread("./pointer.jpg"); + % <-.05> image was not submitted! i went and found one... +%{ + returns a 720x1280x3 matrix, corresponding to + 720 rows + 1280 columns + 3 color channels per (row,col) pair + to form a complete color image, in matrix form. + Each entry in the matrix is stored as uint8, or + an 8-bit integer, implying colors are specified as + hex codes (eg #RRGGBB - specify the Red, Green, and + Blue values in HEX, 8 bits per channel, 3 channels). +%} + +% Invert color channels +new_pointer = 255 - pointer; + +figure; +imshow(pointer); +figure; +imshow(new_pointer); + +%% Three Dimensions +% (1) +x = 0:.01:1; +y = x; +z = exp(-x.^2 - y.^2); + +figure; + +% "Create this plot +% three times +% in three different subplots +% using plot3..., scatter3, surf, *and* mesh (4 tools?)" + +% I'm making 4 plots, because you said "and", meaning all the tools. + % that is indeed what i meant for you to do. good catch. + +% plot3 +subplot(2,2,1); +plot3(x,y,z); +xlabel("x"); +ylabel("y"); +zlabel("z"); +title('z = exp(-x^2 - y^2) (PLOT3)'); +legend('z = exp(-x^2 - y^2)'); +daspect([1 1 1]); +view([-2 2 1]); +grid on; + + +% scatter3 +subplot(2,2,2); +scatter3(x,y,z); +xlabel("x"); +ylabel("y"); +zlabel("z"); +title('z = exp(-x^2 - y^2) (SCATTER)'); +legend('z = exp(-x^2 - y^2)'); +daspect([1 1 1]); +view([-2 2 1]); +grid on; + % <-.00> i was not totally clear here, so i'll let this slide, + % but i meant plot the surface itself using `scatter` and + % `plot3`. + +% surf +[X, Y] = meshgrid(x); +Z = exp(-X.^2 - Y.^2); + +subplot(2,2,3); +surf(X,Y,Z); +xlabel("x"); +ylabel("y"); +zlabel("z"); +title('z = exp(-x^2 - y^2) (SURF)'); +legend('z = exp(-x^2 - y^2)'); +grid on; +view([-2 5 1.3]); + +% mesh +subplot(2,2,4); +mesh(X,Y,Z); +xlabel("x"); +ylabel("y"); +zlabel("z"); +title('z = exp(-x^2 - y^2) (MESH)'); +legend('z = exp(-x^2 - y^2)'); +grid on; +view([-2 5 1.3]); + +% (2) +t = 0:0.01:1; +x = t.*cos(27.*t); +y = t.*sin(27.*t); +z = t; + +figure; +plot3(x,y,t); +xlabel("x"); +ylabel("y"); +zlabel("z"); +title('Wheeee!'); +grid on; +daspect([1 1 1]); +view([90 90 20]); diff --git a/hw3/pointer.jpg b/hw3/pointer.jpg new file mode 100644 index 0000000000000000000000000000000000000000..980985447bb871062bac0e1a5174c5255f1189b0 GIT binary patch literal 126259 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

C5YDjngu7aWKTlMofs+-;~*PWqHDV?Hi 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 ePaUc7{n4J($xq3!oYsiVpa0o)1m&v$ literal 0 HcmV?d00001 diff --git a/hw4/Ryan_HW4_022124.m b/hw4/Ryan_HW4_022124.m new file mode 100644 index 0000000..cb2eac9 --- /dev/null +++ b/hw4/Ryan_HW4_022124.m @@ -0,0 +1,221 @@ +%%%% ECE-210-B HW 4 - Functions and Objects +% James Ryan, 02/21/24 + +% preamble +close all; clear; clc; + +%% My Sinc Is Broken +% (1) +% see deriv.m +x = linspace(-5, 5, 1e3); +sinc_x = sinc(x); +deriv_sinc = deriv(sinc_x, x); + +% see antideriv.m +% approximates an integral of a given function using `cumtrapz` +int_sinc = antideriv(sinc_x, x); + +% (2) +% see switchsign.m + +% (3) +[extrema_sinc_x, extrema_x] = extrema(sinc_x, x); +[inflect_sinc_x, inflect_x] = inflections(sinc_x, x); + +% (4) +figure; +plot(x, sinc_x, x, int_sinc, x, deriv_sinc, ... + extrema_x, extrema_sinc_x, 'r*', ... + inflect_x, inflect_sinc_x, 'bo'); +ylim([-2 2.45]); +xlim([-5, 5]); +ylabel("y-axis"); +xlabel("x-axis"); +grid on; +title( {'y = sinc(x) plotted over 1000 evenly spaced pts between x \epsilon [-5,5]', ... + 'Plotted alongside its first derivative and antiderivative.'}); +legend( 'y = sinc(x)',"$\int [sinc(x)] dx$",'$\frac{d}{dx} [sinc(x)]$', ... + 'Points of Extrema', 'Inflection Points', ... + "Interpreter","latex"); + +%% Objectification +% (1) +% Matlab Classic Noteworthy Logo (TM) (C) (Not-for-individual-sale) +L = 160*membrane(1,100); + +f = figure; +ax = axes; + +s = surface(L); +s.EdgeColor = 'none'; +view(3) + +ax.XLim = [1 201]; +ax.YLim = [1 201]; +ax.ZLim = [-53.4 160]; + +ax.CameraPosition = [-145.5 -229.7 283.6]; +ax.CameraTarget = [77.4 60.2 63.9]; +ax.CameraUpVector = [0 0 1]; +ax.CameraViewAngle = 36.7; + +ax.Position = [0 0 1 1]; +ax.DataAspectRatio = [1 1 .9]; + +l1 = light; +l1.Position = [160 400 80]; +l1.Style = 'local'; +l1.Color = [0 0.8 0.8]; + +l2 = light; % l2 = l1; +l2.Position = [.5 -1 .4]; +l2.Color = [0.8 0.8 0]; + +s.FaceColor = [0.9 0.2 0.2]; + +s.FaceLighting = 'gouraud'; +s.AmbientStrength = 0.3; +s.DiffuseStrength = 0.6; +s.BackFaceLighting = 'lit'; + +s.SpecularStrength = 1; +s.SpecularColorReflectance = 1; +s.SpecularExponent = 7; + +axis off +f.Color = 'black'; + +% (2) +% Copyobj is not cooperating. Time to be lazy! +% Matlab Classic Noteworthy Logo (TM) (C) (Not-for-individual-sale) + +f_dupe = figure; +ax_dupe = axes; + +s_dupe = surface(L); +s_dupe.EdgeColor = 'none'; +view(3) + +ax_dupe.XLim = [1 201]; +ax_dupe.YLim = [1 201]; +ax_dupe.ZLim = [-53.4 160]; + +ax_dupe.CameraPosition = [-145.5 -229.7 283.6]; +ax_dupe.CameraTarget = [77.4 60.2 63.9]; +ax_dupe.CameraUpVector = [0 0 1]; +ax_dupe.CameraViewAngle = 36.7; + +ax_dupe.Position = [0 0 1 1]; +ax_dupe.DataAspectRatio = [1 1 .9]; + +l3 = light; +l3.Position = [160 400 80]; +l3.Style = 'local'; +l3.Color = [0 0.8 0.8]; + +l4 = light; % l2 = l1; +l4.Position = [.5 -1 .4]; +l4.Color = [0.8 0.8 0]; + +s_dupe.FaceColor = [0.9 0.2 0.2]; + +s_dupe.FaceLighting = 'gouraud'; +s_dupe.AmbientStrength = 0.3; +s_dupe.DiffuseStrength = 0.6; +s_dupe.BackFaceLighting = 'lit'; + +s_dupe.SpecularStrength = 1; +s_dupe.SpecularColorReflectance = 1; +s_dupe.SpecularExponent = 7; + +axis off +f_dupe.Color = 'black'; + +% James's Changes +% Change one - light at the origin! +l4.Position = [0 0 0]; +l4.Color = [1 1 1]; +% This made the logo significantly more purple! + +% Change two - colormap +colormap winter; +% I didnt really notice a change with this one. + +% Change three - function +s_dupe.FaceLighting = 'flat'; +% I changed the surface! It has different face lighting. Thats changing +% the function, right? +% It helped emphasize the purple-maroon which possesses the shape at the moment + +% Change four - backround +f_dupe.Color = 'red'; +% Hard to miss - the entire background is now red! + +% (3) +figure; + +% Matlab +ax_former = subplot(2,1,1); +copyobj(ax.Children, ax_former); +title('Matlab '); + +ax_former.XLim = [1 201]; +ax_former.YLim = [1 201]; +ax_former.ZLim = [-53.4 160]; +ax_former.XTick = []; +ax_former.YTick = []; +ax_former.ZTick = []; + +ax_former.CameraPosition = [-145.5 -229.7 283.6]; +ax_former.CameraTarget = [77.4 60.2 63.9]; +ax_former.CameraUpVector = [0 0 1]; +ax_former.CameraViewAngle = 36.7; + +l5 = light; +l5.Position = [160 400 80]; +l5.Style = 'local'; +l5.Color = [0 0.8 0.8]; + +l6 = light; % l2 = l1; +l6.Position = [.5 -1 .4]; +l6.Color = [0.8 0.8 0]; + +% James Plot +ax_latter = subplot(2,1,2); +copyobj(ax_dupe.Children, ax_latter); +title('Conspicuous Copycat'); + +ax_latter.XLim = [1 201]; +ax_latter.YLim = [1 201]; +ax_latter.ZLim = [-53.4 160]; +ax_latter.XTick = []; +ax_latter.YTick = []; +ax_latter.ZTick = []; + + +ax_latter.CameraPosition = [-145.5 -229.7 283.6]; +ax_latter.CameraTarget = [77.4 60.2 63.9]; +ax_latter.CameraUpVector = [0 0 1]; +ax_latter.CameraViewAngle = 36.7; + +l7 = light; +l7.Position = [160 400 80]; +l7.Style = 'local'; +l7.Color = [0 0.8 0.8]; + +l8 = light; % l2 = l1; +l8.Position = [.5 -1 .4]; +l8.Color = [0.8 0.8 0]; + +% James's Changes +% Change one - light at the origin! +l8.Position = [0 0 0]; +l8.Color = [1 1 1]; +% This made the logo significantly more purple! + +% (4) +get(f) +f.PaperOrientation = 'landscape'; +f.PaperType = 'a4'; +f.PaperUnits = 'centimeters'; +% My figure now is configured to print in Europe! And its sideways. diff --git a/hw4/antideriv.m b/hw4/antideriv.m new file mode 100644 index 0000000..2f5ccdd --- /dev/null +++ b/hw4/antideriv.m @@ -0,0 +1,3 @@ +function int_Y_dx = antideriv(y, x) + int_Y_dx = ( cumtrapz(y) .* (x(2) - x(1)) ); +end diff --git a/hw4/deriv.m b/hw4/deriv.m new file mode 100644 index 0000000..709929b --- /dev/null +++ b/hw4/deriv.m @@ -0,0 +1,4 @@ +function dy = deriv(y, x) + dy = diff(y) ./ (x(2) - x(1)); + dy = dy([1 1:end]); +end diff --git a/hw4/extrema.m b/hw4/extrema.m new file mode 100644 index 0000000..9f68056 --- /dev/null +++ b/hw4/extrema.m @@ -0,0 +1,5 @@ +function [y_ext, x_ext] = extrema(y, x) + y_switch = switchsign( deriv(y, x) ); + y_ext = nonzeros(y_switch .* y); + x_ext = nonzeros(y_switch .* x); +end diff --git a/hw4/feedback/Ryan_HW4_022124_feedback.m b/hw4/feedback/Ryan_HW4_022124_feedback.m new file mode 100644 index 0000000..0fc9207 --- /dev/null +++ b/hw4/feedback/Ryan_HW4_022124_feedback.m @@ -0,0 +1,231 @@ +%%%% ECE-210-B HW 4 - Functions and Objects +% James Ryan, 02/21/24 + +% preamble +close all; clear; clc; + +%% My Sinc Is Broken +% (1) +% see deriv.m +x = linspace(-5, 5, 1e3); +sinc_x = sinc(x); +deriv_sinc = deriv(sinc_x, x); + +% see antideriv.m +% approximates an integral of a given function using `cumtrapz` +int_sinc = antideriv(sinc_x, x); + +% (2) +% see switchsign.m + +% (3) +[extrema_sinc_x, extrema_x] = extrema(sinc_x, x); +[inflect_sinc_x, inflect_x] = inflections(sinc_x, x); + +% (4) +figure; +plot(x, sinc_x, x, int_sinc, x, deriv_sinc, ... + extrema_x, extrema_sinc_x, 'r*', ... + inflect_x, inflect_sinc_x, 'bo'); +ylim([-2 2.45]); +xlim([-5, 5]); +ylabel("y-axis"); +xlabel("x-axis"); +grid on; +title( {'y = sinc(x) plotted over 1000 evenly spaced pts between x \epsilon [-5,5]', ... + 'Plotted alongside its first derivative and antiderivative.'}); +legend( 'y = sinc(x)',"$\int [sinc(x)] dx$",'$\frac{d}{dx} [sinc(x)]$', ... + 'Points of Extrema', 'Inflection Points', ... + "Interpreter","latex"); + % <+.02> this is a very pretty legend. + +%% Objectification +% (1) +% Matlab Classic Noteworthy Logo (TM) (C) (Not-for-individual-sale) +L = 160*membrane(1,100); + +f = figure; +ax = axes; + +s = surface(L); +s.EdgeColor = 'none'; +view(3) + +ax.XLim = [1 201]; +ax.YLim = [1 201]; +ax.ZLim = [-53.4 160]; + +ax.CameraPosition = [-145.5 -229.7 283.6]; +ax.CameraTarget = [77.4 60.2 63.9]; +ax.CameraUpVector = [0 0 1]; +ax.CameraViewAngle = 36.7; + +ax.Position = [0 0 1 1]; +ax.DataAspectRatio = [1 1 .9]; + +l1 = light; +l1.Position = [160 400 80]; +l1.Style = 'local'; +l1.Color = [0 0.8 0.8]; + +l2 = light; % l2 = l1; +l2.Position = [.5 -1 .4]; +l2.Color = [0.8 0.8 0]; + +s.FaceColor = [0.9 0.2 0.2]; + +s.FaceLighting = 'gouraud'; +s.AmbientStrength = 0.3; +s.DiffuseStrength = 0.6; +s.BackFaceLighting = 'lit'; + +s.SpecularStrength = 1; +s.SpecularColorReflectance = 1; +s.SpecularExponent = 7; + +axis off +f.Color = 'black'; + +% (2) +% Copyobj is not cooperating. Time to be lazy! +% Matlab FOR MS-DOS! Noteworthy Logo (TM) (C) (Not-for-individual-sale) +disk_operating_system = 2; +L_disk_operating_system = disk_operating_system .* L; + + +f_dupe = figure; +ax_dupe = axes; + +s_dupe = surface(L_disk_operating_system); +s_dupe.EdgeColor = 'none'; +view(3) + +ax_dupe.XLim = disk_operating_system .* [1 201]; +ax_dupe.YLim = disk_operating_system .* [1 201]; +ax_dupe.ZLim = disk_operating_system .* [-53.4 160]; + +ax_dupe.CameraPosition = disk_operating_system .* [-145.5 -229.7 283.6]; +ax_dupe.CameraTarget = disk_operating_system .* [77.4 60.2 63.9]; +ax_dupe.CameraUpVector = [0 0 1]; +ax_dupe.CameraViewAngle = 36.7; + +ax_dupe.Position = [0 0 1 1]; +ax_dupe.DataAspectRatio = [1 1 .9]; + +l3 = light; +l3.Position = [160 400 80]; +l3.Style = 'local'; +l3.Color = [0 0.8 0.8]; + +l4 = light; % l2 = l1; +l4.Position = [.5 -1 .4]; +l4.Color = [0.8 0.8 0]; + +s_dupe.FaceColor = [0.9 0.2 0.2]; + +s_dupe.FaceLighting = 'gouraud'; +s_dupe.AmbientStrength = 0.3; +s_dupe.DiffuseStrength = 0.6; +s_dupe.BackFaceLighting = 'lit'; + +s_dupe.SpecularStrength = 1; +s_dupe.SpecularColorReflectance = 1; +s_dupe.SpecularExponent = 7; + +axis off +f_dupe.Color = 'black'; + +% James's Changes +% Change one - light at the origin! +l4.Position = [0 0 0]; +l4.Color = [1 1 1]; +% This made the logo significantly more purple! + +% Change two - colormap +colormap winter; +% I didnt really notice a change with this one. + +% Change three - function +s_dupe.FaceLighting = 'flat'; +% I changed the surface! It has different face lighting. Thats changing +% the function, right? +% It helped emphasize the purple-maroon which possesses the shape at the moment + +% Change four - backround +f_dupe.Color = 'red'; +% Hard to miss - the entire background is now red! + +% (3) +f_both = figure; + +% Matlab +ax_former = subplot(1,2,1); +copyobj(ax.Children, ax_former); +title('Matlab '); + +ax_former.XLim = [1 201]; +ax_former.YLim = [1 201]; +ax_former.ZLim = [-53.4 160]; +ax_former.XTick = []; +ax_former.YTick = []; +ax_former.ZTick = []; + +ax_former.CameraPosition = [-145.5 -229.7 283.6]; +ax_former.CameraTarget = [77.4 60.2 63.9]; +ax_former.CameraUpVector = [0 0 1]; +ax_former.CameraViewAngle = 36.7; + +l5 = light; +l5.Position = [160 400 80]; +l5.Style = 'local'; +l5.Color = [0 0.8 0.8]; + +l6 = light; % l2 = l1; +l6.Position = [.5 -1 .4]; +l6.Color = [0.8 0.8 0]; + +% James Plot Matlab for DOS +ax_latter = subplot(1,2,2); +copyobj(ax_dupe.Children, ax_latter); +title('Conspicuous Copycat'); + % <+.02> MATLAB for DOS lol + +% disk operating system, or DOS, is 2 for short :) + +ax_latter.XLim = disk_operating_system .* [1 201]; +ax_latter.YLim = disk_operating_system .* [1 201]; +ax_latter.ZLim = disk_operating_system .* [-53.4 160]; +ax_latter.XTick = []; +ax_latter.YTick = []; +ax_latter.ZTick = []; + + +ax_latter.CameraPosition = disk_operating_system .* [-145.5 -229.7 283.6]; +ax_latter.CameraTarget = disk_operating_system .* [77.4 60.2 63.9]; +ax_latter.CameraUpVector = [0 0 1]; +ax_latter.CameraViewAngle = 36.7; + +l7 = light; +l7.Position = [160 400 80]; +l7.Style = 'local'; +l7.Color = [0 0.8 0.8]; + +l8 = light; % l2 = l1; +l8.Position = [.5 -1 .4]; +l8.Color = [0.8 0.8 0]; + +f_both.Color = 'green'; + +% James's Changes +% Change one - light at the origin! +l8.Position = [0 0 0]; +l8.Color = [1 1 1]; +% This made the logo significantly more purple! + +% (4) +%get(f) +f.PaperOrientation = 'landscape'; +f.PaperType = 'a4'; +f.PaperUnits = 'centimeters'; +% My figure now is configured to print in Europe! And its sideways. + % <+.01> lmao, incredible diff --git a/hw4/feedback/antideriv.m b/hw4/feedback/antideriv.m new file mode 100644 index 0000000..2f5ccdd --- /dev/null +++ b/hw4/feedback/antideriv.m @@ -0,0 +1,3 @@ +function int_Y_dx = antideriv(y, x) + int_Y_dx = ( cumtrapz(y) .* (x(2) - x(1)) ); +end diff --git a/hw4/feedback/deriv.m b/hw4/feedback/deriv.m new file mode 100644 index 0000000..709929b --- /dev/null +++ b/hw4/feedback/deriv.m @@ -0,0 +1,4 @@ +function dy = deriv(y, x) + dy = diff(y) ./ (x(2) - x(1)); + dy = dy([1 1:end]); +end diff --git a/hw4/feedback/extrema.m b/hw4/feedback/extrema.m new file mode 100644 index 0000000..9f68056 --- /dev/null +++ b/hw4/feedback/extrema.m @@ -0,0 +1,5 @@ +function [y_ext, x_ext] = extrema(y, x) + y_switch = switchsign( deriv(y, x) ); + y_ext = nonzeros(y_switch .* y); + x_ext = nonzeros(y_switch .* x); +end diff --git a/hw4/feedback/inflections.m b/hw4/feedback/inflections.m new file mode 100644 index 0000000..ad23a8b --- /dev/null +++ b/hw4/feedback/inflections.m @@ -0,0 +1,5 @@ +function [y_inf, x_inf] = inflections(y, x) + y_switch = switchsign( deriv(deriv(y, x), x) ); + y_inf = nonzeros(y_switch .* y); + x_inf = nonzeros(y_switch .* x); +end diff --git a/hw4/feedback/switchsign.m b/hw4/feedback/switchsign.m new file mode 100644 index 0000000..16677d6 --- /dev/null +++ b/hw4/feedback/switchsign.m @@ -0,0 +1,17 @@ +% cursed + % lmao +% basically - I take pairs of adjacent values on the vector `x` and add them +% together. These sums are then checked against both members of the pair, +% and if either member is *larger* than the sum, that indicates a sign change +% since one of the values acted as a subtractor. +% "Glue" is added in the comparison stage, to skew ONLY on cases where +% we are comparing zero to zero (origin case). Its really a rounding error otherwise. lol +% The front is padded w/ a zero. +function ret = switchsign(x) + sum_check = x(1:end-1) + x(2:end); + ret = [0, ( abs(sum_check) < abs(x(1:end-1)+1e-7) ) | ( abs(sum_check) < abs(x(2:end)+1e-7) ) ]; +end + % <-.01> works here (this is insane), but technically has an + % error: calling `switchsign([-1 2 1 0 1 -3])` (the example i + % gave) returns `[0 1 0 1 1 1]` rather than `[0 1 0 0 0 1]`. + % not that that really matters. sorry... diff --git a/hw4/inflections.m b/hw4/inflections.m new file mode 100644 index 0000000..ad23a8b --- /dev/null +++ b/hw4/inflections.m @@ -0,0 +1,5 @@ +function [y_inf, x_inf] = inflections(y, x) + y_switch = switchsign( deriv(deriv(y, x), x) ); + y_inf = nonzeros(y_switch .* y); + x_inf = nonzeros(y_switch .* x); +end diff --git a/hw4/switchsign.m b/hw4/switchsign.m new file mode 100644 index 0000000..c8c02ac --- /dev/null +++ b/hw4/switchsign.m @@ -0,0 +1,12 @@ +% cursed +% basically - I take pairs of adjacent values on the vector `x` and add them +% together. These sums are then checked against both members of the pair, +% and if either member is *larger* than the sum, that indicates a sign change +% since one of the values acted as a subtractor. +% "Glue" is added in the comparison stage, to skew ONLY on cases where +% we are comparing zero to zero (origin case). Its really a rounding error otherwise. lol +% The front is padded w/ a zero. +function ret = switchsign(x) + sum_check = x(1:end-1) + x(2:end); + ret = [0, ( abs(sum_check) < abs(x(1:end-1)+1e-7) ) | ( abs(sum_check) < abs(x(2:end)+1e-7) ) ]; +end diff --git a/hw5/Ryan_HW5_ECE210.m b/hw5/Ryan_HW5_ECE210.m new file mode 100644 index 0000000..bd512a6 --- /dev/null +++ b/hw5/Ryan_HW5_ECE210.m @@ -0,0 +1,121 @@ +%%%% ECE-210-B HW5 - Advanced Manipulations - James Ryan +% James Ryan, 03/18/24 + +% preamble +close all; clc; clear; + +%% On the Air +% 1 +R = [-9:9] + fliplr([-9:9]).'.*j; + +% 2 +n = [1:50]; +t = [linspace(0,1,1e5)].'; +sin_int = sum(trapz(sin(t.^n)) .* (t(2) - t(1)), 'all'); + +% 3 +% a +[theta, phi] = meshgrid(... + linspace(0, 2*pi, 5), ... + linspace(0, pi, 5)); +% b +x = sin(phi) .* cos(theta); +y = sin(phi) .* sin(theta); +z = cos(phi); + +% c +figure; +surf(x,y,z); +pbaspect([1 1 1]); +colormap winter; + +title("The best sphere"); +xlabel("over axis") +ylabel("yonder axis") +zlabel("up axis") + +%% Under the Sea +% 1 +interest = sin(linspace(0,5,100).*linspace(-5,0,100).'); +half_extract = ( abs(interest - .5) < (5/1000) ) .* interest; % < min quantized val +indices = find(half_extract); + +% 2 +% find area on xy where both intersect +% volume of z2 - volume of z1 +% incomplete for now +x = linspace(0, 10, 1000); +intersect = (1/4).*sqrt(x.^2 + (x.').^2) == exp(-(1-x.*x.').^2); +volume = (... + ( cumtrapz( (1/4).*sqrt(x.^2 + (x.').^2) .* (x(2) - x(1)) )) - ... + ( cumtrapz( exp(-(1-x.*x.').^2 ) .* (x(2) - x(1)) ))... + ) .* intersect; + +%% I Need a Vacation +% 1 +A_vals = sqrt(... + ([1:256] - 99).^2 + ... + ([1:256].' - 99).^2); +A = A_vals < 29; + +% What's happening here is that our A indices are taken, shifted "down" 99 +% values, and then a norm is taken on them. If its final norm is < 29, its true! +% otherwise, they're false. +% Theres a circle localized around an origin of (i,j) = (99,99), and extends +% out. This makes sense! relative to everywhere else, this is our lowest value, +% and it creates the smallest norm we see (zer0). +% This holds experimentally! If we change 29 to 1, we just get a single teeny +% pixel at (99,99), surrounded by a false sea. So, the equality we have acts +% to give our circle some radius. +figure; +imshow(A); + +% 2 +B_vals = sqrt(... + ([1:256] - 62).^2 + ... + ([1:256].' - 62).^2); +B = B_vals < 58; + +% Close to the previous idea, however we shift down only by 68 units, so our +% origin is (68, 68). +% We have a larger radius, given we doubled our tolerance for whats true. + +figure; +imshow(B); + +% 3 +C_vals = [1:256] - 4.*sin(([1:256].'./10)); +C = C_vals > 200; + +% We get a vertical ripple!! The ripple runs along our y axis and has a period +% of 10 and a peak-to-trough distance of 8. This acts as a wavefront from our +% true shoreline and our false sea. +figure; +imshow(C); + +% 4 +S_vals = rand(256, 256, 3); +S = permute(permute(S_vals,[3 1 2]) .* [0 0 1].', [2 3 1]); + +% Interpreting this as a 256 x 256 image with 3 color channels, it looks +% like we applied a filter to kill R and G! We're left with the blue channel +figure; +imshow(S); + +% 5 +M = A & ~B; + +% We get a crescent moon! The portion of B that cast over A was negated and +% compared, which resulted in that poriton being removed. +% We're left with the parts of A that was free from B's grasp +figure; +imshow(M); + +% 6 +Z = (C .* S) + M; + +% Its a scene of a beach! Our moon is casting its light onto the dark beach, +% as the water casts itself onto the shore. +% reminds me of good times :D +figure; +imshow(Z); diff --git a/hw5/feedback/JamesRyan_HW5_ECE210_feedback.m b/hw5/feedback/JamesRyan_HW5_ECE210_feedback.m new file mode 100644 index 0000000..676e3cd --- /dev/null +++ b/hw5/feedback/JamesRyan_HW5_ECE210_feedback.m @@ -0,0 +1,150 @@ +%%%% ECE-210-B HW5 - Advanced Manipulations - James Ryan +% James Ryan, 03/18/24 + +% preamble +close all; clc; clear; + +%% On the Air +% 1 +R = [-9:9] + fliplr([-9:9]).'.*j; + +% 2 +n = [1:50]; +t = [linspace(0,1,1e5)].'; +sin_int = sum(trapz(sin(t.^n)) .* (t(2) - t(1)), 'all'); + % <-.02> erm... the integral calculation seems to be correct + % (though `trapz` has an independent variable argument), but + % why the `sum` at the end? should have said this was supposed + % to be 50 different integral estimates in parallel. :p + +% 3 +% a +[theta, phi] = meshgrid(... + linspace(0, 2*pi, 5), ... + linspace(0, pi, 5)); +% b +x = sin(phi) .* cos(theta); +y = sin(phi) .* sin(theta); +z = cos(phi); + +% c +figure; +surf(x,y,z); +pbaspect([1 1 1]); +colormap winter; + +title("The best sphere"); +xlabel("over axis") +ylabel("yonder axis") +zlabel("up axis") + +%% Under the Sea +% 1 +interest = sin(linspace(0,5,100).*linspace(-5,0,100).'); +half_extract = ( abs(interest - .5) < (5/1000) ) .* interest; % < min quantized val +indices = find(half_extract); + % <-.06> two things: + % 1. the minimum quantized value is pretty uncertain after + % you pass the input through the sine function -- in fact, + % the nearest points are (i think) significantly closer than + % this. you'll have to use `min` to find them. + % 2. i did say something about 2D indices, but that's less + % important -- linear indices often work just as well. + +% 2 +X = linspace(-5,5,100); +[x, y] = meshgrid(X, X); +intersect = (1/4).*sqrt(x.^2 + y.^2) < exp(-(1-x.*y).^2); +% integral(end) = volume +integral = cumtrapz(X, cumtrapz(X, exp(-(1-x.*y).^2).*intersect, 2)); + % <-.02> not, alas, the volume contained between the surfaces, + % but just the volume under the first surface and above the + % xy-plane. i think that's just a small oversight, though. + + +figure; +surf(x, y, exp(-(1-x.*y).^2).*intersect); +xlabel("X Axis"); +ylabel("Y Axis"); +zlabel("Z Axis"); +title('Volume representing $\frac{1}{4}\sqrt{x^2 + y^2} < e^{-(1-x * y)^2}$',... + 'interpreter', 'latex'); +pbaspect([4 4 3]) + % <+.02> volume is consistent with the above, so i'll give a + % few points. + + +%% I Need a Vacation +% 1 +A_vals = sqrt(... + ([1:256] - 99).^2 + ... + ([1:256].' - 99).^2); +A = A_vals < 29; + +% What's happening here is that our A indices are taken, shifted "down" 99 +% values, and then a norm is taken on them. If its final norm is < 29, its true! +% otherwise, they're false. +% Theres a circle localized around an origin of (i,j) = (99,99), and extends +% out. This makes sense! relative to everywhere else, this is our lowest value, +% and it creates the smallest norm we see (zer0). +% This holds experimentally! If we change 29 to 1, we just get a single teeny +% pixel at (99,99), surrounded by a false sea. So, the equality we have acts +% to give our circle some radius. +figure; +imshow(A); + +% 2 +B_vals = sqrt(... + ([1:256] - 62).^2 + ... + ([1:256].' - 62).^2); +B = B_vals < 58; + +% Close to the previous idea, however we shift down only by 68 units, so our +% origin is (68, 68). +% We have a larger radius, given we doubled our tolerance for whats true. + +figure; +imshow(B); + +% 3 +C_vals = [1:256] - 4.*sin(([1:256].'./10)); +C = C_vals > 200; + % <-.02> traditionally, the i index is the first index in the + % MATLAB sense -- that is, the index which increments down each + % column, not across each row. in short, (x, y) ←→ (j, i), + % whereas you effectively have y equivalent to j. + +% We get a vertical ripple!! The ripple runs along our y axis and has a period +% of 10 and a peak-to-trough distance of 8. This acts as a wavefront from our +% true shoreline and our false sea. +figure; +imshow(C); + +% 4 +S_vals = rand(256, 256, 3); +S = permute(permute(S_vals,[3 1 2]) .* [0 0 1].', [2 3 1]); + +% Interpreting this as a 256 x 256 image with 3 color channels, it looks +% like we applied a filter to kill R and G! We're left with the blue channel +figure; +imshow(S); + +% 5 +M = A & ~B; + +% We get a crescent moon! The portion of B that cast over A was negated and +% compared, which resulted in that poriton being removed. +% We're left with the parts of A that was free from B's grasp +figure; +imshow(M); + +% 6 +Z = (C .* S) + M; + +% Its a scene of a beach! Our moon is casting its light onto the dark beach, +% as the water casts itself onto the shore. +% reminds me of good times :D +figure; +imshow(Z); + % ahhhh, that it does me. figured y'all could use something + % calming. diff --git a/hw6/Ryan_HW6_ECE210.m b/hw6/Ryan_HW6_ECE210.m new file mode 100644 index 0000000..a8fe128 --- /dev/null +++ b/hw6/Ryan_HW6_ECE210.m @@ -0,0 +1,136 @@ +%%%% ECE-210-B HW6 - Filters - James Ryan +% James Ryan, 03/27/24 + +% preamble +close all; clc; clear; + +%% Generate white noise +Fs = 44100; % Hz = s^-1 +N = Fs*2; % 2s * 44100 samples/sec = 88200 samples of noise +F = linspace(-Fs/2, Fs/2, N); % range of noise + +% noise generation +% good way +noise = randn(1, N); % intensity of noise + +% funny way - requires `fortune` as a dependency +%noise = fortune_favors_the_fontaine(Fs, 2); + +% thank you! +shifted_fft_mag = @(sig, len) fftshift(abs(fft(sig, len))) / len; + + +%% Butterworth Filter +Hbutter = butterworth; +fvm_butter = fvtool(Hbutter, 'magnitude'); +axm_butter = fvm_butter.Children(5); +axm_butter.YLim = [-60 5]; +axm_butter.Title.String = 'Butterworth Bandpass Filter Magnitude Plot'; + +fvp_butter = fvtool(Hbutter, 'phase'); +axp_butter = fvp_butter.Children(5); +axp_butter.Title.String = 'Butterworth Bandpass Filter Phase Plot'; + +butter_noise = Hbutter.filter(noise); + +fftm_butter = shifted_fft_mag(butter_noise, N); + +figure; +plot(F, fftm_butter); +xlim([-Fs/2 Fs/2]); +xlabel("Frequency (Hz)"); +ylabel("Magnitude (dB)"); +title("FFT of noisy signal passed through Butterworth Bandpass Filter"); + +% to save you, i played it back in the matlab terminal: +%soundsc(noise) +%soundsc(fftm_butter) +% to me, its just a mostly mute audio track minus two bursts of sound. +% that must be the negative and positive passband regions +% so the filter took the noise, and just took the regions outside of +% the band and killed them. + +%% Elliptic Filter +Hellip = elliptic; +fvm_ellip = fvtool(Hellip, 'magnitude'); +axm_ellip = fvm_ellip.Children(5); +axm_ellip.YLim = [-60 5]; +axm_ellip.Title.String = 'Elliptical Bandstop Filter Magnitude Plot'; + +fvp_ellip = fvtool(Hellip, 'phase'); +axp_ellip = fvp_ellip.Children(5); +axp_ellip.Title.String = 'Elliptical Bandstop Filter Phase Plot'; + +ellip_noise = Hellip.filter(noise); + +fftm_ellip = shifted_fft_mag(ellip_noise, N); + +figure; +plot(F, fftm_ellip); +xlim([-Fs/2 Fs/2]); +xlabel("Frequency (Hz)"); +ylabel("Magnitude (dB)"); +title("FFT of noisy signal passed through Elliptical Bandstop Filter"); + +%soundsc(fftm_ellip) +% I can hear this one.. come back? like very faintly +% I guess it goes to show how butterworth doesnt have that elliptic +% stopband portion, and everything decays to -inf dB. Interesting +% difference! +% same pattern as the past passband + +%% Chebyshev Type 1 Filter +Hcheb1 = chebyshev1; +fvm_cheb1 = fvtool(Hcheb1, 'magnitude'); +axm_cheb1 = fvm_cheb1.Children(5); +axm_cheb1.YLim = [-60 5]; +axm_cheb1.Title.String = 'Chebyshev Type I Lowpass Filter Magnitude Plot'; + +fvp_cheb1 = fvtool(Hcheb1, 'phase'); +axp_cheb1 = fvp_cheb1.Children(5); +axp_cheb1.Title.String = 'Chebyshev Type I Lowpass Filter Phase Plot'; + +cheb1_noise = Hcheb1.filter(noise); + +fftm_cheb1 = shifted_fft_mag(cheb1_noise, N); + +figure; +plot(F, fftm_cheb1); +xlim([-Fs/2 Fs/2]); +xlabel("Frequency (Hz)"); +ylabel("Magnitude (dB)"); +title("FFT of noisy signal passed through Chebyshev I Lowpass Filter"); + +%soundsc(fftm_cheb1) +% It sounds choppy, almost, where it wibbles in and out for the starting portion +% where its present. Definitely not the choice for audio filters! +% Unless you `want` that distortion in like music production, in which case, go for it +% Sort of sounds like a car engine firing + +%% Chebyshev Type 2 Filter +Hcheb2 = chebyshev2; +fvm_cheb2 = fvtool(Hcheb2, 'magnitude'); +axm_cheb2 = fvm_cheb2.Children(5); +axm_cheb2.YLim = [-60 5]; +axm_cheb2.Title.String = 'Chebyshev Type I Highpass Filter Magnitude Plot'; + +fvp_cheb2 = fvtool(Hcheb2, 'phase'); +axp_cheb2 = fvp_cheb2.Children(5); +axp_cheb2.Title.String = 'Chebyshev Type II Highpass Filter Phase Plot'; + +cheb2_noise = Hcheb2.filter(noise); + +fftm_cheb2 = shifted_fft_mag(cheb2_noise, N); + +figure; +plot(F, fftm_cheb2); +xlim([-Fs/2 Fs/2]); +xlabel("Frequency (Hz)"); +ylabel("Magnitude (dB)"); +title("FFT of noisy signal passed through Chebyshev II Highpass Filter"); + +%soundsc(fftm_cheb2) +% Its passband is sorta similar to the butterworth passband, but its die-out +% has an audible drop off to me. maybe i missed that in others with elliptic +% stop bands? No just played back fftm_ellip, and that dropped immediately. hmm +% placebo, perhaps diff --git a/hw6/butterworth.m b/hw6/butterworth.m new file mode 100644 index 0000000..5934d1b --- /dev/null +++ b/hw6/butterworth.m @@ -0,0 +1,27 @@ +function Hd = butterworth +%BUTTERWORTH Returns a discrete-time filter object. + +% MATLAB Code +% Generated by MATLAB(R) 23.2 and Signal Processing Toolbox 23.2. +% Generated on: 27-Mar-2024 18:56:52 + +% Butterworth Bandpass filter designed using FDESIGN.BANDPASS. + +% All frequency values are in Hz. +Fs = 44100; % Sampling Frequency + +Fstop1 = 6300; % First Stopband Frequency +Fpass1 = 7350; % First Passband Frequency +Fpass2 = 14700; % Second Passband Frequency +Fstop2 = 17640; % Second Stopband Frequency +Astop1 = 50; % First Stopband Attenuation (dB) +Apass = 1; % Passband Ripple (dB) +Astop2 = 50; % Second Stopband Attenuation (dB) +match = 'stopband'; % Band to match exactly + +% Construct an FDESIGN object and call its BUTTER method. +h = fdesign.bandpass(Fstop1, Fpass1, Fpass2, Fstop2, Astop1, Apass, ... + Astop2, Fs); +Hd = design(h, 'butter', 'MatchExactly', match); + +% [EOF] diff --git a/hw6/chebyshev1.m b/hw6/chebyshev1.m new file mode 100644 index 0000000..c3d2d87 --- /dev/null +++ b/hw6/chebyshev1.m @@ -0,0 +1,12 @@ +function Hcheb = chebyshev1 + Fs = 44100; + + Fpass = Fs/9; + Fstop = Fs/8; + + Apass = 5; + Astop = 40; + + specs = fdesign.lowpass(Fpass, Fstop, Apass, Astop, Fs); + Hcheb = design(specs,"cheby1",MatchExactly="passband"); +end diff --git a/hw6/chebyshev2.m b/hw6/chebyshev2.m new file mode 100644 index 0000000..b45b2a7 --- /dev/null +++ b/hw6/chebyshev2.m @@ -0,0 +1,12 @@ +function Hcheb = chebyshev2 + Fs = 44100; + + Fpass = Fs/3; + Fstop = Fs/4; + + Apass = 5; + Astop = 40; + + specs = fdesign.highpass(Fstop, Fpass, Astop, Apass, Fs); + Hcheb = design(specs,"cheby2",MatchExactly="passband"); +end diff --git a/hw6/elliptic.m b/hw6/elliptic.m new file mode 100644 index 0000000..bbc85b4 --- /dev/null +++ b/hw6/elliptic.m @@ -0,0 +1,27 @@ +function Hd = elliptic +%ELLIPTIC Returns a discrete-time filter object. + +% MATLAB Code +% Generated by MATLAB(R) 23.2 and Signal Processing Toolbox 23.2. +% Generated on: 27-Mar-2024 18:58:12 + +% Elliptic Bandstop filter designed using FDESIGN.BANDSTOP. + +% All frequency values are in Hz. +Fs = 44100; % Sampling Frequency + +Fpass1 = 6300; % First Passband Frequency +Fstop1 = 7350; % First Stopband Frequency +Fstop2 = 14700; % Second Stopband Frequency +Fpass2 = 17640; % Second Passband Frequency +Apass1 = 1; % First Passband Ripple (dB) +Astop = 50; % Stopband Attenuation (dB) +Apass2 = 1; % Second Passband Ripple (dB) +match = 'both'; % Band to match exactly + +% Construct an FDESIGN object and call its ELLIP method. +h = fdesign.bandstop(Fpass1, Fstop1, Fstop2, Fpass2, Apass1, Astop, ... + Apass2, Fs); +Hd = design(h, 'ellip', 'MatchExactly', match); + +% [EOF] diff --git a/hw6/feedback/Ryan_HW6_ECE210.m b/hw6/feedback/Ryan_HW6_ECE210.m new file mode 100644 index 0000000..7985bfb --- /dev/null +++ b/hw6/feedback/Ryan_HW6_ECE210.m @@ -0,0 +1,138 @@ +%%%% ECE-210-B HW6 - Filters - James Ryan +% James Ryan, 03/27/24 + +% preamble +close all; clc; clear; + +%% Generate white noise +Fs = 44100; % Hz = s^-1 +N = Fs*2; % 2s * 44100 samples/sec = 88200 samples of noise +F = linspace(-Fs/2, Fs/2, N); % range of noise + +% noise generation +% good way +noise = randn(1, N); % intensity of noise + +% funny way - requires `fortune` as a dependency +%noise = fortune_favors_the_fontaine(Fs, 2); + +% thank you! + % you're welcome! +shifted_fft_mag = @(sig, len) fftshift(abs(fft(sig, len))) / len; + + +%% Butterworth Filter + % had to change `5` to `end`, but otherwise perfect. +Hbutter = butterworth; +fvm_butter = fvtool(Hbutter, 'magnitude'); +axm_butter = fvm_butter.Children(end); +axm_butter.YLim = [-60 5]; +axm_butter.Title.String = 'Butterworth Bandpass Filter Magnitude Plot'; + +fvp_butter = fvtool(Hbutter, 'phase'); +axp_butter = fvp_butter.Children(end); +axp_butter.Title.String = 'Butterworth Bandpass Filter Phase Plot'; + +butter_noise = Hbutter.filter(noise); + +fftm_butter = shifted_fft_mag(butter_noise, N); + +figure; +plot(F, fftm_butter); +xlim([-Fs/2 Fs/2]); +xlabel("Frequency (Hz)"); +ylabel("Magnitude (dB)"); +title("FFT of noisy signal passed through Butterworth Bandpass Filter"); + +% to save you, i played it back in the matlab terminal: +%soundsc(noise) +%soundsc(fftm_butter) +% to me, its just a mostly mute audio track minus two bursts of sound. +% that must be the negative and positive passband regions +% so the filter took the noise, and just took the regions outside of +% the band and killed them. + +%% Elliptic Filter +Hellip = elliptic; +fvm_ellip = fvtool(Hellip, 'magnitude'); +axm_ellip = fvm_ellip.Children(end); +axm_ellip.YLim = [-60 5]; +axm_ellip.Title.String = 'Elliptical Bandstop Filter Magnitude Plot'; + +fvp_ellip = fvtool(Hellip, 'phase'); +axp_ellip = fvp_ellip.Children(end); +axp_ellip.Title.String = 'Elliptical Bandstop Filter Phase Plot'; + +ellip_noise = Hellip.filter(noise); + +fftm_ellip = shifted_fft_mag(ellip_noise, N); + +figure; +plot(F, fftm_ellip); +xlim([-Fs/2 Fs/2]); +xlabel("Frequency (Hz)"); +ylabel("Magnitude (dB)"); +title("FFT of noisy signal passed through Elliptical Bandstop Filter"); + +%soundsc(fftm_ellip) +% I can hear this one.. come back? like very faintly +% I guess it goes to show how butterworth doesnt have that elliptic +% stopband portion, and everything decays to -inf dB. Interesting +% difference! +% same pattern as the past passband + +%% Chebyshev Type 1 Filter +Hcheb1 = chebyshev1; +fvm_cheb1 = fvtool(Hcheb1, 'magnitude'); +axm_cheb1 = fvm_cheb1.Children(end); +axm_cheb1.YLim = [-60 5]; +axm_cheb1.Title.String = 'Chebyshev Type I Lowpass Filter Magnitude Plot'; + +fvp_cheb1 = fvtool(Hcheb1, 'phase'); +axp_cheb1 = fvp_cheb1.Children(end); +axp_cheb1.Title.String = 'Chebyshev Type I Lowpass Filter Phase Plot'; + +cheb1_noise = Hcheb1.filter(noise); + +fftm_cheb1 = shifted_fft_mag(cheb1_noise, N); + +figure; +plot(F, fftm_cheb1); +xlim([-Fs/2 Fs/2]); +xlabel("Frequency (Hz)"); +ylabel("Magnitude (dB)"); +title("FFT of noisy signal passed through Chebyshev I Lowpass Filter"); + +%soundsc(fftm_cheb1) +% It sounds choppy, almost, where it wibbles in and out for the starting portion +% where its present. Definitely not the choice for audio filters! +% Unless you `want` that distortion in like music production, in which case, go for it +% Sort of sounds like a car engine firing + +%% Chebyshev Type 2 Filter +Hcheb2 = chebyshev2; +fvm_cheb2 = fvtool(Hcheb2, 'magnitude'); +axm_cheb2 = fvm_cheb2.Children(end); +axm_cheb2.YLim = [-60 5]; +axm_cheb2.Title.String = 'Chebyshev Type I Highpass Filter Magnitude Plot'; + +fvp_cheb2 = fvtool(Hcheb2, 'phase'); +axp_cheb2 = fvp_cheb2.Children(end); +axp_cheb2.Title.String = 'Chebyshev Type II Highpass Filter Phase Plot'; + +cheb2_noise = Hcheb2.filter(noise); + +fftm_cheb2 = shifted_fft_mag(cheb2_noise, N); + +figure; +plot(F, fftm_cheb2); +xlim([-Fs/2 Fs/2]); +xlabel("Frequency (Hz)"); +ylabel("Magnitude (dB)"); +title("FFT of noisy signal passed through Chebyshev II Highpass Filter"); + +%soundsc(fftm_cheb2) +% Its passband is sorta similar to the butterworth passband, but its die-out +% has an audible drop off to me. maybe i missed that in others with elliptic +% stop bands? No just played back fftm_ellip, and that dropped immediately. hmm +% placebo, perhaps diff --git a/hw6/feedback/butterworth.m b/hw6/feedback/butterworth.m new file mode 100644 index 0000000..5934d1b --- /dev/null +++ b/hw6/feedback/butterworth.m @@ -0,0 +1,27 @@ +function Hd = butterworth +%BUTTERWORTH Returns a discrete-time filter object. + +% MATLAB Code +% Generated by MATLAB(R) 23.2 and Signal Processing Toolbox 23.2. +% Generated on: 27-Mar-2024 18:56:52 + +% Butterworth Bandpass filter designed using FDESIGN.BANDPASS. + +% All frequency values are in Hz. +Fs = 44100; % Sampling Frequency + +Fstop1 = 6300; % First Stopband Frequency +Fpass1 = 7350; % First Passband Frequency +Fpass2 = 14700; % Second Passband Frequency +Fstop2 = 17640; % Second Stopband Frequency +Astop1 = 50; % First Stopband Attenuation (dB) +Apass = 1; % Passband Ripple (dB) +Astop2 = 50; % Second Stopband Attenuation (dB) +match = 'stopband'; % Band to match exactly + +% Construct an FDESIGN object and call its BUTTER method. +h = fdesign.bandpass(Fstop1, Fpass1, Fpass2, Fstop2, Astop1, Apass, ... + Astop2, Fs); +Hd = design(h, 'butter', 'MatchExactly', match); + +% [EOF] diff --git a/hw6/feedback/chebyshev1.m b/hw6/feedback/chebyshev1.m new file mode 100644 index 0000000..c3d2d87 --- /dev/null +++ b/hw6/feedback/chebyshev1.m @@ -0,0 +1,12 @@ +function Hcheb = chebyshev1 + Fs = 44100; + + Fpass = Fs/9; + Fstop = Fs/8; + + Apass = 5; + Astop = 40; + + specs = fdesign.lowpass(Fpass, Fstop, Apass, Astop, Fs); + Hcheb = design(specs,"cheby1",MatchExactly="passband"); +end diff --git a/hw6/feedback/chebyshev2.m b/hw6/feedback/chebyshev2.m new file mode 100644 index 0000000..b45b2a7 --- /dev/null +++ b/hw6/feedback/chebyshev2.m @@ -0,0 +1,12 @@ +function Hcheb = chebyshev2 + Fs = 44100; + + Fpass = Fs/3; + Fstop = Fs/4; + + Apass = 5; + Astop = 40; + + specs = fdesign.highpass(Fstop, Fpass, Astop, Apass, Fs); + Hcheb = design(specs,"cheby2",MatchExactly="passband"); +end diff --git a/hw6/feedback/elliptic.m b/hw6/feedback/elliptic.m new file mode 100644 index 0000000..bbc85b4 --- /dev/null +++ b/hw6/feedback/elliptic.m @@ -0,0 +1,27 @@ +function Hd = elliptic +%ELLIPTIC Returns a discrete-time filter object. + +% MATLAB Code +% Generated by MATLAB(R) 23.2 and Signal Processing Toolbox 23.2. +% Generated on: 27-Mar-2024 18:58:12 + +% Elliptic Bandstop filter designed using FDESIGN.BANDSTOP. + +% All frequency values are in Hz. +Fs = 44100; % Sampling Frequency + +Fpass1 = 6300; % First Passband Frequency +Fstop1 = 7350; % First Stopband Frequency +Fstop2 = 14700; % Second Stopband Frequency +Fpass2 = 17640; % Second Passband Frequency +Apass1 = 1; % First Passband Ripple (dB) +Astop = 50; % Stopband Attenuation (dB) +Apass2 = 1; % Second Passband Ripple (dB) +match = 'both'; % Band to match exactly + +% Construct an FDESIGN object and call its ELLIP method. +h = fdesign.bandstop(Fpass1, Fstop1, Fstop2, Fpass2, Apass1, Astop, ... + Apass2, Fs); +Hd = design(h, 'ellip', 'MatchExactly', match); + +% [EOF] diff --git a/hw6/feedback/fortune_favors_the_fontaine.m b/hw6/feedback/fortune_favors_the_fontaine.m new file mode 100644 index 0000000..bec843e --- /dev/null +++ b/hw6/feedback/fortune_favors_the_fontaine.m @@ -0,0 +1,12 @@ +function noise = fortune_favors_the_fontaine(Fs, duration) + % make some noise + output = ""; + while strlength(output) < Fs*duration + [ret dirty_snippet] = unix('fortune'); + % clean + snippet = regexprep(dirty_snippet, '[^A-Za-z]+', ''); + output = strcat(output, snippet); + end + noise = normalize(letters2numbers(convertStringsToChars(output))); +end + % <+.03> what the fuck diff --git a/hw6/feedback/letters2numbers.m b/hw6/feedback/letters2numbers.m new file mode 100644 index 0000000..67ace84 --- /dev/null +++ b/hw6/feedback/letters2numbers.m @@ -0,0 +1,4 @@ +function num = letters2numbers(word) + asc = double( upper(word) ); % http://www.asciitable.com/ + num = 26 + double('A') - asc; % simple arithmetic +end diff --git a/hw6/fortune_favors_the_fontaine.m b/hw6/fortune_favors_the_fontaine.m new file mode 100644 index 0000000..e15f8ac --- /dev/null +++ b/hw6/fortune_favors_the_fontaine.m @@ -0,0 +1,11 @@ +function noise = fortune_favors_the_fontaine(Fs, duration) + % make some noise + output = ""; + while strlength(output) < Fs*duration + [ret dirty_snippet] = unix('fortune'); + % clean + snippet = regexprep(dirty_snippet, '[^A-Za-z]+', ''); + output = strcat(output, snippet); + end + noise = normalize(letters2numbers(convertStringsToChars(output))); +end diff --git a/hw6/letters2numbers.m b/hw6/letters2numbers.m new file mode 100644 index 0000000..67ace84 --- /dev/null +++ b/hw6/letters2numbers.m @@ -0,0 +1,4 @@ +function num = letters2numbers(word) + asc = double( upper(word) ); % http://www.asciitable.com/ + num = 26 + double('A') - asc; % simple arithmetic +end diff --git a/lessons/lesson01/matlab_intro.m b/lessons/lesson01/matlab_intro.m new file mode 100644 index 0000000..225dfae --- /dev/null +++ b/lessons/lesson01/matlab_intro.m @@ -0,0 +1,180 @@ +%% Lesson 1 + +%% Objective +% After this class, you should be able to: +%% +% +% * Know why you need MATLAB +% * Manuever around the MATLAB interface +% * Understand arithmetic and basic functions in MATLAB +% * Know how to make scalar, vector and matrix variables in MATLAB +% * Know how to perform matrix operations in MATLAB +% +%% MATLAB overview +% MATLAB (short for MATrix LABoratory) is a commonly used interactive +% software amongst engineers. As the name suggests, MATLAB organizes its +% data as matrices and is specially designed for matrix multiplication. In +% addition, it has a plethora of plugins and functions that engineers can +% use, such as machine learning, financial analysis, filter design etc. +%% +% In Cooper, MATLAB is widely used in electrical and computer engineering +% classes (signals, comm theory, machine learning, etc.), and is more broadly +% used for these purposes and others (physics simulations, controls design, +% etc.) across many engineering and scientific disciplines. +% +%% MATLAB Environment +%%% Command window +% The command window is sort of the equivalent of a terminal in Linux, or +% Cygwin in Windows. When you type a command into the command window, an +% operation performs. You can type a MATLAB command, such as 5+10, and the +% answer would be printed out. If a variable is not assigned to the +% command, the result would be stored in the variable ans automatically. If +% a semicolon is added at the end of the line, the result would be +% suppressed. You can clear the command window by typing clc. Moreover, you +% can also type command line commands in the command window, such as ls, +% pwd etc. + +%%% Command history +% When you are playing around with different functions in MATLAB, you might +% want to trace back what functions you played with. At that time, you can +% press the up arrow, which would show you your command history. + +%%% Workspace +% The workspace is where all the variables are stored. Each variable is +% displayed as a name value pair in the workspace. If the variable is a +% scalar, then the actual value would be shown. If it is a vector or matrix +% , then depending on the size of the vector / matrix, it would either be +% shown as its value or simply the size of the vector / array and its type. +% You can double click on the variables to investigate its actual value in +% a spreadsheet. + +%%% Current Folder +% The current folder shows you where you are located at in MATLAB. If you +% execute the command pwd on the command window, it should show you the +% location of the current folder. You might find a time where you need to +% add a folder and link it to your current folder location. At that time, +% you can right click and select "Add to Path". To change current folder, +% you can execute the cd command on your command window + +%%% Editor +% The editor is where you can write a script and execute it. All MATLAB +% scripts are saved as .m files. To execute a script, press the play button +% on top in EDITOR tab. When you are executing a script, you can use the +% semicolon to suppress the output of each line. To display a certain +% variable at an arbitrary location in your script, you can use disp() +% function. + +%% Arithmetic and Basic functions + +%% Basic Operations +5+10; % Addition +ans; % Prints out previous answer +25-7; % Subtraction +24*86; % Multiplication +123.456*78.90; % Multiplication +145/123; % Division +2^5; % Exponential +log10(1000); % Logarithm base 10 +log(exp(5)); % Natural logarithm +sqrt(625); % Square root +sin(pi); % sine function +asin(0); % arc sine function +1e5; % e5 multiplies 1 by 10^5 +1e-2; % e-2 multiplies 1 by 10^-2 + +%% Complex Numbers +2+1i; % equivalently, 2+i +2+1j; % equivalently, 2+j +(2+2i)*(3+4j); + +%% Special Numbers +pi; +exp(2*pi*j); +inf; + +%% Complex number operations +conj(2+i); % complex conjugate +real(2+i); % real part +imag(2+i); % imaginary part +abs(2+i); % magnitude/absolute value +angle(2+i); % angle or phase + +%% Variables +% In matlab, there are 3 (main) different kinds of variables +%% +% * Scalar - A scalar appears as 1-by-1 and it is a single real or complex +% number +% * Vector - A vector is 1-by-n or n-by-1, and appears in MATLAB as a row or +% column of complex numbers +% * Matrix - A matrix is m-by-n, and appears in MATLAB as, essentially, a +% matrix. A matrix is a 2-D array +% If you want to see what variables you've declared, either look in the +% Workspace section of the MATLAB window, or type: +who; +whos; + +%% Scalar Variables +a = 5; +b = 10; +c = a+b; +z1 = 2+j; +z2 = 3+4j; +z = z1*z2; + +%% Vector Variables +x = [1 2+3j 2.718 pi cos(pi)]; % row vector +x = [1, 2+3j, 2.718, pi, cos(pi)]; % same thing with commas +xT = transpose(x); % now you created the column vector +xT = x.'; % regular tranpose +xT = x'; % complex tranpose +y = [1 ; 2.5 ; 3.2 ; 4*pi; cos(pi)]; % column vector +xlen = length(x); % length of row/col vector +ylen = length(y); % same value as length(x)! + +%% BE CAREFUL! +% The following two vectors produces vectors of different sizes, the reason +% being linspace(x1, x2, n) creates n evenly spaced points between x1 and +% x2 , with the value of interval (x2-x1)/(n+1), while the colon operator +% (used in the form of x1:i:x2) creates an array with [x1, x1+i, x1+2i..., +% x1+mi], where m = (x2-x1)/i. Hence when creating a vector with the colon +% operator or linspace, make sure you know when to use it. In conclusion, +% linspace works with number of points, whereas the colon operator works +% with increments. + +%% +v1 = linspace(-5,5,10); +v2 = -5:1:5; + +%% Matrix Variables +A = [1 2 3; 4 5 6; 7 8 9]; % basic construction of matrix +B = repmat(A,2,1); % you concatenated A one above the other +C = [A; A]; % same as above +C1 = transpose(C); % now you transposed C! +C2 = C.'; % still transposed! if it is only C' then it is + % conjugate transpose +size(C); % Confirm that they are tranposes of each other +size(C1); +size(C1,1); % You get the dimension you want! +eye(3); % Create identity matrix +speye(30000000); % Create sparse identity matrix +D = ones(50,60); % D is 50-by-60 ones +E = zeros(40); % E is 40-by-40 zeros + +%% Matrix Operations +B+C; % addition +B-C; % subtraction +4*B + C/5; % multiplication and division with a constant +A+ones(size(A)); % elementwise addition with a constant +B*C'; % matrix multiplication +B.*C; % elementwise multiplication +B.^3; % elementwise exponentiation! note: do not use B^3 +2*(eye(3))^3; % only possible with square matrices + +%% Documentation +% If you don't know how to use a function, look it up using one of the +% following commands. help opens a textual documentation in the +% command window (just like Linux's man command), while doc will open a +% new window with graphical documentation just like their website. The +% MATLAB documentation website is also a great resource! +help clc; +doc size; diff --git a/lessons/lesson02/numerical_calculus.m b/lessons/lesson02/numerical_calculus.m new file mode 100644 index 0000000..afd9dc4 --- /dev/null +++ b/lessons/lesson02/numerical_calculus.m @@ -0,0 +1,75 @@ +%% Lesson 2c: Numerical estimation of integrals and derivatives +% Numerical integration and differentiation are a staple of numerical +% computing. We will now see how easy these are in MATLAB! +clc; clear; close all; + +%% The diff and cumsum functions +% Note the lengths of z, zdiff, and zcumsum! (Fencepost problem) +z = [0 5 -2 3 4]; +zdiff = diff(z); +zcumsum = cumsum(z); + +%% Setup: A simple function +% Let's start with a simple example: y = x.^2. The domain is N points +% linearly sampled from lo to hi. +lo = -2; +hi = 2; +N = 1e2; + +x = linspace(lo, hi, N); +y = x.^2; +plot(x, y); +title('x^2'); + +%% Numerical (Approximate) Derivatives +% We can calculate a difference quotient between each pair of (x,y) points +% using the diff() function. +dydx = diff(y)./diff(x); % difference quotient + +figure(); +plot(x(1:end-1), dydx); + +%% Numerical (Approximate) Integrals +% Now suppose we want to approximate the cumulative integral (Riemann sum) +% of a function. +xdiff = diff(x); +dx = xdiff(1); % spacing between points +dx = (hi-lo) / (N-1); % alternative to the above (note: N-1) + +Y = cumsum(y) * dx; % Riemann sum + +figure(); +plot(x, Y); + +%% Error metrics: Check how close we are! +% dydx should be derivative of x.^2 = 2*x +dydx_actual = 2 * x; + +% Y should be \int_{-2}^{x}{t.^2 dt} +Y_actual = (x .^3 - (-2)^3) / 3; + +% Slightly more accurate -- can you figure out why? +% Y_actual = (x .^3 - (-2-dx)^3) / 3; + +% Error metric: MSE (mean square error) or RMSE (root mean square error) +% Try changing N and see how the error changes. Try this with both the +% integral and derivative. + +% estimated = dydx; +% actual = dydx_actual(1:end-1); +estimated = Y; +actual = Y_actual; +mse = mean((estimated - actual) .^ 2); +rmse = rms(estimated - actual); + +%% Fundamental Theorem of Calculus +% Now, use the approximate derivative to get the original function, y back +% as yhat and plot it. You may need to use/create another variable for +% the x axis when plotting. +figure(); +yhat = diff(Y)./diff(x); % differentiate Y +plot(x(1:end-1), yhat); + +figure(); +yhat2 = cumsum(dydx) * dx; % integrate dydx +plot(x(1:end-1), yhat2); \ No newline at end of file diff --git a/lessons/lesson02/octave-log.txt b/lessons/lesson02/octave-log.txt new file mode 100644 index 0000000..0cb7af8 --- /dev/null +++ b/lessons/lesson02/octave-log.txt @@ -0,0 +1,1378 @@ +[cat@lazarus:~/classes/ece210-materials/2024-van-west/lessons/lesson02] +$ octave +GNU Octave, version 7.3.0 +octave:2> x = 0:0.01:2*pi; % Create a linearly-spaced vector +y = sin(x); % sin() works element-wise on vectors! +y = abs(x); % same with abs()! +y = x .^ 4; % element-wise power +y = power(x, 4); % same as above + +plot(x, y); % Plot y vs. x (line graph) +title('y vs. x'); +octave:9> close all +octave:10> +octave:10> +octave:10> +octave:10> +octave:10> +y = sin(x); % sin() works element-wise on vectors! +y = abs(x); % same with abs()! +y = x .^ 4; % element-wise power +y = power(x, 4); % same as above + +plot(x, y); % Plot y vs. x (line graph) +title('y vs. x');^[[201~octave:10> +octave:10> +octave:10> +octave:10> +octave:10> x = 0:0.01:2*pi; % Create a linearly-spaced vector +y = sin(x); % sin() works element-wise on vectors! +y = abs(x); % same with abs()! +y = x .^ 4; % element-wise power +y = power(x, 4); % same as above + +plot(x, y); % Plot y vs. x (line graph) +title('y vs. x'); +octave:17> close all +octave:18> +y = x .^ 4; % element-wise power +y = power(x, 4); % same as above + +plot(x, y); % Plot y vs. x (line graph) +title('y vs. x');^[[201~octave:18> +octave:18> +octave:18> +octave:18> x = 0:0.01:2*pi; % Create a linearly-spaced vector +y = sin(x); % sin() works element-wise on vectors! +y = abs(x); % same with abs()! +y = x .^ 4; % element-wise power +y = power(x, 4); % same as above + +plot(x, y); % Plot y vs. x (line graph) +title('y vs. x'); +octave:25> close all +octave:26> +octave:26> +octave:26> +octave:26> +octave:26> +octave:26> +octave:26> +octave:26> +octave:26> x = 0:0.01:2*pi; % Create a linearly-spaced vector +y = sin(x); % sin() works element-wise on vectors! +y = abs(x); % same with abs()! +y = x .^ 4; % element-wise power +y = power(x, 4); % same as above + +plot(x, y); % Plot y vs. x (line graph) +title('y vs. x'); +octave:33> +octave:33> +octave:33> +octave:33> +octave:33> x = 0:0.01:2*pi; % Create a linearly-spaced vector +y = sin(x); % sin() works element-wise on vectors! +y = abs(x); % same with abs()! +y = x .^ 4; % element-wise power +y = power(x, 4); % same as above + +plot(x, y); % Plot y vs. x (line graph) +title('y vs. x'); +octave:40> close all +octave:41> +y = abs(x); % same with abs()! +y = x .^ 4; % element-wise power +y = power(x, 4); % same as above + +octave:53> x = 1:5:10 +x = + + 1 6 + +octave:54> x = 1:10 +x = + + 1 2 3 4 5 6 7 8 9 10 + +octave:55> x(1) +ans = 1 +octave:56> x(1:3) +ans = + + 1 2 3 + +octave:57> x(2:7) +ans = + + 2 3 4 5 6 7 + +octave:58> x = 0:9 +x = + + 0 1 2 3 4 5 6 7 8 9 + +octave:59> x = linspace(0, 1, 10) +x = + + Columns 1 through 8: + + 0 0.1111 0.2222 0.3333 0.4444 0.5556 0.6667 0.7778 + + Columns 9 and 10: + + 0.8889 1.0000 + +octave:60> x = linspace(0, 1, 10); +octave:61> x = linspace(0, 1, 10).'; +octave:62> x +x = + + 0 + 0.1111 + 0.2222 + 0.3333 + 0.4444 + 0.5556 + 0.6667 + 0.7778 + 0.8889 + 1.0000 + +octave:63> x(2:6) +ans = + + 0.1111 + 0.2222 + 0.3333 + 0.4444 + 0.5556 + +octave:64> x([1 3 5 7]) +ans = + + 0 + 0.2222 + 0.4444 + 0.6667 + +octave:65> x(:) +ans = + + 0 + 0.1111 + 0.2222 + 0.3333 + 0.4444 + 0.5556 + 0.6667 + 0.7778 + 0.8889 + 1.0000 + +octave:66> x(end) +ans = 1 +octave:67> x(end:-1:3) +ans = + + 1.0000 + 0.8889 + 0.7778 + 0.6667 + 0.5556 + 0.4444 + 0.3333 + 0.2222 + +octave:68> x(end:-1:1) +ans = + + 1.0000 + 0.8889 + 0.7778 + 0.6667 + 0.5556 + 0.4444 + 0.3333 + 0.2222 + 0.1111 + 0 + +octave:69> x(1:2:end) +ans = + + 0 + 0.2222 + 0.4444 + 0.6667 + 0.8889 + +octave:70> M = 1:100; +octave:71> size(M) +ans = + + 1 100 + +octave:72> help reshape +'reshape' is a built-in function from the file libinterp/corefcn/data.cc + + -- reshape (A, M, N, ...) + -- reshape (A, [M N ...]) + -- reshape (A, ..., [], ...) + -- reshape (A, SIZE) + Return a matrix with the specified dimensions (M, N, ...) whose + elements are taken from the matrix A. + + The elements of the matrix are accessed in column-major order (like + Fortran arrays are stored). + + The following code demonstrates reshaping a 1x4 row vector into a + 2x2 square matrix. + + reshape ([1, 2, 3, 4], 2, 2) + => 1 3 + 2 4 + + Note that the total number of elements in the original matrix + ('prod (size (A))') must match the total number of elements in the + new matrix ('prod ([M N ...])'). + + A single dimension of the return matrix may be left unspecified and + Octave will determine its size automatically. An empty matrix ([]) + is used to flag the unspecified dimension. + + See also: resize, vec, postpad, cat, squeeze. + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:73> N1 = reshape(M, round(sqrt(100)), []) +N1 = + + 1 11 21 31 41 51 61 71 81 91 + 2 12 22 32 42 52 62 72 82 92 + 3 13 23 33 43 53 63 73 83 93 + 4 14 24 34 44 54 64 74 84 94 + 5 15 25 35 45 55 65 75 85 95 + 6 16 26 36 46 56 66 76 86 96 + 7 17 27 37 47 57 67 77 87 97 + 8 18 28 38 48 58 68 78 88 98 + 9 19 29 39 49 59 69 79 89 99 + 10 20 30 40 50 60 70 80 90 100 + +octave:74> N1 +N1 = + + 1 11 21 31 41 51 61 71 81 91 + 2 12 22 32 42 52 62 72 82 92 + 3 13 23 33 43 53 63 73 83 93 + 4 14 24 34 44 54 64 74 84 94 + 5 15 25 35 45 55 65 75 85 95 + 6 16 26 36 46 56 66 76 86 96 + 7 17 27 37 47 57 67 77 87 97 + 8 18 28 38 48 58 68 78 88 98 + 9 19 29 39 49 59 69 79 89 99 + 10 20 30 40 50 60 70 80 90 100 + +octave:75> N1(:, :) +ans = + + 1 11 21 31 41 51 61 71 81 91 + 2 12 22 32 42 52 62 72 82 92 + 3 13 23 33 43 53 63 73 83 93 + 4 14 24 34 44 54 64 74 84 94 + 5 15 25 35 45 55 65 75 85 95 + 6 16 26 36 46 56 66 76 86 96 + 7 17 27 37 47 57 67 77 87 97 + 8 18 28 38 48 58 68 78 88 98 + 9 19 29 39 49 59 69 79 89 99 + 10 20 30 40 50 60 70 80 90 100 + +octave:76> N1(1:3, :) +ans = + + 1 11 21 31 41 51 61 71 81 91 + 2 12 22 32 42 52 62 72 82 92 + 3 13 23 33 43 53 63 73 83 93 + +octave:77> N1(1:3, 2:6) +ans = + + 11 21 31 41 51 + 12 22 32 42 52 + 13 23 33 43 53 + +octave:78> N1(1:3, 1:3) +ans = + + 1 11 21 + 2 12 22 + 3 13 23 + +octave:79> N1(end-3:end) +ans = + + 97 98 99 100 +octave:83> +Display all 1790 possibilities? (y or n) +abs +accumarray +__accumarray_max__ +__accumarray_min__ +__accumarray_sum__ +accumdim +octave:84> x = 3 +x = 3 +octave:85> x = [1 2 3]; +octave:86> x = 0:15 +x = + + Columns 1 through 15: + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 + + Column 16: + + 15 + +octave:87> y = x.^2 +y = + + Columns 1 through 13: + + 0 1 4 9 16 25 36 49 64 81 100 121 144 + + Columns 14 through 16: + + 169 196 225 + +octave:88> x +x = + + Columns 1 through 15: + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 + + Column 16: + + 15 + +octave:89> xt = x.' +xt = + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + +octave:90> x = (1:9).' +x = + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + +octave:91> sin(x) +ans = + + 0.8415 + 0.9093 + 0.1411 + -0.7568 + -0.9589 + -0.2794 + 0.6570 + 0.9894 + 0.4121 + +octave:92> rad2deg(pi/2) +ans = 90 +octave:93> length(x) +ans = 9 +octave:94> mean(x) +ans = 5 +octave:95> x +x = + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + +octave:96> mean(sin(x)) +ans = 0.2172 +octave:97> +^[[200~T = 1e-6; % Sampling period (s) +t = 0:T:2e-3; % Time (domain/x-axis) +f0 = 50; % Initial frequency (Hz) +b = 10e6; % Chirp rate (Hz/s) +A = 10; % Amplitude +y1 = A * cos(2*pi*f0*t + pi*b*t.^2); + +figure; +plot(t,y1);^[[201~octave:97> +octave:97> +octave:97> +octave:97> +octave:97> T = 1e-6; % Sampling period (s) +t = 0:T:2e-3; % Time (domain/x-axis) +f0 = 50; % Initial frequency (Hz) +b = 10e6; % Chirp rate (Hz/s) +A = 10; % Amplitude +y1 = A * cos(2*pi*f0*t + pi*b*t.^2); + +figure; +plot(t,y1); +octave:105> close all +octave:109> x = linspace(0, 1, 9) +x = + + Columns 1 through 8: + + 0 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 + + Column 9: + + 1.0000 + +octave:110> x = linspace(0, 1, 9).' +x = + + 0 + 0.1250 + 0.2500 + 0.3750 + 0.5000 + 0.6250 + 0.7500 + 0.8750 + 1.0000 + +octave:111> x(1) +ans = 0 +octave:112> x(9) +ans = 1 +octave:113> x(10) +error: x(10): out of bound 9 (dimensions are 9x1) +octave:114> x(5) +ans = 0.5000 +octave:115> x([1 2 3]) +ans = + + 0 + 0.1250 + 0.2500 + +octave:116> x([1 3 2]) +ans = + + 0 + 0.2500 + 0.1250 + +octave:117> x(1:9) +ans = + + 0 + 0.1250 + 0.2500 + 0.3750 + 0.5000 + 0.6250 + 0.7500 + 0.8750 + 1.0000 + +octave:118> x(1:end) +ans = + + 0 + 0.1250 + 0.2500 + 0.3750 + 0.5000 + 0.6250 + 0.7500 + 0.8750 + 1.0000 + +octave:119> x(end) +ans = 1 +octave:120> x(3:end) +ans = + + 0.2500 + 0.3750 + 0.5000 + 0.6250 + 0.7500 + 0.8750 + 1.0000 + +octave:121> x(end:-1:1) +ans = + + 1.0000 + 0.8750 + 0.7500 + 0.6250 + 0.5000 + 0.3750 + 0.2500 + 0.1250 + 0 + +octave:122> 9:-1:1 +ans = + + 9 8 7 6 5 4 3 2 1 + +octave:123> 9:-.5:1 +ans = + + Columns 1 through 7: + + 9.0000 8.5000 8.0000 7.5000 7.0000 6.5000 6.0000 + + Columns 8 through 14: + + 5.5000 5.0000 4.5000 4.0000 3.5000 3.0000 2.5000 + + Columns 15 through 17: + + 2.0000 1.5000 1.0000 + +octave:124> x(:) +ans = + + 0 + 0.1250 + 0.2500 + 0.3750 + 0.5000 + 0.6250 + 0.7500 + 0.8750 + 1.0000 + +octave:125> A = [1 2; 3 4] +A = + + 1 2 + 3 4 + +octave:126> A(:) +ans = + + 1 + 3 + 2 + 4 + +octave:127> z = 4 +z = 4 +octave:128> z(1) +ans = 4 +octave:129> inc +error: 'inc' undefined near line 1, column 1 +octave:130> a++ +error: in x++ or ++x, x must be defined first +octave:131> ++x +ans = + + 1.0000 + 1.1250 + 1.2500 + 1.3750 + 1.5000 + 1.6250 + 1.7500 + 1.8750 + 2.0000 + +octave:132> M = reshape(1:100, 10, 10) +M = + + 1 11 21 31 41 51 61 71 81 91 + 2 12 22 32 42 52 62 72 82 92 + 3 13 23 33 43 53 63 73 83 93 + 4 14 24 34 44 54 64 74 84 94 + 5 15 25 35 45 55 65 75 85 95 + 6 16 26 36 46 56 66 76 86 96 + 7 17 27 37 47 57 67 77 87 97 + 8 18 28 38 48 58 68 78 88 98 + 9 19 29 39 49 59 69 79 89 99 + 10 20 30 40 50 60 70 80 90 100 + +octave:133> M(1, 1) +ans = 1 +octave:134> M(10, 10) +ans = 100 +octave:135> M(end, end) +ans = 100 +octave:136> M(end, 1) +ans = 10 +octave:137> M(1, end) +ans = 91 +octave:138> M(1:3, :) +ans = + + 1 11 21 31 41 51 61 71 81 91 + 2 12 22 32 42 52 62 72 82 92 + 3 13 23 33 43 53 63 73 83 93 + +octave:139> M(1:3, 2:5) +ans = + + 11 21 31 41 + 12 22 32 42 + 13 23 33 43 + +octave:140> M([1 3 5 7], 2:5) +ans = + + 11 21 31 41 + 13 23 33 43 + 15 25 35 45 + 17 27 37 47 + +octave:141> x +x = + + 1.0000 + 1.1250 + 1.2500 + 1.3750 + 1.5000 + 1.6250 + 1.7500 + 1.8750 + 2.0000 + +octave:142> x(1:5) +ans = + + 1.0000 + 1.1250 + 1.2500 + 1.3750 + 1.5000 + +octave:143> x(1:5) = 1:5 +x = + + 1.0000 + 2.0000 + 3.0000 + 4.0000 + 5.0000 + 1.6250 + 1.7500 + 1.8750 + 2.0000 + +octave:144> x(6:end) = x(6:end).^2 +x = + + 1.0000 + 2.0000 + 3.0000 + 4.0000 + 5.0000 + 2.6406 + 3.0625 + 3.5156 + 4.0000 + +octave:145> M +M = + + 1 11 21 31 41 51 61 71 81 91 + 2 12 22 32 42 52 62 72 82 92 + 3 13 23 33 43 53 63 73 83 93 + 4 14 24 34 44 54 64 74 84 94 + 5 15 25 35 45 55 65 75 85 95 + 6 16 26 36 46 56 66 76 86 96 + 7 17 27 37 47 57 67 77 87 97 + 8 18 28 38 48 58 68 78 88 98 + 9 19 29 39 49 59 69 79 89 99 + 10 20 30 40 50 60 70 80 90 100 + +octave:146> M(3:6, 3:6) = 0 +M = + + 1 11 21 31 41 51 61 71 81 91 + 2 12 22 32 42 52 62 72 82 92 + 3 13 0 0 0 0 63 73 83 93 + 4 14 0 0 0 0 64 74 84 94 + 5 15 0 0 0 0 65 75 85 95 + 6 16 0 0 0 0 66 76 86 96 + 7 17 27 37 47 57 67 77 87 97 + 8 18 28 38 48 58 68 78 88 98 + 9 19 29 39 49 59 69 79 89 99 + 10 20 30 40 50 60 70 80 90 100 + +octave:147> x +x = + + 1.0000 + 2.0000 + 3.0000 + 4.0000 + 5.0000 + 2.6406 + 3.0625 + 3.5156 + 4.0000 + +octave:148> x = 1:9.' +x = + + 1 2 3 4 5 6 7 8 9 + +octave:149> x = (1:9).' +x = + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + +octave:150> reshape(x, 3, 3) +ans = + + 1 4 7 + 2 5 8 + 3 6 9 + +octave:151> x = 1:9 +x = + + 1 2 3 4 5 6 7 8 9 + +octave:152> reshape(x, 3, 3) +ans = + + 1 4 7 + 2 5 8 + 3 6 9 + +octave:153> x +x = + + 1 2 3 4 5 6 7 8 9 + +octave:154> xm = reshape(x, 3, 3) +xm = + + 1 4 7 + 2 5 8 + 3 6 9 + +octave:155> xm(1, 1) +ans = 1 +octave:156> xm(1) +ans = 1 +octave:157> xm(2) +ans = 2 +octave:158> xm(3) +ans = 3 +octave:159> xm(4) +ans = 4 +octave:160> xm +xm = + + 1 4 7 + 2 5 8 + 3 6 9 + +octave:161> reshape(xm, 9, 1) +ans = + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + +octave:162> mx +error: 'mx' undefined near line 1, column 1 +octave:163> xm +xm = + + 1 4 7 + 2 5 8 + 3 6 9 + +octave:164> reshape(xm, 9, 1) +ans = + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + +octave:165> reshape(xm, 9, []) +ans = + + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + +octave:166> reshape(xm, 3, []) +ans = + + 1 4 7 + 2 5 8 + 3 6 9 + +octave:167> xm +xm = + + 1 4 7 + 2 5 8 + 3 6 9 + +octave:168> xm(2, :) = [] +xm = + + 1 4 7 + 3 6 9 + +octave:169> magic(4) +ans = + + 16 2 3 13 + 5 11 10 8 + 9 7 6 12 + 4 14 15 1 + +octave:170> sum(magic(4)) +ans = + + 34 34 34 34 + +octave:171> sum(magic(4), 2) +ans = + + 34 + 34 + 34 + 34 + +octave:172> +^[[200~lo = -2; +hi = 2; +N = 1e2; + +x = linspace(lo, hi, N); +y = x.^2; +plot(x, y); +title('x^2');^[[201~octave:172> +octave:172> +octave:172> +octave:172> +octave:172> lo = -2; +hi = 2; +N = 1e2; + +x = linspace(lo, hi, N); +y = x.^2; +plot(x, y); +title('x^2'); +octave:179> close all +octave:180> diff(x) +ans = + + Columns 1 through 7: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 8 through 14: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 15 through 21: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 22 through 28: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 29 through 35: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 36 through 42: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 43 through 49: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 50 through 56: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 57 through 63: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 64 through 70: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 71 through 77: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 78 through 84: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 85 through 91: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Columns 92 through 98: + + 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 0.040404 + + Column 99: + + 0.040404 + +octave:181> diff(y) +ans = + + Columns 1 through 8: + + -0.1600 -0.1567 -0.1535 -0.1502 -0.1469 -0.1437 -0.1404 -0.1371 + + Columns 9 through 16: + + -0.1339 -0.1306 -0.1273 -0.1241 -0.1208 -0.1175 -0.1143 -0.1110 + + Columns 17 through 24: + + -0.1077 -0.1045 -0.1012 -0.0979 -0.0947 -0.0914 -0.0882 -0.0849 + + Columns 25 through 32: + + -0.0816 -0.0784 -0.0751 -0.0718 -0.0686 -0.0653 -0.0620 -0.0588 + + Columns 33 through 40: + + -0.0555 -0.0522 -0.0490 -0.0457 -0.0424 -0.0392 -0.0359 -0.0326 + + Columns 41 through 48: + + -0.0294 -0.0261 -0.0229 -0.0196 -0.0163 -0.0131 -0.0098 -0.0065 + + Columns 49 through 56: + + -0.0033 0 0.0033 0.0065 0.0098 0.0131 0.0163 0.0196 + + Columns 57 through 64: + + 0.0229 0.0261 0.0294 0.0326 0.0359 0.0392 0.0424 0.0457 + + Columns 65 through 72: + + 0.0490 0.0522 0.0555 0.0588 0.0620 0.0653 0.0686 0.0718 + + Columns 73 through 80: + + 0.0751 0.0784 0.0816 0.0849 0.0882 0.0914 0.0947 0.0979 + + Columns 81 through 88: + + 0.1012 0.1045 0.1077 0.1110 0.1143 0.1175 0.1208 0.1241 + + Columns 89 through 96: + + 0.1273 0.1306 0.1339 0.1371 0.1404 0.1437 0.1469 0.1502 + + Columns 97 through 99: + + 0.1535 0.1567 0.1600 + +octave:182> diff(y)./diff(x) +ans = + + Columns 1 through 8: + + -3.9596 -3.8788 -3.7980 -3.7172 -3.6364 -3.5556 -3.4747 -3.3939 + + Columns 9 through 16: + + -3.3131 -3.2323 -3.1515 -3.0707 -2.9899 -2.9091 -2.8283 -2.7475 + + Columns 17 through 24: + + -2.6667 -2.5859 -2.5051 -2.4242 -2.3434 -2.2626 -2.1818 -2.1010 + + Columns 25 through 32: + + -2.0202 -1.9394 -1.8586 -1.7778 -1.6970 -1.6162 -1.5354 -1.4545 + + Columns 33 through 40: + + -1.3737 -1.2929 -1.2121 -1.1313 -1.0505 -0.9697 -0.8889 -0.8081 + + Columns 41 through 48: + + -0.7273 -0.6465 -0.5657 -0.4848 -0.4040 -0.3232 -0.2424 -0.1616 + + Columns 49 through 56: + + -0.0808 0 0.0808 0.1616 0.2424 0.3232 0.4040 0.4848 + + Columns 57 through 64: + + 0.5657 0.6465 0.7273 0.8081 0.8889 0.9697 1.0505 1.1313 + + Columns 65 through 72: + + 1.2121 1.2929 1.3737 1.4545 1.5354 1.6162 1.6970 1.7778 + + Columns 73 through 80: + + 1.8586 1.9394 2.0202 2.1010 2.1818 2.2626 2.3434 2.4242 + + Columns 81 through 88: + + 2.5051 2.5859 2.6667 2.7475 2.8283 2.9091 2.9899 3.0707 + + Columns 89 through 96: + + 3.1515 3.2323 3.3131 3.3939 3.4747 3.5556 3.6364 3.7172 + + Columns 97 through 99: + + 3.7980 3.8788 3.9596 + +octave:183> +^[[200~figure(); +plot(x(1:end-1), dydx);^[[201~octave:183> +octave:183> +octave:183> +octave:183> +octave:183> figure(); +plot(x(1:end-1), dydx); +error: 'dydx' undefined near line 1, column 18 +octave:201> xdiff = diff(x); +octave:202> dx = xdiff(1); +octave:203> dx +dx = 0.040404 +octave:204> int_of_y = sum(y)*dx +int_of_y = 5.4960 +octave:205> Y = cumsum(y)*dx +Y = + + Columns 1 through 8: + + 0.1616 0.3168 0.4656 0.6082 0.7448 0.8754 1.0002 1.1193 + + Columns 9 through 16: + + 1.2329 1.3411 1.4440 1.5418 1.6345 1.7224 1.8055 1.8841 + + Columns 17 through 24: + + 1.9581 2.0277 2.0932 2.1546 2.2120 2.2655 2.3154 2.3617 + + Columns 25 through 32: + + 2.4046 2.4442 2.4806 2.5140 2.5445 2.5722 2.5973 2.6199 + + Columns 33 through 40: + + 2.6401 2.6581 2.6739 2.6878 2.6998 2.7101 2.7188 2.7261 + + Columns 41 through 48: + + 2.7320 2.7368 2.7405 2.7433 2.7453 2.7466 2.7474 2.7479 + + Columns 49 through 56: + + 2.7480 2.7480 2.7480 2.7482 2.7486 2.7494 2.7507 2.7527 + + Columns 57 through 64: + + 2.7555 2.7592 2.7640 2.7700 2.7772 2.7859 2.7963 2.8083 + + Columns 65 through 72: + + 2.8221 2.8380 2.8559 2.8761 2.8987 2.9238 2.9515 2.9820 + + Columns 73 through 80: + + 3.0154 3.0518 3.0914 3.1343 3.1806 3.2305 3.2841 3.3415 + + Columns 81 through 88: + + 3.4028 3.4683 3.5380 3.6120 3.6905 3.7736 3.8615 3.9542 + + Columns 89 through 96: + + 4.0520 4.1549 4.2631 4.3767 4.4959 4.6207 4.7513 4.8878 + + Columns 97 through 100: + + 5.0304 5.1793 5.3344 5.4960 + +octave:206> figure +octave:207> hold on +octave:208> plot(x, y) +octave:209> plot(x, Y) +octave:210> close all +octave:211> help cumtrapz +'cumtrapz' is a function from the file /usr/share/octave/7.3.0/m/general/cumtr +apz.m + + -- Q = cumtrapz (Y) + -- Q = cumtrapz (X, Y) + -- Q = cumtrapz (..., DIM) + Cumulative numerical integration of points Y using the trapezoidal + method. + + 'cumtrapz (Y)' computes the cumulative integral of Y along the + first non-singleton dimension. Where 'trapz' reports only the + overall integral sum, 'cumtrapz' reports the current partial sum + value at each point of Y. + + When the argument X is omitted an equally spaced X vector with unit + spacing (1) is assumed. 'cumtrapz (X, Y)' evaluates the integral + with respect to the spacing in X and the values in Y. This is + useful if the points in Y have been sampled unevenly. + + If the optional DIM argument is given, operate along this + dimension. + + Application Note: If X is not specified then unit spacing will be + used. To scale the integral to the correct value you must multiply + by the actual spacing value (deltaX). + + See also: trapz, cumsum. + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:212> help trapz= +error: help: 'trapz=' not found +octave:213> help trapz +'trapz' is a function from the file /usr/share/octave/7.3.0/m/general/trapz.m + + -- Q = trapz (Y) + -- Q = trapz (X, Y) + -- Q = trapz (..., DIM) + + Numerically evaluate the integral of points Y using the trapezoidal + method. + + 'trapz (Y)' computes the integral of Y along the first + non-singleton dimension. When the argument X is omitted an equally + spaced X vector with unit spacing (1) is assumed. 'trapz (X, Y)' + evaluates the integral with respect to the spacing in X and the + values in Y. This is useful if the points in Y have been sampled + unevenly. + + If the optional DIM argument is given, operate along this + dimension. + + Application Note: If X is not specified then unit spacing will be + used. To scale the integral to the correct value you must multiply + by the actual spacing value (deltaX). As an example, the integral + of x^3 over the range [0, 1] is x^4/4 or 0.25. The following code + uses 'trapz' to calculate the integral in three different ways. + + x = 0:0.1:1; + y = x.^3; + ## No scaling + q = trapz (y) + => q = 2.5250 + ## Approximation to integral by scaling + q * 0.1 + => 0.25250 + ## Same result by specifying X + trapz (x, y) + => 0.25250 + + See also: cumtrapz. + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:214> trapz(x, y) +ans = 5.3344 +octave:215> cmutrapz(x, y) +error: 'cmutrapz' undefined near line 1, column 1 +octave:216> cumtrapz(x, y) +ans = + + Columns 1 through 8: + + 0 0.1584 0.3104 0.4561 0.5957 0.7293 0.8570 0.9789 + + Columns 9 through 16: + + 1.0953 1.2062 1.3118 1.4121 1.5074 1.5977 1.6832 1.7640 + + Columns 17 through 24: + + 1.8403 1.9121 1.9797 2.0431 2.1024 2.1579 2.2097 2.2578 + + Columns 25 through 32: + + 2.3024 2.3436 2.3816 2.4165 2.4485 2.4776 2.5040 2.5278 + + Columns 33 through 40: + + 2.5492 2.5683 2.5852 2.6000 2.6130 2.6241 2.6336 2.6416 + + Columns 41 through 48: + + 2.6483 2.6536 2.6579 2.6611 2.6635 2.6652 2.6662 2.6668 + + Columns 49 through 56: + + 2.6671 2.6672 2.6672 2.6673 2.6676 2.6682 2.6693 2.6709 + + Columns 57 through 64: + + 2.6733 2.6766 2.6808 2.6862 2.6928 2.7008 2.7103 2.7215 + + Columns 65 through 72: + + 2.7344 2.7493 2.7662 2.7852 2.8066 2.8305 2.8569 2.8860 + + Columns 73 through 80: + + 2.9179 2.9528 2.9908 3.0321 3.0767 3.1248 3.1765 3.2320 + + Columns 81 through 88: + + 3.2914 3.3548 3.4223 3.4942 3.5704 3.6512 3.7367 3.8271 + + Columns 89 through 96: + + 3.9223 4.0227 4.1282 4.2391 4.3555 4.4774 4.6052 4.7387 + + Columns 97 through 100: + + 4.8783 5.0241 5.1760 5.3344 + +octave:217> Y = cumtrapz(x, y) +Y = + + Columns 1 through 8: + + 0 0.1584 0.3104 0.4561 0.5957 0.7293 0.8570 0.9789 + + Columns 9 through 16: + + 1.0953 1.2062 1.3118 1.4121 1.5074 1.5977 1.6832 1.7640 + + Columns 17 through 24: + + 1.8403 1.9121 1.9797 2.0431 2.1024 2.1579 2.2097 2.2578 + + Columns 25 through 32: + + 2.3024 2.3436 2.3816 2.4165 2.4485 2.4776 2.5040 2.5278 + + Columns 33 through 40: + + 2.5492 2.5683 2.5852 2.6000 2.6130 2.6241 2.6336 2.6416 + + Columns 41 through 48: + + 2.6483 2.6536 2.6579 2.6611 2.6635 2.6652 2.6662 2.6668 + + Columns 49 through 56: + + 2.6671 2.6672 2.6672 2.6673 2.6676 2.6682 2.6693 2.6709 + + Columns 57 through 64: + + 2.6733 2.6766 2.6808 2.6862 2.6928 2.7008 2.7103 2.7215 + + Columns 65 through 72: + + 2.7344 2.7493 2.7662 2.7852 2.8066 2.8305 2.8569 2.8860 + + Columns 73 through 80: + + 2.9179 2.9528 2.9908 3.0321 3.0767 3.1248 3.1765 3.2320 + + Columns 81 through 88: + + 3.2914 3.3548 3.4223 3.4942 3.5704 3.6512 3.7367 3.8271 + + Columns 89 through 96: + + 3.9223 4.0227 4.1282 4.2391 4.3555 4.4774 4.6052 4.7387 + + Columns 97 through 100: + + 4.8783 5.0241 5.1760 5.3344 + +octave:218> diff --git a/lessons/lesson02/vectorized_operations.m b/lessons/lesson02/vectorized_operations.m new file mode 100644 index 0000000..d538411 --- /dev/null +++ b/lessons/lesson02/vectorized_operations.m @@ -0,0 +1,124 @@ +%% Lesson 2a: More vector and matrix operations +% +% Objectives: +% * Understand how to perform vector operations in MATLAB +% * Understand arithmetic and basic functions in MATLAB + +%% Vector operations +% In lesson 1, we saw how to create a vector with the colon operator and +% linspace. Now let's perform some operations on them! +% +% There are two common classes of operations that you can perform on vectors: +% element-wise operations (which produce another vector) and aggregate +% operations (which produce a scalar value). There are also many functions that +% don't fall under these categories, but these cover many of the common +% functions. + +%% Element-wise operations +% Many operations that work on scalars (which are really degenerate matrices) +% also work element-wise on vectors (or matrices). +x = 0:0.01:2*pi; % Create a linearly-spaced vector +y = sin(x); % sin() works element-wise on vectors! +y = abs(x); % same with abs()! +y = x .^ 4; % element-wise power +y = power(x, 4); % same as above + +plot(x, y); % Plot y vs. x (line graph) +title('y vs. x'); + +%% Aggregate operations +% Another common class of operations produce a single output or statistic about +% a vector (or matrix). +length(x); % number of elements in x +sum(x); % sum of the elements of x +mean(x); % average of the elements of x +min(x); % minimum element of x +diff(x); % difference between adjacent elements of x + +%% Exercise 1 : Vector operations +T = 1e-6; % Sampling period (s) +t = 0:T:2e-3; % Time (domain/x-axis) +f0 = 50; % Initial frequency (Hz) +b = 10e6; % Chirp rate (Hz/s) +A = 10; % Amplitude +y1 = A * cos(2*pi*f0*t + pi*b*t.^2); + +figure; +plot(t,y1); + +%% Exercise: Numerical calculus +% See numerical_calculus.m. + +%% Basic indexing in MATLAB +% The process of extracting values from a vector (or matrix) is called +% "indexing." In MATLAB, indices start at 1, rather than 0 in most languages +% (in which it is more of an "offset" than a cardinal index). + +%% Exercise 2 : Basic indexing +% The syntax for indexing is "x(indices)", where x is the variable to index, +% and indices is a scalar or a vector of indices. There are many variations on +% this. Note that indices can be any vector +x(1); % first element of x +x(1:3); % elements 1, 2 and 3 (inclusive!) +x(1:length(x)); % all elements in x +x(1:end); % same as above +x(:); % same as above +x(end); % last element of x +x(3:end); % all elements from 3 onwards +x([1,3,5]); % elements 1, 3, and 5 from x + +x(1:2:end); % all odd-indexed elements of x +ind = 1:2:length(x); +x(ind); % same as the previous example + +%% Exercises to improve your understanding +% Take some time to go through these on your own. +x([1,2,3]); % Will these produce the same result? +x([3,2,1]); + +x2 = 1:5; +x2(6); % What will this produce? +x2(0); % What will this produce? +x2(1:1.5:4); % What will this produce? +ind = 1:1.5:4; +x2(ind); % What will this produce? + +z = 4; +z(1); % What will this produce? + +%% Matrix operations +% Matrices is closely related to vectors, and we have also explored some matrix +% operations last class. This class, we are going to explore functions that are +% very useful but are hard to grasp for beginners, namely reshape, meshgrid, +% row-wise and column-wise operations. + +%% Reshape +% Change a matrix from one shape to another. The new shape has to have the same +% number of elements as the original shape. +% +% When you are reshaping an array / matrix, the first dimension is filled +% first, and then the second dimension, so on and so forth. I.e., elements +% start filling down columns, then rows, etc. +M = 1:100; +N1 = reshape(M,2,2,[]); % It would create a 2*2*25 matrix +N2 = reshape(M,[2,2,25]); % Same as N1 +N2(:,:,25); % Gives you 97,98,99,100 +N2(:,1,25); % Gives you 97 and 98 + +%% Row-wise / Column-wise operations +% Vector operations can also be performed on matrices. We can perform a vector +% operation on each row/column of a matrix, or on a particular row/column by +% indexing. +H = magic(4); % create the magical matrix H +sum(H,1); % column wise sum, note that this is a row vector(default) +fliplr(H); % flip H from left to right +flipud(H); % flip H upside down +H(1,:) = fliplr(H(1,:)); % flip only ONE row left to right +H(1,:) = []; % delete the first row + +%% Exercise 7 : Matrix Operations +H2 = randi(20,4,5); % random 4x5 matrix with integers from 1 to 20 +sum(H2(:,2)); +mean(H2(3,:)); +C = reshape(H2,2,2,5); +C(2,:,:) = []; diff --git a/lessons/lesson03/matlab_logo.m b/lessons/lesson03/matlab_logo.m new file mode 100644 index 0000000..691d4ea --- /dev/null +++ b/lessons/lesson03/matlab_logo.m @@ -0,0 +1,57 @@ +%% Creating the MATLAB logo +% from https://www.mathworks.com/help/matlab/visualize/creating-the-matlab-logo.html +% Copyright (C) 2014 Mathworks Inc. +close all; clear; clc; + +%% Create the surface +L = 160*membrane(1,100); + +%% Create the figure and axes +f = figure; +ax = axes; + +s = surface(L); +s.EdgeColor = 'none'; +view(3) + +%% Adjust axis limits +ax.XLim = [1 201]; +ax.YLim = [1 201]; +ax.ZLim = [-53.4 160]; + +%% Adjust the camera position +ax.CameraPosition = [-145.5 -229.7 283.6]; +ax.CameraTarget = [77.4 60.2 63.9]; +ax.CameraUpVector = [0 0 1]; +ax.CameraViewAngle = 36.7; + +%% Adjust the position of the x, y, z axes themselves +ax.Position = [0 0 1 1]; +ax.DataAspectRatio = [1 1 .9]; + +%% Add some light +l1 = light; +l1.Position = [160 400 80]; +l1.Style = 'local'; +l1.Color = [0 0.8 0.8]; + +l2 = light; +l2.Position = [.5 -1 .4]; +l2.Color = [0.8 0.8 0]; + +%% Change the surface color +s.FaceColor = [0.9 0.2 0.2]; + +%% Adjust lighting algorithm +s.FaceLighting = 'gouraud'; +s.AmbientStrength = 0.3; +s.DiffuseStrength = 0.6; +s.BackFaceLighting = 'lit'; + +s.SpecularStrength = 1; +s.SpecularColorReflectance = 1; +s.SpecularExponent = 7; + +%% Remove background +axis off +f.Color = 'black'; diff --git a/lessons/lesson03/octave-log.txt b/lessons/lesson03/octave-log.txt new file mode 100644 index 0000000..c6c453f --- /dev/null +++ b/lessons/lesson03/octave-log.txt @@ -0,0 +1,711 @@ +octave:2> +octave:2> +octave:2> +octave:16> + +y2 = x.^2;^[[201~octave:16> +octave:16> +octave:16> +octave:16> +octave:16> x = -10:0.1:10; +y = x.^3; +y2 = x.^2; +octave:19> size(y) +ans = + + 1 201 + +octave:20> size(x) +ans = + + 1 201 + +octave:21> plot(x, y) +octave:22> plot(x, y2) +octave:23> hold on +octave:24> plot(x, y) +octave:25> figure +octave:26> plot(x, y) +octave:27> close all +octave:28> figure +octave:29> plot(x, y) +octave:30> xlabel('x axis') +octave:31> ylabel('y axis') +octave:32> ylabel('y axis! yay!') +octave:33> ylabel('y axis! yay! more letters') +octave:34> title('a plot of a cubic') +octave:35> grid on +octave:36> legend('x^3') +octave:37> hold on +octave:38> close all +octave:39> +^[[201~octave:39> +octave:39> +octave:39> +octave:39> +octave:39> hold on; % plotting more than 1 plot on 1 figure rather than overwriting + + +plot(x, y, 'DisplayName', 'x^3'); +plot(x, y2, 'DisplayName', 'x^2'); + +hold off; + +xlabel 'x axis'; +ylabel 'y axis'; +title 'Example 1'; +xlim([-10 10]); +ylim([-10 10]); +% axis([-10 10 -10 10]); +grid on; +legend show; % 'DisplayName does thisi +octave:50> close all +octave:51> help axis +'axis' is a function from the file /usr/share/octave/7.3.0/m/plot/appearance/axis.m + + -- axis () + -- axis ([X_LO X_HI]) + -- axis ([X_LO X_HI Y_LO Y_HI]) + -- axis ([X_LO X_HI Y_LO Y_HI Z_LO Z_HI]) + -- axis ([X_LO X_HI Y_LO Y_HI Z_LO Z_HI C_LO C_HI]) + -- axis (OPTION) + -- axis (OPTION1, OPTION2, ...) + -- axis (HAX, ...) + -- LIMITS = axis () + Set axis limits and appearance. + + The argument LIMITS should be a 2-, 4-, 6-, or 8-element vector. + The first and second elements specify the lower and upper limits + for the x-axis. The third and fourth specify the limits for the + y-axis, the fifth and sixth specify the limits for the z-axis, and + the seventh and eighth specify the limits for the color axis. The + special values '-Inf' and 'Inf' may be used to indicate that the + limit should be automatically computed based on the data in the + axes. + + Without any arguments, 'axis' turns autoscaling on. + + With one output argument, 'LIMITS = axis' returns the current axis + limits. + + The vector argument specifying limits is optional, and additional + string arguments may be used to specify various axis properties. + + The following options control the aspect ratio of the axes. + + "equal" + Force x-axis unit distance to equal y-axis (and z-axis) unit + distance. + + "square" + Force a square axis aspect ratio. + + "vis3d" + Set aspect ratio modes ("DataAspectRatio", + "PlotBoxAspectRatio") to "manual" for rotation without + stretching. + + "normal" + "fill" + Restore default automatically computed aspect ratios. + + The following options control the way axis limits are interpreted. + + "auto" + "auto[xyz]" + "auto [xyz]" + Set nice auto-computed limits around the data for all axes, or + only the specified axes. + + "manual" + Fix the current axes limits. + + "tight" + Fix axes to the limits of the data. + + "image" + Equivalent to "tight" and "equal". + + The following options affect the appearance of tick marks. + + "tic" + "tic[xyz]" + "tic [xyz]" + Turn tick marks on for all axes, or turn them on for the + specified axes and off for the remainder. + + "label" + "label[xyz]" + "label [xyz]" + Turn tick labels on for all axes, or turn them on for the + specified axes and off for the remainder. + + "nolabel" + Turn tick labels off for all axes. + + Note: If there are no tick marks for an axes then there can be no + labels. + + The following options affect the direction of increasing values on + the axes. + + "xy" + Default y-axis, larger values are near the top. + + "ij" + Reverse y-axis, smaller values are near the top. + + The following options affects the visibility of the axes. + + "on" + Make the axes visible. + + "off" + Hide the axes. + + If the first argument HAX is an axes handle, then operate on this + axes rather than the current axes returned by 'gca'. + + Example 1: set X/Y limits and force a square aspect ratio + + axis ([1, 2, 3, 4], "square"); + + Example 2: enable tick marks on all axes, enable tick mark labels + only on the y-axis + + axis ("tic", "labely"); + + See also: xlim, ylim, zlim, caxis, daspect, pbaspect, box, grid. + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:52> + +d2 = cos(t);^[[201~octave:52> +octave:52> +octave:52> +octave:52> +octave:52> t = 0:.1:10; +d1 = sin(t); +d2 = cos(t); +octave:55> figure +octave:56> +^[[200~hold on; +plot(t, d1); +plot(t, d2); +hold off;^[[201~octave:56> +octave:56> +octave:56> +octave:56> +octave:56> hold on; +plot(t, d1); +plot(t, d2); +hold off; +octave:60> +^[[200~title 'Trig Functions';^[[201~octave:60> +octave:60> +octave:60> +octave:60> +octave:60> title 'Trig Functions'; +octave:61> +^[[200~xlabel 'time (\mu)s';^[[201~octave:61> +octave:61> +octave:61> +octave:61> +octave:61> xlabel('time (\mu)s'); +octave:62> ylabel('voltage') +octave:63> legend('sin', 'cos') +octave:64> close all +octave:65> figure +octave:66> +octave:66> +octave:66> +octave:66> +octave:66> +octave:66> plot(t, d1, 'b-.', t, d2, 'rp'); +octave:67> + +^[[200~title 'Trig Functions'; +xlabel 'time ($\mu$s)' Interpreter latex +ylabel voltage; +legend('sin', 'cos'); +xticks(0:pi/2:10); +xticklabels({'0', '\pi/2', '\pi', '3\pi/2', '2\pi', '5\pi/2', '3\pi'});^[[201~octave:6 +7> +octave:67> +octave:67> +octave:67> +octave:67> title 'Trig Functions'; +xlabel 'time ($\mu$s)' Interpreter latex +ylabel voltage; +legend('sin', 'cos'); +xticks(0:pi/2:10); +xticklabels({'0', '\pi/2', '\pi', '3\pi/2', '2\pi', '5\pi/2', '3\pi'}); +sh: 1: dvipng: not found +warning: latex_renderer: a run-time test failed and the 'latex' interpreter has been d +isabled. +warning: called from + __axis_label__ at line 36 column 6 + xlabel at line 59 column 8 + +octave:73> title 'Trig Functions'; +xlabel 'time ($\mu$s)' Interpreter latex +ylabel voltage; +legend('sin', 'cos'); +xticks(0:pi/2:10); +xticklabels({'0', '\pi/2', '\pi', '3\pi/2', +octave:73> +^[[200~xticks(0:pi/2:10);^[[201~octave:73> +octave:73> +octave:73> +octave:73> +octave:73> xticks(0:pi/2:10); +octave:74> +^[[200~xticklabels({'0', '\pi/2', '\pi', '3\pi/2', '2\pi', '5\pi/2', '3\pi'});^[[201~o +ctave:74> +octave:74> +octave:74> +octave:74> +octave:74> xticklabels({'0', '\pi/2', '\pi', '3\pi/2', '2\pi', '5\pi/2', '3\pi'}); +octave:75> close all +octave:76> figure +octave:77> subplot(2, 1, 1) +octave:78> +^[[200~octave:75> close all^[[201~octave:78> +octave:78> +octave:78> +octave:78> +octave:78> octave:75> close all +octave:78> figure +octave:79> subplot(2, 1, 1) +octave:80> plot(t, d1) +octave:81> hold on +octave:82> plot(t, d2) +octave:83> title('an ordinary plot') +octave:84> subplot(2, 1, 2) +octave:85> +octave:85> +octave:85> +octave:85> +octave:85> +octave:85> plot(t, d1, 'b-.', t, d2, 'rp'); +title 'Customized plot'; +octave:87> close all +octave:88> figure +octave:89> stem(t, d1) +octave:90> hold on +octave:91> scatter(t, d2) +octave:92> close all +octave:93> +^[[200~t = linspace(0,10*pi);^[[201~octave:93> +octave:93> +octave:93> +octave:93> +octave:93> t = linspace(0,10*pi); +octave:94> figure +octave:95> plot3(sin(t), cos(t), t) +octave:96> zlabel('t') +octave:97> zlabel('tttttttttttttttttttttttttttttttttttt') +octave:98> title('a helix! in space!') +octave:99> text(0, 0, 0, 'origin') +octave:100> close all +octave:101> +^[[200~a1 = -2:0.25:2; +b1 = a1; +[A1, B1] = meshgrid(a1); +F = A1.*exp(-A1.^2-B1.^2);^[[201~octave:101> +octave:101> +octave:101> +octave:101> +octave:101> a1 = -2:0.25:2; +b1 = a1; +[A1, B1] = meshgrid(a1); +F = A1.*exp(-A1.^2-B1.^2); +octave:105> A1 +A1 = + + Columns 1 through 9: + + -2.0000 -1.7500 -1.5000 -1.2500 -1.0000 -0.7500 -0.5000 -0.2500 0 + -2.0000 -1.7500 -1.5000 -1.2500 -1.0000 -0.7500 -0.5000 -0.2500 0 + -2.0000 -1.7500 -1.5000 -1.2500 -1.0000 -0.7500 -0.5000 -0.2500 0 + -2.0000 -1.7500 -1.5000 -1.2500 -1.0000 -0.7500 -0.5000 -0.2500 0 + -2.0000 -1.7500 -1.5000 -1.2500 -1.0000 -0.7500 -0.5000 -0.2500 0 + -2.0000 -1.7500 -1.5000 -1.2500 -1.0000 -0.7500 -0.5000 -0.2500 0 + -2.0000 -1.7500 -1.5000 -1.2500 -1.0000 -0.7500 -0.5000 -0.2500 0 + -2.0000 -1.7500 -1.5000 -1.2500 -1.0000 -0.7500 -0.5000 -0.2500 0 + -2.0000 -1.7500 -1.5000 -1.2500 -1.0000 -0.7500 -0.5000 -0.2500 0 + -2.0000 -1.7500 -1.5000 -1.2500 -1.0000 -0.7500 -0.5000 -0.2500 0 + -2.0000 -1.7500 -1.5000 -1.2500 -1.0000 -0.7500 -0.5000 -0.2500 0 + -2.0000 -1.7500 -1.5000 -1.2500 -1.0000 -0.7500 -0.5000 -0.2500 0 + -2.0000 -1.7500 -1.5000 -1.2500 -1.0000 -0.7500 -0.5000 -0.2500 0 + -2.0000 -1.7500 -1.5000 -1.2500 -1.0000 -0.7500 -0.5000 -0.2500 0 + -2.0000 -1.7500 -1.5000 -1.2500 -1.0000 -0.7500 -0.5000 -0.2500 0 + -2.0000 -1.7500 -1.5000 -1.2500 -1.0000 -0.7500 -0.5000 -0.2500 0 + -2.0000 -1.7500 -1.5000 -1.2500 -1.0000 -0.7500 -0.5000 -0.2500 0 + + Columns 10 through 17: + + 0.2500 0.5000 0.7500 1.0000 1.2500 1.5000 1.7500 2.0000 + 0.2500 0.5000 0.7500 1.0000 1.2500 1.5000 1.7500 2.0000 + 0.2500 0.5000 0.7500 1.0000 1.2500 1.5000 1.7500 2.0000 + 0.2500 0.5000 0.7500 1.0000 1.2500 1.5000 1.7500 2.0000 + 0.2500 0.5000 0.7500 1.0000 1.2500 1.5000 1.7500 2.0000 + 0.2500 0.5000 0.7500 1.0000 1.2500 1.5000 1.7500 2.0000 + 0.2500 0.5000 0.7500 1.0000 1.2500 1.5000 1.7500 2.0000 + 0.2500 0.5000 0.7500 1.0000 1.2500 1.5000 1.7500 2.0000 + 0.2500 0.5000 0.7500 1.0000 1.2500 1.5000 1.7500 2.0000 + 0.2500 0.5000 0.7500 1.0000 1.2500 1.5000 1.7500 2.0000 + 0.2500 0.5000 0.7500 1.0000 1.2500 1.5000 1.7500 2.0000 + 0.2500 0.5000 0.7500 1.0000 1.2500 1.5000 1.7500 2.0000 + 0.2500 0.5000 0.7500 1.0000 1.2500 1.5000 1.7500 2.0000 + 0.2500 0.5000 0.7500 1.0000 1.2500 1.5000 1.7500 2.0000 + 0.2500 0.5000 0.7500 1.0000 1.2500 1.5000 1.7500 2.0000 + 0.2500 0.5000 0.7500 1.0000 1.2500 1.5000 1.7500 2.0000 + 0.2500 0.5000 0.7500 1.0000 1.2500 1.5000 1.7500 2.0000 + +octave:106> B1 +B1 = + + Columns 1 through 9: + + -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 + -1.7500 -1.7500 -1.7500 -1.7500 -1.7500 -1.7500 -1.7500 -1.7500 -1.7500 + -1.5000 -1.5000 -1.5000 -1.5000 -1.5000 -1.5000 -1.5000 -1.5000 -1.5000 + -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 + -1.0000 -1.0000 -1.0000 -1.0000 -1.0000 -1.0000 -1.0000 -1.0000 -1.0000 + -0.7500 -0.7500 -0.7500 -0.7500 -0.7500 -0.7500 -0.7500 -0.7500 -0.7500 + -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 + -0.2500 -0.2500 -0.2500 -0.2500 -0.2500 -0.2500 -0.2500 -0.2500 -0.2500 + 0 0 0 0 0 0 0 0 0 + 0.2500 0.2500 0.2500 0.2500 0.2500 0.2500 0.2500 0.2500 0.2500 + 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000 + 0.7500 0.7500 0.7500 0.7500 0.7500 0.7500 0.7500 0.7500 0.7500 + 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 + 1.2500 1.2500 1.2500 1.2500 1.2500 1.2500 1.2500 1.2500 1.2500 + 1.5000 1.5000 1.5000 1.5000 1.5000 1.5000 1.5000 1.5000 1.5000 + 1.7500 1.7500 1.7500 1.7500 1.7500 1.7500 1.7500 1.7500 1.7500 + 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 + + Columns 10 through 17: + + -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 + -1.7500 -1.7500 -1.7500 -1.7500 -1.7500 -1.7500 -1.7500 -1.7500 + -1.5000 -1.5000 -1.5000 -1.5000 -1.5000 -1.5000 -1.5000 -1.5000 + -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 -1.2500 + -1.0000 -1.0000 -1.0000 -1.0000 -1.0000 -1.0000 -1.0000 -1.0000 + -0.7500 -0.7500 -0.7500 -0.7500 -0.7500 -0.7500 -0.7500 -0.7500 + -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 + -0.2500 -0.2500 -0.2500 -0.2500 -0.2500 -0.2500 -0.2500 -0.2500 + 0 0 0 0 0 0 0 0 + 0.2500 0.2500 0.2500 0.2500 0.2500 0.2500 0.2500 0.2500 + 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000 0.5000 + 0.7500 0.7500 0.7500 0.7500 0.7500 0.7500 0.7500 0.7500 + 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 + 1.2500 1.2500 1.2500 1.2500 1.2500 1.2500 1.2500 1.2500 + 1.5000 1.5000 1.5000 1.5000 1.5000 1.5000 1.5000 1.5000 + 1.7500 1.7500 1.7500 1.7500 1.7500 1.7500 1.7500 1.7500 + 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 + +octave:107> F +F = + + Columns 1 through 9: + + -0.0007 -0.0015 -0.0029 -0.0048 -0.0067 -0.0078 -0.0071 -0.0043 0 + -0.0017 -0.0038 -0.0074 -0.0123 -0.0172 -0.0200 -0.0182 -0.0110 0 + -0.0039 -0.0086 -0.0167 -0.0276 -0.0388 -0.0450 -0.0410 -0.0248 0 + -0.0077 -0.0172 -0.0331 -0.0549 -0.0771 -0.0896 -0.0816 -0.0492 0 + -0.0135 -0.0301 -0.0582 -0.0964 -0.1353 -0.1572 -0.1433 -0.0864 0 + -0.0209 -0.0466 -0.0901 -0.1493 -0.2096 -0.2435 -0.2219 -0.1338 0 + -0.0285 -0.0637 -0.1231 -0.2041 -0.2865 -0.3328 -0.3033 -0.1829 0 + -0.0344 -0.0769 -0.1485 -0.2461 -0.3456 -0.4014 -0.3658 -0.2206 0 + -0.0366 -0.0818 -0.1581 -0.2620 -0.3679 -0.4273 -0.3894 -0.2349 0 + -0.0344 -0.0769 -0.1485 -0.2461 -0.3456 -0.4014 -0.3658 -0.2206 0 + -0.0285 -0.0637 -0.1231 -0.2041 -0.2865 -0.3328 -0.3033 -0.1829 0 + -0.0209 -0.0466 -0.0901 -0.1493 -0.2096 -0.2435 -0.2219 -0.1338 0 + -0.0135 -0.0301 -0.0582 -0.0964 -0.1353 -0.1572 -0.1433 -0.0864 0 + -0.0077 -0.0172 -0.0331 -0.0549 -0.0771 -0.0896 -0.0816 -0.0492 0 + -0.0039 -0.0086 -0.0167 -0.0276 -0.0388 -0.0450 -0.0410 -0.0248 0 + -0.0017 -0.0038 -0.0074 -0.0123 -0.0172 -0.0200 -0.0182 -0.0110 0 + -0.0007 -0.0015 -0.0029 -0.0048 -0.0067 -0.0078 -0.0071 -0.0043 0 + + Columns 10 through 17: + + 0.0043 0.0071 0.0078 0.0067 0.0048 0.0029 0.0015 0.0007 + 0.0110 0.0182 0.0200 0.0172 0.0123 0.0074 0.0038 0.0017 + 0.0248 0.0410 0.0450 0.0388 0.0276 0.0167 0.0086 0.0039 + 0.0492 0.0816 0.0896 0.0771 0.0549 0.0331 0.0172 0.0077 + 0.0864 0.1433 0.1572 0.1353 0.0964 0.0582 0.0301 0.0135 + 0.1338 0.2219 0.2435 0.2096 0.1493 0.0901 0.0466 0.0209 + 0.1829 0.3033 0.3328 0.2865 0.2041 0.1231 0.0637 0.0285 + 0.2206 0.3658 0.4014 0.3456 0.2461 0.1485 0.0769 0.0344 + 0.2349 0.3894 0.4273 0.3679 0.2620 0.1581 0.0818 0.0366 + 0.2206 0.3658 0.4014 0.3456 0.2461 0.1485 0.0769 0.0344 + 0.1829 0.3033 0.3328 0.2865 0.2041 0.1231 0.0637 0.0285 + 0.1338 0.2219 0.2435 0.2096 0.1493 0.0901 0.0466 0.0209 + 0.0864 0.1433 0.1572 0.1353 0.0964 0.0582 0.0301 0.0135 + 0.0492 0.0816 0.0896 0.0771 0.0549 0.0331 0.0172 0.0077 + 0.0248 0.0410 0.0450 0.0388 0.0276 0.0167 0.0086 0.0039 + 0.0110 0.0182 0.0200 0.0172 0.0123 0.0074 0.0038 0.0017 + 0.0043 0.0071 0.0078 0.0067 0.0048 0.0029 0.0015 0.0007 + +octave:108> figure +octave:109> surf(A1, B1, F) +octave:110> figure +octave:111> mesh(A1, B1, F) +octave:112> close all +octave:113> help quiver +'quiver' is a function from the file /usr/share/octave/7.3.0/m/plot/draw/quiver.m + + -- quiver (U, V) + -- quiver (X, Y, U, V) + -- quiver (..., S) + -- quiver (..., STYLE) + -- quiver (..., "filled") + -- quiver (HAX, ...) + -- H = quiver (...) + + Plot a 2-D vector field with arrows. + + Plot the (U, V) components of a vector field at the grid points + defined by (X, Y). If the grid is uniform then X and Y can be + specified as vectors and 'meshgrid' is used to create the 2-D grid. + + If X and Y are not given they are assumed to be '(1:M, 1:N)' where + '[M, N] = size (U)'. + + The optional input S is a scalar defining a scaling factor to use + for the arrows of the field relative to the mesh spacing. A value + of 1.0 will result in the longest vector exactly filling one grid + square. A value of 0 disables all scaling. The default value is + 0.9. + + The style to use for the plot can be defined with a line style + STYLE of the same format as the 'plot' command. If a marker is + specified then the markers are drawn at the origin of the vectors + (which are the grid points defined by X and Y). When a marker is + specified, the arrowhead is not drawn. If the argument "filled" is + given then the markers are filled. + + If the first argument HAX is an axes handle, then plot into this + axes, rather than the current axes returned by 'gca'. + + The optional return value H is a graphics handle to a quiver + object. A quiver object regroups the components of the quiver plot + (body, arrow, and marker), and allows them to be changed together. + + Example: + + [x, y] = meshgrid (1:2:20); + h = quiver (x, y, sin (2*pi*x/10), sin (2*pi*y/10)); + set (h, "maxheadsize", 0.33); + + See also: quiver3, compass, feather, plot. + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:114> help quiver3 +'quiver3' is a function from the file /usr/share/octave/7.3.0/m/plot/draw/quiver3.m + + -- quiver3 (X, Y, Z, U, V, W) + -- quiver3 (Z, U, V, W) + -- quiver3 (..., S) + -- quiver3 (..., STYLE) + -- quiver3 (..., "filled") + -- quiver3 (HAX, ...) + -- H = quiver3 (...) + + Plot a 3-D vector field with arrows. + + Plot the (U, V, W) components of a vector field at the grid points + defined by (X, Y, Z). If the grid is uniform then X, Y, and Z can + be specified as vectors and 'meshgrid' is used to create the 3-D + grid. + + If X and Y are not given they are assumed to be '(1:M, 1:N)' where + '[M, N] = size (U)'. + + The optional input S is a scalar defining a scaling factor to use + for the arrows of the field relative to the mesh spacing. A value + of 1.0 will result in the longest vector exactly filling one grid + cube. A value of 0 disables all scaling. The default value is + 0.9. + + The style to use for the plot can be defined with a line style + STYLE of the same format as the 'plot' command. If a marker is + specified then the markers are drawn at the origin of the vectors + (which are the grid points defined by X, Y, Z). When a marker is + specified, the arrowhead is not drawn. If the argument "filled" is + given then the markers are filled. + + If the first argument HAX is an axes handle, then plot into this + axes, rather than the current axes returned by 'gca'. + + The optional return value H is a graphics handle to a quiver + object. A quiver object regroups the components of the quiver plot + (body, arrow, and marker), and allows them to be changed together. + + [x, y, z] = peaks (25); + surf (x, y, z); + hold on; + [u, v, w] = surfnorm (x, y, z / 10); + h = quiver3 (x, y, z, u, v, w); + set (h, "maxheadsize", 0.33); + + See also: quiver, compass, feather, plot. + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:115> help feather +'feather' is a function from the file /usr/share/octave/7.3.0/m/plot/draw/feather.m + + -- feather (U, V) + -- feather (Z) + -- feather (..., STYLE) + -- feather (HAX, ...) + -- H = feather (...) + + Plot the '(U, V)' components of a vector field emanating from + equidistant points on the x-axis. + + If a single complex argument Z is given, then 'U = real (Z)' and 'V + = imag (Z)'. + + The style to use for the plot can be defined with a line style + STYLE of the same format as the 'plot' command. + + If the first argument HAX is an axes handle, then plot into this + axes, rather than the current axes returned by 'gca'. + + The optional return value H is a vector of graphics handles to the + line objects representing the drawn vectors. + + phi = [0 : 15 : 360] * pi/180; + feather (sin (phi), cos (phi)); + + See also: plot, quiver, compass. + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:116> figure +octave:117> imshow([1 0; 0 1]) +octave:118> imshow(1:255) +octave:119> imshow([1 .5; .5 1]) +octave:120> whos +Variables visible from the current scope: + +variables in scope: top scope + + Attr Name Size Bytes Class +octave:124> whos +octave:125> x = [1 0; 0 1] +x = + + 1 0 + 0 1 + +octave:126> whose +error: 'whose' undefined near line 1, column 1 +octave:127> whos +Variables visible from the current scope: + +variables in scope: top scope + + Attr Name Size Bytes Class + ==== ==== ==== ===== ===== + x 2x2 32 double + +Total is 4 elements using 32 bytes + +octave:128> imshow(x) +octave:129> imshow(int(x)) +error: 'int' undefined near line 1, column 8 +octave:130> int +int16 int64 integral2 interp2 interpn intmin +int2str int8 integral3 interp3 intersect +int32 integral interp1 interpft intmax +octave:130> imshow(int8(x)) +error: imshow: invalid data type for image +error: called from + imshow at line 199 column 9 +octave:131> close all +octave:132> image = reshape(linspace(0, 1, 12), 2, 2, 3) +image = + +ans(:,:,1) = + + 0 0.1818 + 0.0909 0.2727 + +ans(:,:,2) = + + 0.3636 0.5455 + 0.4545 0.6364 + +ans(:,:,3) = + + 0.7273 0.9091 + 0.8182 1.0000 + +octave:133> imshow(image) +octave:134> image(:, :, 3) = 0 +image = + +ans(:,:,1) = + + 0 0.1818 + 0.0909 0.2727 + +ans(:,:,2) = + + 0.3636 0.5455 + 0.4545 0.6364 + +ans(:,:,3) = + + 0 0 + 0 0 + +octave:135> imshow(image) +octave:136> image(:, :, 2) = 0 +image = + +ans(:,:,1) = + + 0 0.1818 + 0.0909 0.2727 + +ans(:,:,2) = + + 0 0 + 0 0 + +ans(:,:,3) = + + 0 0 + 0 0 + +octave:137> imshow(image) +octave:138> close all +octave:139> diff --git a/lessons/lesson03/plotting.m b/lessons/lesson03/plotting.m new file mode 100644 index 0000000..1b32273 --- /dev/null +++ b/lessons/lesson03/plotting.m @@ -0,0 +1,152 @@ +%% Lesson 5a: Plotting +% +% We are going to go through several plotting schemes, and explore how you +% can customize plotting. We would go through 2D plotting, surface +% plotting, subplot, stem plot and 3D plotting +% +% In this file the `command syntax` style of functions will be used when +% possible, just to get you familiar with the style. +clear; clc; close all; + +%% 2D plotting: line graphs +% In general, always annotate your plots appropriately! Use a title, +% axis labels, legends, etc. as necessary. Set appropriate bounds, +% appropriate scaling (e.g., linear vs. logarithmic), and the correct +% type of plot. We'll start simple with line plots. +x = -10:0.1:10; +y = x.^3; +y2 = x.^2; + +hold on; % plotting more than 1 plot on 1 figure rather than overwriting + +plot(x, y, 'DisplayName', 'x^3'); +plot(x, y2, 'DisplayName', 'x^2'); + +hold off; + +xlabel 'x axis'; +ylabel 'y axis'; +title 'Example 1'; +xlim([-10 10]); +ylim([-10 10]); +% axis([-10 10 -10 10]); +grid on; +legend show; % 'DisplayName does this + +%% Example 2: Plotting sine and cosine +t = 0:.1:10; +d1 = sin(t); +d2 = cos(t); + +figure; + +% plot(t, [d1.' d2.']); +% plot(t, d1, t, d2); + +hold on; +plot(t, d1); +plot(t, d2); +hold off; + +title 'Trig Functions'; + +% We can use some LaTeX-like symbols like \mu, \beta, \pi, \leq, \infty. +% For full LaTeX support use the `Interpreter: latex` option +xlabel 'time (\mu)s'; + +ylabel voltage; +legend sin cos; + +% Save to file; gcf() is "get current figure" +exportgraphics(gcf(), "sample_plot.png"); + +%% More plotting options +% Legends, axis ticks (and labels), LaTeX interpreter +figure; + +% Options for changing line pattern and color. +% Don't need `hold on`/`hold off` if multiple lines plotted with a single +% `plot` function. +plot(t, d1, 'b-.', t, d2, 'rp'); + +title 'Trig Functions'; +xlabel 'time ($\mu$s)' Interpreter latex +ylabel voltage; +legend('sin', 'cos'); +xticks(0:pi/2:10); +xticklabels({'0', '\pi/2', '\pi', '3\pi/2', '2\pi', '5\pi/2', '3\pi'}); + +% Many other options availible for plotting. Check the documentation or +% search online for options. + +%% Subplots +% Subplots exist for stylistic purposes. Let's say you have a signal and +% you want to plot the magnitude and phase of the signal itself. It would +% make more sense if the magnitude and phase plots exist in the same +% figure. There are several examples fo subplot below to explain how it +% works. Note that linear indexing of plots is different from normal linear +% indexing. + +figure; +subplot(2,2,1); % subplot(# of rows, # of columns, index) +plot(t,d1); +hold on; +plot(t, d2); +title 'Normal plot'; + +subplot(2, 2, 2); % index runs down rows, not columns! +plot(t, d1, 'b-.', t, d2, 'rp'); +title 'Customized plot'; + +%% Stem plots +% stem plots are particularly useful when you are representing digital +% signals, hence it is good (and necessary) to learn them too! +% subplot(2,2,[3 4]) % takes up two slots +subplot(2, 1, 2); +hold on; +stem(t, d1); +stem(t, d2); +hold off; +title 'Stem plots'; + +sgtitle Subplots; + +%% Tiling -- like subplots but newer +figure; +tiledlayout(2, 2); + +nexttile; +plot(t, d1); + +nexttile; +plot(t, d2); + +%% A 3-D parametric function +% A helix curve +t = linspace(0,10*pi); + +figure; +plot3(sin(t), cos(t), t); +xlabel sin(t); +ylabel cos(t); +zlabel t; +text(0, 0, 0, 'origin'); +grid on; +title Helix; + +%% Surface plot +% A shaded look for 2-D functions +% +% $f(x) = x\exp -(x^2+y^2)$ +a1 = -2:0.25:2; +b1 = a1; +[A1, B1] = meshgrid(a1); +F = A1.*exp(-A1.^2-B1.^2); + +figure; +surf(A1,B1,F); + +%% Mesh plot +% A wireframe look for 2-D functions +figure; +mesh(A1,B1,F); diff --git a/lessons/lesson04/BasicClass.m b/lessons/lesson04/BasicClass.m new file mode 100644 index 0000000..2cc8ad4 --- /dev/null +++ b/lessons/lesson04/BasicClass.m @@ -0,0 +1,24 @@ +classdef BasicClass + % BasicClass is a simple sample class definition + properties (Access = private) + vals % vector + end + + methods + function obj = BasicClass(x) + % Construct an instance of this class + % Sets x to the object's vals property + obj.vals = x; + end + + function z = getVals(obj) + z = obj.vals; + end + + function z = findClosest(obj,n) + % Find closest entry in obj.vals to n + [~, ind] = min(abs(obj.vals - n)); + z = obj.vals(ind); + end + end +end \ No newline at end of file diff --git a/lessons/lesson04/controlflow.m b/lessons/lesson04/controlflow.m new file mode 100644 index 0000000..4091576 --- /dev/null +++ b/lessons/lesson04/controlflow.m @@ -0,0 +1,57 @@ +%% Lesson 4b: Control Sequences +% +% Since it likes to play at being a general purpose programming language, +% MATLAB has control flow constructs (if, loops, etc.). Sometimes not +% everything is achievable with a linear set of instructions and vectorization, +% such as in particularly complex situations. + +clear; clc; close all; + +%% For loops (a review) +total=0; +for i=1:10 + total = total + i; +end +total + +%% If...Else Statements +gpa = 2.3; +if gpa < 2 + fprintf('You are in DANGER!!!\n') +elseif gpa >= 2 && gpa < 3.5 + fprintf('You are safe.\n') +elseif gpa >= 3.5 && gpa < 3.7 + fprintf('Cum Laude\n') +elseif gpa >= 3.7 && gpa < 3.8 + fprintf('Magna Cum Laude\n') +elseif gpa >= 3.8 && gpa < 4 + fprintf('Summa Cum Laude\n') +else + fprintf("invalid gpa\n") +end + +%% While loop +% Iterate while a condition is true, as opposed to iterating over a vector. +total = 0; +i = 0; +while i <= 10 + total = total + i; + i = i+1; +end +total + +%% Try/catch blocks +% Try and catch allow for error handling, which can be useful when using +% user-supplied input that may be invalid. See the documentation of any +% function to see what errors it may throw. +% +% It is also a good idea for you to validate input if writing a function +% intended to be used by other people. This is very common in all MATLAB +% builtin/toolbox functions. +try + a = [1 2; 3 4]; + b = [1 2 3 4]; + c = a*b % can't do this! not the right dimensions! +catch err + fprintf('Hey! Not allowed!\n'); +end diff --git a/lessons/lesson04/datatypes.m b/lessons/lesson04/datatypes.m new file mode 100644 index 0000000..5a95701 --- /dev/null +++ b/lessons/lesson04/datatypes.m @@ -0,0 +1,162 @@ +%% Lesson 5b: Datatypes +% There are several basic data types in MATLAB: +% +% - single, double (floating pt. 32 and 64 bit respectively) +% - int8, int16, int32, int64 (different size integers) +% - uint8, uint16, uint32, uint64 (different size unsigned intergers) +% - logicals +% - char arrays, strings +% - cell arrays +clc; clear; close all; + +%% What type is this? +% You can get the data type of a variable using the class function. Most +% of the time, values default to fp64, which is often good for +% scientific computing with high accuracy. +a = 10; +class(a); + +b = int8(a); +class(b); + +%% Data Type Sizes +% Different data types take up different amounts of space in your memory +% and hard drive. Let's take a look at some standard sizes in MATLAB. +A = randn(1, 'double'); +B = randn(1, 'single'); +C = true(1); +D = 'D'; + +% lists info of the variables in the current workspace +whos; + +% If your data is getting too large, it can help to cast to smaller types. +% `single` is a smaller fp type, and uint8/uint16 are smaller + +%% Different Interpretations +% Be careful with what data types you feed into built in functions. +% MATLAB will have different responses to different types. + +% imshow with ints +imshow(uint8(rand(128, 128, 3))); + +%% +% imshow with doubles +imshow(double(rand(128, 128, 3))); + +%% Overflow and Underflow +% With floating point, we are trying to represent real numbers. Obviously +% there must be some spacing between representable numbers using a +% fixed-size representation. Let's take a look. +% +% eps() shows the error between a number and its true value given IEEE +% floating-point. +L = logspace(-400, 400, 4096); +loglog(L, eps(L), single(L), eps(single(L))); + +% As the plot shows, doubles have a much larger range as well as higher +% precision at each point. Let's see how this applies in practice. + +%% More examples examples of eps +eps(1); +(1 + 0.5001*eps(1)) - 1; +(1 + 0.4999*eps(1)) - 1; + +eps(1e16); +1 + 1e16 == 1e16; + +%% More examples of overflow/underflow +single(10^50); +single(10^-50); + +uint8(256); +int8(-129); + +%% Cell Arrays +% Matrices can only store values of the same type (homogenous data). +% Cell arrays can store heterogeneous (but still rectangular) data. +% However, they are relatively slow and should be used sparingly. +courses = { + '', 'Modern Physics', 'Signals and Systems', ... + 'Complex Analysis', 'Drawing and Sketching for Engineers'; ... + + 'Grades', 70 + 3*randn(132,1), 80 + 3*randn(41,1), ... + 40 + 3*randn(20,1), 100*ones(29,1); ... + + 'Teachers', {'Debroy'; 'Yecko'}, {'Fontaine'}, {'Smyth'}, {'Dell'} +}; + +%% Difference between {} and () +% As we've seen before, () performs matrix indexing. A cell array behaves +% as a matrix of cell-arrays; indexing it using () will also produce a cell +% array. +% +% {} performs matrix indexing, and also extracts the values of the cell(s). +% Usually, this is what you want when immediately indexing a cell array. +% +% Confusingly (or not?) you can double-index cell arrays using `{}`, but +% you cannot double-index matrices using `()`. +courses(1,2); +courses{1,2}; +courses{2,2}(3:5,1); +courses(3,2); +courses{3,2}; +courses{3,2}{1}(1); + +%% Objects and Classes +% MATLAB supports OOP programming. We saw a basic class definition last +% class. Classes are also used in all of MATLAB's toolboxes (e.g., ML, +% signal processing). +x = randn(10000, 1); +h = histogram(x); % h is a histogram class + +properties(h); +methods(h); + +% Check out the documentation for more info on the histogram class and +% other classes. + +%% Structs and Objects +% MATLAB also supports `struct`s. Structs are like objects in that they +% can combine multiple values under the same variable (composite data), +% and use the same dot-indexing syntax. However, they are not defined by +% and constructed using a class, but rather using the `struct` constructor. + +sfield1 = 'a'; svalue1 = 5; +sfield2 = 'b'; svalue2 = [3 6]; +sfield3 = 'c'; svalue3 = "Hello World"; +sfield4 = 'd'; svalue4 = {'cell array'}; + +s = struct( ... + sfield1, svalue1, ... + sfield2, svalue2, ... + sfield3, svalue3, ... + sfield4, svalue4 ... +); + +s.a; +s.b(2); + +%% Struct with cell array fields +% Cell arrays as struct fields may be used to generate an array of structs. +tfield1 = 'f1'; tvalue1 = zeros(1,10); +tfield2 = 'f2'; tvalue2 = {'a', 'b'}; +tfield3 = 'f3'; tvalue3 = {pi, pi.^2}; +tfield4 = 'f4'; tvalue4 = {'fourth'}; +t = struct( ... + tfield1, tvalue1, ... + tfield2, tvalue2, ... + tfield3, tvalue3, ... + tfield4, tvalue4 ... +); + +t(1); +t(2); + +%% Adding fields to a struct +% Struct fields are not fixed; you can add fields to it after it is +% constructed using dot-indexing. +u = struct; +u.a = [1 3 5 7]; +u.b = ["Hello","World!"]; +u; diff --git a/lessons/lesson04/distance.m b/lessons/lesson04/distance.m new file mode 100644 index 0000000..9cd425a --- /dev/null +++ b/lessons/lesson04/distance.m @@ -0,0 +1,19 @@ +% In a file like this one (which only defines normal functions, and in which +% the first function is hononymous with the filename), the first function is a +% public function, and all other functions are local helper functions. +% +% Note that you DO NOT want to put clc; clear; close all; at the top of a file +% like this; it only makes sense to do this at the top of script files when you +% want to clean your workspace! + +% Calculate Euclidean distance +% A public function, callable by other files and from the Command Window if +% this is in the MATLAB path. +function d = distance(x, y) + d = sqrt(sq(x) + sq(y)); +end + +% A local helper function. Only accessible within this file. +function x = sq(x) + x = x * x; +end diff --git a/lessons/lesson04/for_loops.m b/lessons/lesson04/for_loops.m new file mode 100644 index 0000000..2fe57b5 --- /dev/null +++ b/lessons/lesson04/for_loops.m @@ -0,0 +1,34 @@ +%% Lesson 2b: Control Sequence - For loops +% Similar to other languages, MATLAB have if, while and for control +% sequences. For loops are one of the commonly used control sequences in +% MATLAB. We will continue the discussion of if and while in the next +% lesson. + +clear; +n = 1e7; +% D = zeros(1,n); % This is called pre-allocation + % try uncommenting this line to see the + % difference. Memory allocations are slow! + +% Calculate fib(n). Hard to do vectorized unless we know Binet's formula. +% (Note that this will quickly overflow, but that's not our objective +% here.) +D(1) = 1; +D(2) = 2; +tic % start timer +for i = 3:n + D(i) = D(i-1) + D(i-2); +end +toc % print elapsed time since last tic + +%% Be careful! +% For loops are considered the more inefficient type of operation in +% MATLAB. Performing operations on vectors is faster because your hardware +% can optimize vectorized instructions, and because the "for" construct +% exists in MATLAB's runtime, which is essentially a scripting language and +% thus is slow. +% +% However, things are changing, and things like parfor (parallel-for) and +% advanced JIT (just-in-time) compilation are improving the performance of +% loops. But vectorized operations are almost always faster and should +% be used where possible. \ No newline at end of file diff --git a/lessons/lesson04/funnnnnn.m b/lessons/lesson04/funnnnnn.m new file mode 100644 index 0000000..7def6a2 --- /dev/null +++ b/lessons/lesson04/funnnnnn.m @@ -0,0 +1,177 @@ +%% Lesson 4a: Functions +% +% Objectives: +% - Explore MATLAB's function-calling syntax and semantics. +% - Explore anonymous functions. +% - Explore local functions. +% - Explore regular functions. +clear; clc; close all; + +%% Functions +% Functions in any programming language are the means of abstraction. In +% functional programming, they are a fundamental structure with the power to +% build any complex form. In imperative and scientific computing, functions are +% useful to prevent code duplication and improve maintainability. +% +% There are a few varieties of MATLAB, each of which has very different syntax +% and semantics, so buckle up! +% +% (Insider information from MathWorks: MATLAB is working on improving the +% support/accesibility of functional programming! So there may be some +% improvements in the near future!) +% +% Note: this lecture was heavily modified by a functional-programming fan! + +%% Using functions +% All functions are called (invoked) in the same manner: by using the +% function's name followed by the list of parameters with which to invoke the +% function. +z = zeros(1, 3); +mean([1, 2, 3, 4, 5]); + +% Functions may have optional parameters, and they may behave differently when +% called with different inputs (polymorphism) or when different numbers of +% outputs are expected. They may also return zero, one, or multiple values. +size1 = size(z); +size2 = size(z, 2); % optional second parameter + +hist(1:10); % displays a historgram +a = hist(1:10); % stores a histogram into the variable a, and does + % not display a histogram + +[r1, r2] = HelloWorld("Jon", "Lam"); % Function returning multiple + % values (HelloWorld defined later in + % file) + +% There is a second way that you've seen to call functions, called "command +% syntax." These are translatable to the regular function syntax. Any textual +% arguments in this syntax will be interpreted as strings, which is similar to +% UNIX sh commands arguments (hence "command" syntax). +clear a b; % clear("a", "b") +close all; % close("all") +mkdir test; % mkdir("test") +rmdir test; % rmdir("test") + +% Note that if a function takes no arguments, the parentheses may also be +% omitted. (This is not true for anonymous functions, as we will see.) +clc; % clc() +figure; % figure() + +%% Anonymous functions +% Anonymous functions are defined with the following syntax: +% +% @(arg1, arg2, ...) fun_body +% +% These allow us to conveniently define functions inline, and perform some +% functional programming capabilities. In other programming languages, they may +% be known as "arrow functions" or "lambda functions." +cube = @(x) x.^3; +parabaloid = @(x, y) x.^2 + y.^2; + +% Call these functions like any other function. +cube(3); +parabaloid(3, 4); + +% As the name suggests, anonymous functions don't have to be assigned names; by +% themselves, they are "function values" or "function expressions" and can be +% handled like any other expression. (I.e., "first-class" functions). Usually, +% we assign it to a variable to name it, just as we do for most useful +% expressions. +@(x) x.^3; +cube_fnval = ans; + +% Anonymous functions can capture variables from the surrounding scope. They +% may exist anywhere an expression may exist (e.g., within the body of another +% function). +outside_variable = 3; +capture_fn = @() outside_variable; +outside_variable = 4; + +capture_fn; % What will this return? +capture_fn(); % What will this return? + +% Lexical scoping and closures apply! This allows for some degree of functional +% programming (e.g., function currying). +curried_sum = @(x) @(y) x + y; +add_two = curried_sum(2); +add_two(5); % The binding x <- 2 is captured in + % add_two's lexical closure + +% add_two(2)(5) % Can't do this due to MATLAB's syntax, + % just like how you can't double-index + % an expression + +%% Example: Higher-order functions +% An example of passing functions around like any other variable. (Functions +% that accept other functions as parameters or return a function are called +% "higher-order functions.") +% +% In this example, compose is the function composition operator. compose(f,g) +% = (f o g). It is a HOF because it takes two functions as parameters, and it +% returns a function. +compose = @(f, g) @(x) f(g(x)); +add_three = @(x) x + 3; +times_four = @(x) x * 4; +x_times_four_plus_three = compose(add_three, times_four); + +x = 0:10; +y = x_times_four_plus_three(x); +plot(x, y); +grid on; + +%% Normal Functions +% "Normal functions" (so-called because they were the first type of function in +% MATLAB) are defined using the syntax shown below, and are invoked in the same +% way as anonymous functions. +% +% Note that normal functions cannot be passed around as variables, and this +% makes a functional-programming style impossible using normal functions. +% +% Unlike anonymous functions, normal functions may include multiple statements, +% may return multiple values, are invoked if appearing in an expression without +% parentheses (unless you use a function handle), and do not capture variables +% from the surrounding scope/workspace. +% +% There are two types of normal functions: "public" normal functions, which +% must be placed at the beginning of a *.m file with the same name as the +% function, or local/private normal functions, which may appear at the end of a +% *.m file (after anything that is not a function). Both types of normal +% functions must appear after any statements in the file; in other words, a +% file defining a non-local function can only contain a list of function +% definitions, the first of is public and the rest of which are private. As the +% name suggests, local functions are only in scope in the file in which they +% are defined, whereas public functions may be accessible if they are on the +% MATLAB path. +% +% You don't need to understand all this right now; this brief explanation and +% the MATLAB documentation can serve as a reference for your future MATLAB +% endeavors. + +%% The MATLAB Path +% In order to call a public function defined in another file, the function file +% must be in the current folder or on the MATLAB path. +matlabpath; % Print out MATLAB path + +%% Invoking regular functions +% Note that this section is before the local function definition because the +% local function must be defined after all statements in the script. +% +% eye() is a builtin function. Here we call it with no arguments, so the first +% argument's value defaults to 1. distance() is a public function defined in +% the file distance.m HelloWorld() is a local function defined below +eye; +distance(3, 4); +HelloWorld("Jon", "Lam"); % Invoking HelloWorld and ignoring outputs + +%% Defining a local function +function [res1, res2] = HelloWorld(name1, name2) + fprintf("Hello, world! %s %s\n", name1, name2); + res1 = 3; + res2 = [5 6]; +end + +%% Other fun stuff: +% Function handles +% `feval` on function handles and strings +% Double-indexing using functions +% Viewing source code using `edit` diff --git a/lessons/lesson04/octave-log.txt b/lessons/lesson04/octave-log.txt new file mode 100644 index 0000000..0fb44bd --- /dev/null +++ b/lessons/lesson04/octave-log.txt @@ -0,0 +1,572 @@ +octave:2> z = zeros(3) +z = + + 0 0 0 + 0 0 0 + 0 0 0 + +octave:3> mean(1:5) +ans = 3 +octave:4> zeros(3) +ans = + + 0 0 0 + 0 0 0 + 0 0 0 + +octave:5> zeros(3, 1) +ans = + + 0 + 0 + 0 + +octave:6> help sum +'sum' is a built-in function from the file libinterp/corefcn/data.cc + + -- sum (X) + -- sum (X, DIM) + -- sum (..., "native") + -- sum (..., "double") + -- sum (..., "extra") + Sum of elements along dimension DIM. + + If DIM is omitted, it defaults to the first non-singleton + dimension. + + The optional "type" input determines the class of the variable used + for calculations. By default, operations on floating point inputs + (double or single) are performed in their native data type, while + operations on integer, logical, and character data types are + performed using doubles. If the argument "native" is given, then + the operation is performed in the same type as the original + argument. + + For example: + + sum ([true, true]) + => 2 + sum ([true, true], "native") + => true + + If "double" is given the sum is performed in double precision even + for single precision inputs. + + For double precision inputs, the "extra" option will use a more + accurate algorithm than straightforward summation. For single + precision inputs, "extra" is the same as "double". For all other + data type "extra" has no effect. + + See also: cumsum, sumsq, prod. + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:7> sum(eye(3)) +ans = + + 1 1 1 + +octave:8> eye(3) +ans = + +Diagonal Matrix + + 1 0 0 + 0 1 0 + 0 0 1 + +octave:9> sum(eye(3)) +ans = + + 1 1 1 + +octave:10> sum(eye(3), 2) +ans = + + 1 + 1 + 1 + +octave:11> sum(eye(3), 3) +ans = + + 1 0 0 + 0 1 0 + 0 0 1 + +octave:12> hold on +octave:13> close all +octave:14> close("all") +octave:15> hold("on") +octave:16> close("all") +octave:17> figure +octave:18> figure() +octave:19> close("all") +octave:20> hist(1:10) +octave:21> close all +octave:22> a = hist(1:10) +a = + + 1 1 1 1 1 1 1 1 1 1 + +octave:23> help find +'find' is a built-in function from the file libinterp/corefcn/find.cc + + -- IDX = find (X) + -- IDX = find (X, N) + -- IDX = find (X, N, DIRECTION) + -- [i, j] = find (...) + -- [i, j, v] = find (...) + Return a vector of indices of nonzero elements of a matrix, as a + row if X is a row vector or as a column otherwise. + + To obtain a single index for each matrix element, Octave pretends + that the columns of a matrix form one long vector (like Fortran + arrays are stored). For example: + + find (eye (2)) + => [ 1; 4 ] + + If two inputs are given, N indicates the maximum number of elements + to find from the beginning of the matrix or vector. + + If three inputs are given, DIRECTION should be one of "first" or + "last", requesting only the first or last N indices, respectively. + However, the indices are always returned in ascending order. + + If two outputs are requested, 'find' returns the row and column + indices of nonzero elements of a matrix. For example: + + [i, j] = find (2 * eye (2)) + => i = [ 1; 2 ] + => j = [ 1; 2 ] + + If three outputs are requested, 'find' also returns a vector + containing the nonzero values. For example: + + [i, j, v] = find (3 * eye (2)) + => i = [ 1; 2 ] + => j = [ 1; 2 ] + => v = [ 3; 3 ] + + If X is a multi-dimensional array of size m x n x p x ..., J + contains the column locations as if X was flattened into a + two-dimensional matrix of size m x (n + p + ...). + + Note that this function is particularly useful for sparse matrices, + as it extracts the nonzero elements as vectors, which can then be + used to create the original matrix. For example: + + sz = size (a); + [i, j, v] = find (a); + b = sparse (i, j, v, sz(1), sz(2)); + + See also: nonzeros. + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:24> cube = @(x) x.^3; +octave:25> cube +cube = + +@(x) x .^ 3 + +octave:26> cube(3) +ans = 27 +octave:27> paraboloid = @(x, y) x.^2 + y.^2; +octave:28> paraboloid(3, 4) +ans = 25 +octave:29> @(x) x.^3 +ans = +octave:35> a = 9 +a = 9 +octave:36> capture = @() a; +octave:37> capture +capture = + +@() a + +octave:38> capture() +ans = 9 +octave:39> capture = @() 9 +capture = + +@() 9 + +octave:40> capture() +ans = 9 +octave:41> capture = @() a; +octave:42> capture() +ans = 9 +octave:43> a = 3 +a = 3 +octave:44> capture() +ans = 9 +octave:45> n = 4 +n = 4 +octave:46> n = 2 +n = 2 +octave:47> pown = @(x) x.^n +pown = + +@(x) x .^ n + +octave:48> pown(3) +ans = 9 +octave:49> n = 4 +n = 4 +octave:50> pown(3) +ans = 9 +octave:51> +^[[200~compose = @(f, g) @(x) f(g(x));^[[201~octave:51> +octave:51> +octave:51> +octave:51> +octave:51> compose = @(f, g) @(x) f(g(x)); +octave:52> +octave:52> +octave:52> +octave:52> +octave:52> +octave:52> add_three = @(x) x + 3; +times_four = @(x) x * 4; +x_times_four_plus_three = compose(add_three, times_four); +octave:55> x_times_four_plus_three +x_times_four_plus_three = + +@(x) f (g (x)) + +octave:56> function y = times_four_plus_three(x) +> x2 = x.*4; +> y = x2 + 3; +> end +octave:57> times_four_plus_three(1) +ans = 7 +octave:58> answer = times_four_plus_three(1) +answer = 7 +octave:59> function [y, z] = mystery_math(p, q) +> y = p + q; +> z = p - q; +> disp('did the math!'); +> end +octave:60> mystery_math(3, 4) +did the math! +ans = 7 +octave:61> [val1, val2] = mystery_math(3, 4) +did the math! +val1 = 7 +val2 = -1 +octave:62> + +[cat@lazarus:~/classes/ece210-materials/2024-van-west/lessons/lesson04] +$ ls +BasicClass.m datatypes.m for_loops.m lecture.txt +controlflow.m distance.m funnnnnn.m +[cat@lazarus:~/classes/ece210-materials/2024-van-west/lessons/lesson04] +$ cat distance.m +% In a file like this one (which only defines normal functions, and in which +% the first function is hononymous with the filename), the first function is a +% public function, and all other functions are local helper functions. +% +% Note that you DO NOT want to put clc; clear; close all; at the top of a file +% like this; it only makes sense to do this at the top of script files when you +% want to clean your workspace! + +% Calculate Euclidean distance +% A public function, callable by other files and from the Command Window if +% this is in the MATLAB path. +function d = distance(x, y) + d = sqrt(sq(x) + sq(y)); +end + +% A local helper function. Only accessible within this file. +function x = sq(x) + x = x * x; +end +[cat@lazarus:~/classes/ece210-materials/2024-van-west/lessons/lesson04] +$ octave +GNU Octave, version 7.3.0 +Copyright (C) 1993-2022 The Octave Project Developers. +This is free software; see the source code for copying conditions. +There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. For details, type 'warranty'. + +Octave was configured for "x86_64-pc-linux-gnu". + +Additional information about Octave is available at https://www.octave.org. + +Please contribute if you find this software useful. +For more information, visit https://www.octave.org/get-involved.html + +Read https://www.octave.org/bugs.html to learn how to submit bug reports. +For information about changes from previous versions, type 'news'. + +octave:1> who +octave:2> distance(3, 4) +ans = 5 +octave:3> path + +Octave's search path contains the following directories: + +. +/usr/lib/x86_64-linux-gnu/octave/7.3.0/site/oct/x86_64-pc-linux-gnu +/usr/lib/x86_64-linux-gnu/octave/site/oct/api-v57/x86_64-pc-linux-gnu +/usr/lib/x86_64-linux-gnu/octave/site/oct/x86_64-pc-linux-gnu +/usr/share/octave/7.3.0/site/m +/usr/share/octave/site/api-v57/m +/usr/share/octave/site/m +/usr/share/octave/site/m/startup +/usr/lib/x86_64-linux-gnu/octave/7.3.0/oct/x86_64-pc-linux-gnu +/usr/share/octave/7.3.0/m +/usr/share/octave/7.3.0/m/audio +/usr/share/octave/7.3.0/m/deprecated +/usr/share/octave/7.3.0/m/elfun +/usr/share/octave/7.3.0/m/general +/usr/share/octave/7.3.0/m/geometry +/usr/share/octave/7.3.0/m/gui +/usr/share/octave/7.3.0/m/help +/usr/share/octave/7.3.0/m/image +/usr/share/octave/7.3.0/m/io +/usr/share/octave/7.3.0/m/java +/usr/share/octave/7.3.0/m/legacy +/usr/share/octave/7.3.0/m/linear-algebra +/usr/share/octave/7.3.0/m/miscellaneous +/usr/share/octave/7.3.0/m/ode +/usr/share/octave/7.3.0/m/optimization +/usr/share/octave/7.3.0/m/path +/usr/share/octave/7.3.0/m/pkg +/usr/share/octave/7.3.0/m/plot +/usr/share/octave/7.3.0/m/plot/appearance +/usr/share/octave/7.3.0/m/plot/draw +/usr/share/octave/7.3.0/m/plot/util +/usr/share/octave/7.3.0/m/polynomial +/usr/share/octave/7.3.0/m/prefs +/usr/share/octave/7.3.0/m/profiler +/usr/share/octave/7.3.0/m/set +/usr/share/octave/7.3.0/m/signal +/usr/share/octave/7.3.0/m/sparse +/usr/share/octave/7.3.0/m/specfun +/usr/share/octave/7.3.0/m/special-matrix +/usr/share/octave/7.3.0/m/startup +/usr/share/octave/7.3.0/m/statistics +/usr/share/octave/7.3.0/m/strings +/usr/share/octave/7.3.0/m/testfun +/usr/share/octave/7.3.0/m/time +/usr/share/octave/7.3.0/m/web +/usr/share/octave/7.3.0/data + +octave:4> power_to_dB = @(p) 10*log10(p); +octave:5> dB_to_power = @(db) 10.^(db./10); +octave:6> power_to_dB(10) +ans = 10 +octave:7> power_to_dB(1000) +ans = 30 +octave:8> power_to_dB(100) +ans = 20 +octave:9> dB_to_power(10) +ans = 10 +octave:10> dB_to_power(-10) +ans = 0.1000 +octave:11> for v = [1 2 5 7] +> v +> end +v = 1 +v = 2 +v = 5 +v = 7 +octave:12> for i = 1:10 +> i + 3 +> end +ans = 4 +ans = 5 +ans = 6 +ans = 7 +ans = 8 +ans = 9 +ans = 10 +ans = 11 +ans = 12 +ans = 13 +octave:13> total = 0 +total = 0 +octave:14> for i = 1:10 +> total = total + i +> end +total = 1 +total = 3 +total = 6 +total = 10 +total = 15 +total = 21 +total = 28 +total = 36 +total = 45 +total = 55 +octave:15> sum(1:10) +ans = 55 +octave:16> 1 < 2 +ans = 1 +octave:17> who +Variables visible from the current scope: + +ans dB_to_power i power_to_dB total v + +octave:18> whos +Variables visible from the current scope: + +variables in scope: top scope + + Attr Name Size Bytes Class + ==== ==== ==== ===== ===== + ans 1x1 1 logical + dB_to_power 1x1 0 function_handle + i 1x1 8 double + power_to_dB 1x1 0 function_handle + total 1x1 8 double + v 1x1 8 double + +Total is 6 elements using 25 bytes + +octave:19> if 1 < 2 +> disp('math still works today'); +> else +> disp('oh no'); +> end +math still works today +octave:20> i = 0 +i = 0 +octave:21> while i < 10 +> i = i + 1 +> end +i = 1 +i = 2 +i = 3 +i = 4 +i = 5 +i = 6 +i = 7 +i = 8 +i = 9 +i = 10 +octave:22> try +> a = [1 2; 3 4]; +> b = [1 2 3 4]; +> c = a*b; +> catch err +> disp('yo! don't do that!') +error: parse error: + + syntax error + +>>> disp('yo! don't do that!') + ^ +octave:22> try +> a = [1 2; 3 4]; +> b = [1 2 3 4]; +> c = a*b; +> catch err +> disp('yo! do not do that!') +> end +yo! do not do that! +octave:23> a +a = + + 1 2 + 3 4 + +octave:24> b +b = + + 1 2 3 4 + +octave:25> a*b +error: operator *: nonconformant arguments (op1 is 2x2, op2 is 1x4) +octave:26> clear +octave:27> whos +octave:28> a = 10 +a = 10 +octave:29> class(a) +ans = double +octave:30> b = int8(a) +b = 10 +octave:31> class(b) +ans = int8 +octave:32> b + .5 +ans = 11 +octave:33> whos +Variables visible from the current scope: + +variables in scope: top scope + + Attr Name Size Bytes Class + ==== ==== ==== ===== ===== + a 1x1 8 double + ans 1x1 1 int8 + b 1x1 1 int8 + +Total is 3 elements using 10 bytes + +octave:34> +octave:34> +octave:34> +^[[200~imshow(uint8(rand(128, 128, 3)));^[[201~octave:34> +octave:34> +octave:34> imshow(uint8(rand(128, 128, 3))); +octave:35> close all +octave:36> +^[[200~imshow(double(rand(128, 128, 3)));^[[201~octave:36> +octave:36> +octave:36> +octave:36> +octave:36> imshow(double(rand(128, 128, 3))); +octave:37> close all +octave:38> imshow(uint8(rand(128, 128, 3))); +octave:39> close all +octave:40> imshow(uint8(rand(128, 128, 3))); +octave:40> eps +ans = 2.2204e-16 +octave:41> eps(1) +ans = 2.2204e-16 +octave:42> eps(.001) +ans = 2.1684e-19 +octave:43> eps(10000) +ans = 1.8190e-12 +octave:44> eps(1e100) +ans = 1.9427e+84 +octave:45> 10^(10^10) +ans = Inf +octave:46> a = 5 +a = 5 +octave:47> b = "hello!" +b = hello! +octave:48> s = struct('a', 5, 'b', "hello!") +s = + + scalar structure containing the fields: + + a = 5 + b = hello! + +octave:49> s +s = + + scalar structure containing the fields: + + a = 5 + b = hello! + +octave:50> s.a +ans = 5 +octave:51> s.b +ans = hello! +octave:52> diff --git a/lessons/lesson05/indexing.m b/lessons/lesson05/indexing.m new file mode 100644 index 0000000..a1a2da6 --- /dev/null +++ b/lessons/lesson05/indexing.m @@ -0,0 +1,127 @@ +%% Lesson 3b: Advanced Indexing +% +% Objectives: +% - Review basic vector indexing +% - Introduce multidimensional indexing and linear indexing +% - Introduce logical indexing +clear; clc; close all; + +%% Review of basic vector indexing +% Indexed expressions can appear on the right-hand side of an assignment or the +% left-hand side (rvalues and lvalues in C). +x = [2 4 8 16 32 64 128]; +x(3); +x(4:6); +x(:); +x(end); +x(2) = -4; + +%% Vectors indexing vectors +% You can use a vector to index another vector. This can be useful if there is +% a specific index pattern you want from a vector. + +x([1 3 5 7]); % Returns a vector with the 1st, 3rd, 5th, and 7th + % entries of x +x(1:2:7); % Same thing uses the colon operator to create the + % index vector +x([2:4 3:6]); +x([1:4]) = 7; % Changes the values from the 1st and 4th entries + % of x to 7 + +%% Indexing matrices with 2 subscripts +% You can index a matrix using two indices, separated by a comma. +A = [16 2 3 13; 5 11 10 8; 9 7 6 12; 4 14 15 1]; + +A(1,1); % Returns entry in first row and first column +A(1:3,1:2); % Returns the entries in the first three rows AND + % first two columns +A(end,:); + +% What if I want to index the (2,1), (3,2), (4,4) entries? + +A([2 3 4],[1 2 4]); % Will this work? + +%% Linear Indexing +% Instead you should index linearly! Linear indexing only uses one +% subscript + +A(:); % What does this return and in what form and order? + +reshape(A, [], 1); % What about this? + +A(14); % What value does this return? + + +%% Non-rectangular indices +% Now that we know about linear indexing, what values does this return? +A([2 7 16]); + +% Luckily enough, MATLAB has a function that would calculate the linear +% index for you! +ind = sub2ind(size(A),[2 3 4],[1 2 4]); +A(ind); + +% Note that sub2ind follows a common naming convention in MATLAB for converting +% one type to another. For example, there is also ind2sub, str2int, int2str, +% zp2tf, tf2zp, etc. + +%% Logical Indexing +% Logical indexing allows us to use boolean logic to build more complex +% indices. This is based off of boolean logic: we have two boolean values TRUE +% (represented by 1) and FALSE (represented by 0), and the boolean operators +% AND, OR, and NOT. +% +% Logical scalar and matrix literals can be constructed from double and matrix +% literals using the logical() function, or they may be generated from other +% operations. (Note that logical and double values have different data types.) + +B = eye(4); % Regular identity matrix +C = logical([1 1 1 1; 1 0 0 0; 1 0 0 0; 1 0 0 0]); % Logical entries +islogical(B); + +islogical(C); + +%% Some logical operators +B = logical(B); % Converts B into a logical array + +B & C; % and(B,C) is equivalent to B&C +B | C; % or(B,C) is equivalent to B|C +~(B & C); % not(and(B,C)) is equivalent to ~(B&C) +not(B & C); % you can use both representations intermittenly + +%% Functions that generate logical values +% The following functions are analogous to the ones() and zeros() functions +% for double matrices. +true(2,5); % creates a 2x5 logical matrix of trues(1s) +false(2,5); + +%% Generating logical values from predicates +% Relational (comparison) operators generate logical values. Relational +% operators on matrices will perform the operation element-wise and return a +% logical matrix. +% +% This is not anything really special, since we've seen element-wise operations +% on matrices. The only change is that instead of functions that return +% numbers, we have functions that return booleans (predicates). +D = [1 2 3; 2 3 4; 3 4 5]; +E = [1 5 6; 9 2 8; 7 3 4]; + +D == 3; % Returns true every place there is a 3. + +D < E; % Elementwise comparison +D < 3; % Elementwise comparison against a scalar. + % (Note: this is broadcasting!) +D < [7; 4; 1]; % Another example of broadcasting: comparison + % of each row against a scalar. + +%% Logical indexing +% Logical indexing uses a logical value as the index. Elements in the indexed +% matrix where the logical index is TRUE will be returned, and FALSE values +% will be disregarded. The returned matrix will always be a column vector, +% similar to indexing with (:). +A(A > 12); % returns entries of A which are greater + % than 12 in a column vector + +% To return the linear indices of the TRUE values in a logical matrix. +find(A > 12); +A(find(A > 12)); % Gives the same results as above diff --git a/lessons/lesson05/meshgrid_broadcasting.m b/lessons/lesson05/meshgrid_broadcasting.m new file mode 100644 index 0000000..76bbcf0 --- /dev/null +++ b/lessons/lesson05/meshgrid_broadcasting.m @@ -0,0 +1,44 @@ +%% Lesson 3a: Meshes & Broadcasting + +%% Meshgrid +% Meshgrid is quite hard to understand. Think of it as a way to replicate +% arrays, like the following example: +a = 1:3; +b = 1:5; +[A,B] = meshgrid(a,b); + +%% Using meshgrid for functions of multiple variables +% You have created two arrays A and B, note that in A, the vector a is copied +% row-wise, while the vector b is transposed and copied column-wise. This is +% useful, because when you lay one above the other, you essentially create a +% CARTESIAN PRODUCT, and it is useful when we need to plot a 3D graph. +% +% Here is a more complicated example to show you when meshgrid is useful +a1 = -2:0.25:2; +b1 = a1; +[A1,B1] = meshgrid(a1); + +% Here we plot the surface of f(x) = x*exp^(x.^2+y.^2) +F = A1.*exp(-A1.^2-B1.^2); +surf(A1, B1, F); + +%% Broadcasting: an alternative to meshgrid +% Broadcasting, like meshgrid, can be used as a way to write functions of +% multiple variables, without generating the intermediate matrices A and B. +% The way this works is that operations performed on a set of N orthogonal +% vectors will automatically generate an N-dimensional result. +% +% See the following example, which recreates the above example. Note that b1 is +% transposed. +F2 = a1.*exp(-a1.^2-(b1.').^2); +surf(A1, B1, F2); + +% Check that this matches the previous result. +error = rms(F - F2, 'all'); + +% Note: broadcasting doesn't generate the domains A1 and B1, so meshgrid() is +% more useful when we need to supply the domain to a function like mesh() or +% surf(). But when we only need the result, broadcasting is somewhat simpler. +% +% For homework assignments that require functions of multiple variables, use +% whichever method is more intuitive to you. diff --git a/lessons/lesson05/octave-log.txt b/lessons/lesson05/octave-log.txt new file mode 100644 index 0000000..bc24213 --- /dev/null +++ b/lessons/lesson05/octave-log.txt @@ -0,0 +1,3902 @@ +octave:2> X, Y = meshgrid(linspace(-2, 2)); +error: 'X' undefined near line 1, column 1 +octave:3> [X, Y] = meshgrid(linspace(-2, 2)); +octave:4> size(X) +ans = + + 100 100 + +octave:5> z = p - q; +octave:5> size(Y) +ans = + + 100 100 + +octave:6> Z = X.^2 + Y.^2; +octave:7> figure +octave:8> plot3(X, Y, Z) +octave:9> surf(X, Y, Z) +octave:10> close all +octave:11> a = 1:3 +a = + + 1 2 3 + +octave:12> b = 1:5 +b = + + 1 2 3 4 5 + +octave:13> [A, B] = meshgrid(a, b); +octave:14> A +A = + + 1 2 3 + 1 2 3 + 1 2 3 + 1 2 3 + 1 2 3 + +octave:15> B +B = + + 1 1 1 + 2 2 2 + 3 3 3 + 4 4 4 + 5 5 5 + +octave:16> [A, B] = meshgrid(-2:2, 1:4); +octave:17> A +A = + + -2 -1 0 1 2 + -2 -1 0 1 2 + -2 -1 0 1 2 + -2 -1 0 1 2 + +octave:18> B +B = + + 1 1 1 1 1 + 2 2 2 2 2 + 3 3 3 3 3 + 4 4 4 4 4 + +octave:19> T = eye(3) +T = + +Diagonal Matrix + + 1 0 0 + 0 1 0 + 0 0 1 + +octave:20> T + 1 +ans = + + 2 1 1 + 1 2 1 + 1 1 2 + +octave:21> T + [1 2 3] +error: operator +: nonconformant arguments (op1 is 3x3, op2 is 1x3) +octave:22> T .+ [1 2 3] +warning: the '.+' operator was deprecated in version 7 and will not be allowed in a fu +ture version of Octave; please use '+' instead +error: operator +: nonconformant arguments (op1 is 3x3, op2 is 1x3) +octave:23> T + 1 +ans = + + 2 1 1 + 1 2 1 + 1 1 2 + +octave:24> [1 2 3] + [1; 2; 3] +ans = + + 2 3 4 + 3 4 5 + 4 5 6 + +octave:25> [1 2 3] + [1; 2; 3] + T +ans = + + 3 3 4 + 3 5 5 + 4 5 7 + +octave:26> T + [1; 2; 3] +error: operator +: nonconformant arguments (op1 is 3x3, op2 is 3x1) +octave:27> T.*[1; 2; 3] +ans = + + 1 0 0 + 0 2 0 + 0 0 3 + +octave:28> T*[1; 2; 3] +ans = + + 1 + 2 + 3 + +octave:29> T.*[1; 2; 3] +ans = + + 1 0 0 + 0 2 0 + 0 0 3 + +octave:30> [1; 2; 3] +ans = + + 1 + 2 + 3 + +octave:31> [1; 2; 3].*ones(3) +ans = + + 1 1 1 + 2 2 2 + 3 3 3 + +octave:32> t = linspace(0, 1, 100); +octave:33> omega = 4 +omega = 4 +octave:34> signal = sin(omega.*t); +octave:35> figure +octave:36> plot(t, signal) +octave:37> omega = 44 +omega = 44 +octave:38> signal = sin(omega.*t); +octave:39> plot(t, signal) +octave:40> noise_db = (0:5).'; +octave:41> noise_db +noise_db = + + 0 + 1 + 2 + 3 + 4 + 5 + +octave:42> close all +octave:43> noise_amp = 10.^(noise_db/20) +noise_amp = + + 1.0000 + 1.1220 + 1.2589 + 1.4125 + 1.5849 + 1.7783 + +octave:44> size(sig +sighup_dumps_octave_core signal sigquit_dumps_octave_core +sign signbit sigterm_dumps_octave_core +octave:44> size(signal) +ans = + + 1 100 + +octave:45> noise = randn(size(signal)); +octave:46> size(noise) +ans = + + 1 100 + +octave:47> plot(t, noise) +octave:48> close all +octave:49> noisy_signal = signal + noise_amp.*noise; +octave:50> size(noisy_signal) +ans = + + 6 100 + +octave:51> figure +octave:52> plot(t, noisy_signal(1, :)) +octave:53> plot(t, noisy_signal(2, :)) +octave:54> plot(t, noisy_signal(3, :)) +octave:55> plot(t, noisy_signal(4, :)) +octave:56> plot(t, noisy_signal) +octave:57> noise_db = (-30:5:0) +noise_db = + + -30 -25 -20 -15 -10 -5 0 + +(reverse-i-search)`noise_amp': noisy_signal = signal + noise_amp.*noise; +octave:58> noise_amp = 10.^(noise_db/20) +noise_amp = + + 0.031623 0.056234 0.100000 0.177828 0.316228 0.562341 1.000000 + +octave:59> noisy_signal = signal + noise_amp.*noise; +error: product: nonconformant arguments (op1 is 1x7, op2 is 1x100) +octave:60> noisy_signal = signal + (noise_amp.').*noise; +octave:61> plot(t, noisy_signal) +octave:62> close all +octave:63> A +A = + + -2 -1 0 1 2 + -2 -1 0 1 2 + -2 -1 0 1 2 + -2 -1 0 1 2 + +octave:64> A(:, 2:3) +ans = + + -1 0 + -1 0 + -1 0 + -1 0 + +octave:65> A(:) +ans = + + -2 + -2 + -2 + -2 + -1 + -1 + -1 + -1 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 2 + 2 + 2 + 2 + +octave:66> A(1, 1) +ans = -2 +octave:67> A(1, end) +ans = 2 +octave:68> A([1 3], [2 4]) +ans = + + -1 1 + -1 1 + +octave:69> A([1 3], linspace(1, 2, 3)) +error: A(_,1.5): subscripts must be either integers 1 to (2^63)-1 or logicals +octave:70> A(2) +ans = -2 +octave:71> A(5) +ans = -1 +octave:72> boolean = logical(1) +boolean = 1 +octave:73> whos +Variables visible from the current scope: + +variables in scope: top scope + + Attr Name Size Bytes Class + ==== ==== ==== ===== ===== + A 4x5 160 double + B 4x5 160 double + T 3x3 24 double + X 100x100 80000 double + Y 100x100 80000 double + Z 100x100 80000 double + a 1x3 24 double + ans 1x1 8 double + b 1x5 24 double + boolean 1x1 1 logical + noise 1x100 800 double + noise_amp 1x7 56 double + noise_db 1x7 24 double + noisy_signal 7x100 5600 double + omega 1x1 8 double + signal 1x100 800 double + t 1x100 800 double + +Total is 31074 elements using 248489 bytes + +octave:74> M = eye(4) +M = + +Diagonal Matrix + + 1 0 0 0 + 0 1 0 0 + 0 0 1 0 + 0 0 0 1 + +octave:75> islogical(M) +ans = 0 +octave:76> islogical(ans) +ans = 1 +octave:77> logical(M) +ans = + + 1 0 0 0 + 0 1 0 0 + 0 0 1 0 + 0 0 0 1 + +octave:78> islogical(logical(M)) +ans = 1 +octave:79> B = logical(eye(4)) +B = + + 1 0 0 0 + 0 1 0 0 + 0 0 1 0 + 0 0 0 1 + +octave:80> C = logical([1 1 1 1; 1 0 0 0; 1 0 0 0; 1 0 0 0]) +C = + + 1 1 1 1 + 1 0 0 0 + 1 0 0 0 + 1 0 0 0 + +octave:81> double(C) +ans = + + 1 1 1 1 + 1 0 0 0 + 1 0 0 0 + 1 0 0 0 + +octave:82> C.*2 +ans = + + 2 2 2 2 + 2 0 0 0 + 2 0 0 0 + 2 0 0 0 + +octave:83> B & C +ans = + + 1 0 0 0 + 0 0 0 0 + 0 0 0 0 + 0 0 0 0 + +octave:84> B | C +ans = + + 1 1 1 1 + 1 1 0 0 + 1 0 1 0 + 1 0 0 1 + +octave:85> ~B +ans = + + 0 1 1 1 + 1 0 1 1 + 1 1 0 1 + 1 1 1 0 + +octave:86> ~(B | C) +ans = + + 0 0 0 0 + 0 0 1 1 + 0 1 0 1 + 0 1 1 0 + +octave:87> xor(B, C) +ans = + + 0 1 1 1 + 1 1 0 0 + 1 0 1 0 + 1 0 0 1 + +octave:88> x = linspace(-2, 2, 10) +x = + + Columns 1 through 9: + + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + + Column 10: + + 2.0000 + +octave:89> x = x.' +x = + + -2.0000 + -1.5556 + -1.1111 + -0.6667 + -0.2222 + 0.2222 + 0.6667 + 1.1111 + 1.5556 + 2.0000 + +octave:90> sum(x) +ans = 6.6613e-16 +octave:91> sum(x(x > 0)) +ans = 5.5556 +octave:92> x > 0 +ans = + + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + +octave:93> x(x > 0) +ans = + + 0.2222 + 0.6667 + 1.1111 + 1.5556 + 2.0000 + +octave:94> sum(x(x > 0)) +ans = 5.5556 +octave:95> sum(x(x.^2 > 1)) +ans = 6.6613e-16 +octave:96> x(x.^2 > 1) +ans = + + -2.0000 + -1.5556 + -1.1111 + 1.1111 + 1.5556 + 2.0000 + +octave:97> x.^2 +ans = + + 4.000000 + 2.419753 + 1.234568 + 0.444444 + 0.049383 + 0.049383 + 0.444444 + 1.234568 + 2.419753 + 4.000000 + +octave:98> x.^2 > 1 +ans = + + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + +octave:99> X, Y = meshgrid(linspace(x)) +X = + + Columns 1 through 7: + + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + + Columns 8 through 14: + + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + + Columns 15 through 21: + + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + + Columns 22 through 28: + + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + + Columns 29 through 35: + + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + + Columns 36 through 42: + + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + + Columns 43 through 49: + + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + + Columns 50 through 56: + + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + + Columns 57 through 63: + + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + + Columns 64 through 70: + + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + + Columns 71 through 77: + + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + + Columns 78 through 84: + + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + + Columns 85 through 91: + + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + + Columns 92 through 98: + + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + + Columns 99 and 100: + + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + +error: Invalid call to linspace. Correct usage is: + + -- linspace (START, END) + -- linspace (START, END, N) + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:100> X, Y = meshgrid(x) +X = + + Columns 1 through 7: + + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + -2.000000 -1.959596 -1.919192 -1.878788 -1.838384 -1.797980 -1.757576 + + Columns 8 through 14: + + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + -1.717172 -1.676768 -1.636364 -1.595960 -1.555556 -1.515152 -1.474747 + + Columns 15 through 21: + + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + -1.434343 -1.393939 -1.353535 -1.313131 -1.272727 -1.232323 -1.191919 + + Columns 22 through 28: + + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + -1.151515 -1.111111 -1.070707 -1.030303 -0.989899 -0.949495 -0.909091 + + Columns 29 through 35: + + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + -0.868687 -0.828283 -0.787879 -0.747475 -0.707071 -0.666667 -0.626263 + + Columns 36 through 42: + + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + -0.585859 -0.545455 -0.505051 -0.464646 -0.424242 -0.383838 -0.343434 + + Columns 43 through 49: + + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + -0.303030 -0.262626 -0.222222 -0.181818 -0.141414 -0.101010 -0.060606 + + Columns 50 through 56: + + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + -0.020202 0.020202 0.060606 0.101010 0.141414 0.181818 0.222222 + + Columns 57 through 63: + + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + 0.262626 0.303030 0.343434 0.383838 0.424242 0.464646 0.505051 + + Columns 64 through 70: + + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + 0.545455 0.585859 0.626263 0.666667 0.707071 0.747475 0.787879 + + Columns 71 through 77: + + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + 0.828283 0.868687 0.909091 0.949495 0.989899 1.030303 1.070707 + + Columns 78 through 84: + + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + 1.111111 1.151515 1.191919 1.232323 1.272727 1.313131 1.353535 + + Columns 85 through 91: + + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + 1.393939 1.434343 1.474747 1.515152 1.555556 1.595960 1.636364 + + Columns 92 through 98: + + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + 1.676768 1.717172 1.757576 1.797980 1.838384 1.878788 1.919192 + + Columns 99 and 100: + + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + 1.959596 2.000000 + +Y = + + Columns 1 through 9: + + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + + Column 10: + + 2.0000 + 2.0000 + 2.0000 + 2.0000 + 2.0000 + 2.0000 + 2.0000 + 2.0000 + 2.0000 + 2.0000 + +octave:101> size(x) +ans = + + 10 1 + +octave:102> size(X) +ans = + + 100 100 + +octave:103> size(Y) +ans = + + 10 10 + +octave:104> [X, Y] = meshgrid(x) +X = + + Columns 1 through 9: + + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + + Column 10: + + 2.0000 + 2.0000 + 2.0000 + 2.0000 + 2.0000 + 2.0000 + 2.0000 + 2.0000 + 2.0000 + 2.0000 + +Y = + + Columns 1 through 9: + + -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 + -1.5556 -1.5556 -1.5556 -1.5556 -1.5556 -1.5556 -1.5556 -1.5556 -1.5556 + -1.1111 -1.1111 -1.1111 -1.1111 -1.1111 -1.1111 -1.1111 -1.1111 -1.1111 + -0.6667 -0.6667 -0.6667 -0.6667 -0.6667 -0.6667 -0.6667 -0.6667 -0.6667 + -0.2222 -0.2222 -0.2222 -0.2222 -0.2222 -0.2222 -0.2222 -0.2222 -0.2222 + 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 + 0.6667 0.6667 0.6667 0.6667 0.6667 0.6667 0.6667 0.6667 0.6667 + 1.1111 1.1111 1.1111 1.1111 1.1111 1.1111 1.1111 1.1111 1.1111 + 1.5556 1.5556 1.5556 1.5556 1.5556 1.5556 1.5556 1.5556 1.5556 + 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 + + Column 10: + + -2.0000 + -1.5556 + -1.1111 + -0.6667 + -0.2222 + 0.2222 + 0.6667 + 1.1111 + 1.5556 + 2.0000 + +octave:105> size(X) +ans = + + 10 10 + +octave:106> size(Y) +ans = + + 10 10 + +octave:107> X +X = + + Columns 1 through 9: + + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + -2.0000 -1.5556 -1.1111 -0.6667 -0.2222 0.2222 0.6667 1.1111 1.5556 + + Column 10: + + 2.0000 + 2.0000 + 2.0000 + 2.0000 + 2.0000 + 2.0000 + 2.0000 + 2.0000 + 2.0000 + 2.0000 + +octave:108> Y +Y = + + Columns 1 through 9: + + -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 + -1.5556 -1.5556 -1.5556 -1.5556 -1.5556 -1.5556 -1.5556 -1.5556 -1.5556 + -1.1111 -1.1111 -1.1111 -1.1111 -1.1111 -1.1111 -1.1111 -1.1111 -1.1111 + -0.6667 -0.6667 -0.6667 -0.6667 -0.6667 -0.6667 -0.6667 -0.6667 -0.6667 + -0.2222 -0.2222 -0.2222 -0.2222 -0.2222 -0.2222 -0.2222 -0.2222 -0.2222 + 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 0.2222 + 0.6667 0.6667 0.6667 0.6667 0.6667 0.6667 0.6667 0.6667 0.6667 + 1.1111 1.1111 1.1111 1.1111 1.1111 1.1111 1.1111 1.1111 1.1111 + 1.5556 1.5556 1.5556 1.5556 1.5556 1.5556 1.5556 1.5556 1.5556 + 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 + + Column 10: + + -2.0000 + -1.5556 + -1.1111 + -0.6667 + -0.2222 + 0.2222 + 0.6667 + 1.1111 + 1.5556 + 2.0000 + +octave:109> X.^2 + Y.^2 +ans = + + Columns 1 through 7: + + 8.000000 6.419753 5.234568 4.444444 4.049383 4.049383 4.444444 + 6.419753 4.839506 3.654321 2.864198 2.469136 2.469136 2.864198 + 5.234568 3.654321 2.469136 1.679012 1.283951 1.283951 1.679012 + 4.444444 2.864198 1.679012 0.888889 0.493827 0.493827 0.888889 + 4.049383 2.469136 1.283951 0.493827 0.098765 0.098765 0.493827 + 4.049383 2.469136 1.283951 0.493827 0.098765 0.098765 0.493827 + 4.444444 2.864198 1.679012 0.888889 0.493827 0.493827 0.888889 + 5.234568 3.654321 2.469136 1.679012 1.283951 1.283951 1.679012 + 6.419753 4.839506 3.654321 2.864198 2.469136 2.469136 2.864198 + 8.000000 6.419753 5.234568 4.444444 4.049383 4.049383 4.444444 + + Columns 8 through 10: + + 5.234568 6.419753 8.000000 + 3.654321 4.839506 6.419753 + 2.469136 3.654321 5.234568 + 1.679012 2.864198 4.444444 + 1.283951 2.469136 4.049383 + 1.283951 2.469136 4.049383 + 1.679012 2.864198 4.444444 + 2.469136 3.654321 5.234568 + 3.654321 4.839506 6.419753 + 5.234568 6.419753 8.000000 + +octave:110> X.^2 + Y.^2 < 2^2 +ans = + + 0 0 0 0 0 0 0 0 0 0 + 0 0 1 1 1 1 1 1 0 0 + 0 1 1 1 1 1 1 1 1 0 + 0 1 1 1 1 1 1 1 1 0 + 0 1 1 1 1 1 1 1 1 0 + 0 1 1 1 1 1 1 1 1 0 + 0 1 1 1 1 1 1 1 1 0 + 0 1 1 1 1 1 1 1 1 0 + 0 0 1 1 1 1 1 1 0 0 + 0 0 0 0 0 0 0 0 0 0 + +octave:111> X.^2 + Y.^2 < 1.5^2 +ans = + + 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 + 0 0 0 1 1 1 1 0 0 0 + 0 0 1 1 1 1 1 1 0 0 + 0 0 1 1 1 1 1 1 0 0 + 0 0 1 1 1 1 1 1 0 0 + 0 0 1 1 1 1 1 1 0 0 + 0 0 0 1 1 1 1 0 0 0 + 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 + +octave:112> X(X.^2 + Y.^2 < 1.5^2) +ans = + + -1.1111 + -1.1111 + -1.1111 + -1.1111 + -0.6667 + -0.6667 + -0.6667 + -0.6667 + -0.6667 + -0.6667 + -0.2222 + -0.2222 + -0.2222 + -0.2222 + -0.2222 + -0.2222 + 0.2222 + 0.2222 + 0.2222 + 0.2222 + 0.2222 + 0.2222 + 0.6667 + 0.6667 + 0.6667 + 0.6667 + 0.6667 + 0.6667 + 1.1111 + 1.1111 + 1.1111 + 1.1111 + +octave:113> imshow(X.^2 + Y.^2 < 1.5^2) +octave:114> close all +octave:115> x = linspace(-2, 2, 1e4); +octave:116> y = x.'; +octave:117> size(x.^2 + y.^2) +ans = + + 10000 10000 + +octave:118> x = linspace(-2, 2, 1e3); +octave:119> y = x.'; +octave:120> size(x.^2 + y.^2) +ans = + + 1000 1000 + +octave:121> size(x.^2 + y.^2 < 1.5^2) +ans = + + 1000 1000 + +octave:122> islogical(x.^2 + y.^2 < 1.5^2) +ans = 1 +octave:123> imshow(x.^2 + y.^2 < 1.5^2) +octave:124> close all +octave:125> circle_1 = x.^2 + y.^2 < 1.5^2; +octave:126> circle_2 = (x - .2).^2 + (y - .2).^2 < 1.5^2; +octave:127> figure +octave:128> imshow(circle_1) +octave:129> imshow(circle_2) +octave:130> circle_2 = (x - 1).^2 + (y - 1).^2 < 1.5^2; +octave:131> imshow(circle_2) +octave:132> imshow(circle_1 | circle_2) +octave:133> imshow(circle_1 & circle_2) +octave:134> imshow(xor(circle_1, circle_2)) +octave:135> close all +octave:136> diff --git a/lessons/lesson06/analog_freqs.m b/lessons/lesson06/analog_freqs.m new file mode 100644 index 0000000..3348071 --- /dev/null +++ b/lessons/lesson06/analog_freqs.m @@ -0,0 +1,37 @@ +%% Lesson 6x: the S-plane +% If you happen to have an analog filter represented as a ratio of polynomials, +% MATLAB can analyze that too! `freqs()` will give you the analog frequency +% response evaluated at frequencies in the given vector, interpreted in rad/s. + +%% a simple example +% What sort of filter is this? +a = [1 0.4 1]; +b = [0.2 0.3 1]; + +w = logspace(-1, 1); +H = freqs(b, a, w); + +Hdb = 20*log10(abs(H)); +Hph = rad2deg(unwrap(angle(H))); + +figure; +subplot(2, 1, 1); +semilogx(w, Hdb); +xlabel("Frequency (rad/s)"); +ylabel("|H| (dB)"); +title("Magnitude Response"); + +subplot(2, 1, 2); +semilogx(w, Hph); +xlabel("Frequency (rad/s)"); +ylabel("Phase (deg)"); +title("Phase Response"); + +%% some notes +% `zp2tf` and its associates also work in the analog domain, as they deal +% simply with ratios of polynomials. The interpretation of the results will be +% different, though, as we're working with the *analog* plane rather than the +% digital one. `splane.m` gives an example visualization of the s-plane. +[z, p, k] = tf2zp(b, a); +figure; +splane(z, p); diff --git a/lessons/lesson06/bw-cat.jpg b/lessons/lesson06/bw-cat.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cc4ab210547f59ad71f370194056e97934a03576 GIT binary patch literal 298696 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�~~?|Tm}jkulCo3qU3^n~fP_zj07 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

^{Y4>6;p}cXCcmGXZ0F{{9XZ* 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 z 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 literal 0 HcmV?d00001 diff --git a/lessons/lesson06/fft_1d.m b/lessons/lesson06/fft_1d.m new file mode 100644 index 0000000..7d07bdb --- /dev/null +++ b/lessons/lesson06/fft_1d.m @@ -0,0 +1,84 @@ +%% Lesson 7a. The FFT +% * Explore how to perform the FFT (DFT) on a 1-D signal +% * Learn how to plot the FFT +clear; clc; close all; + +%% Load a sample signal +load handel; % builtin dataset that loads `y` and `Fs` to your workspace +sound(y, Fs); +T = 1/Fs; +t = 0:T:(length(y)-1)*T; + +%% Loud noise warning!!! +Fnoise = 2500; +noise = 0.2*sin(2*pi*t*Fnoise).'; % additive "noise" with freq. 2.5kHz +y = noise + y; +% sound(y, Fs); + +%% Perform the FFT +% Recall that the Fast Fourier Transform is a well-known and efficient +% implementation of the DFT. The DFT is a Fourier transform on a +% N-point fixed-length signal, and produces a N-point frequency spectrum. +N = 2^15; +S = fft(y, N); % N-point DFT (best to use power of 2) + +% Note the behavior of doing `fft(y, N)` (taken from the documentation): +% * If X is a vector and the length of X is less than n, then X is padded +% with trailing zeros to length n. +% * If X is a vector and the length of X is greater than n, then X is +% truncated to length n. +% * If X is a matrix, then each column is treated as in the vector case. +% * If X is a multidimensional array, then the first array dimension +% whose size does not equal 1 is treated as in the vector case. +% +% This is the time when padding with zeros is acceptable (when performing +% a FFT where N > length(y))! + +S = fftshift(abs(S)) / N; +% fftshift is necessary since MATLAB returns from DFT the zeroth frequency +% at the first index, then the positive frequencies, then the negative +% frequencies when what you probably want is the zeroth frequency centered +% between the negative and positive frequencies. + +% Get (analog) frequency domain. E.g., if you perform a 128-pt +% FFT and sampled at 50kHz, you want to generate a 128-pt frequency range +% from -25kHz to 25kHz. +F = Fs .* (-N/2:N/2-1) / N; +% Each frequency index represents a "bin" of frequencies between -Fs/2 and +% Fs/2 (so index i represents i*Fs/N). + +figure; +plot(F, S); +title 'Fourier Transform of Audio'; +xlabel 'Frequency (Hz)'; +ylabel 'Magnitude'; + +%% Alternative ways to generate FFT plots: +% Slightly more readable version of frequency domain. +% Get the digital frequency +wd = linspace(-pi, pi, N+1); +wd = wd(1:end-1); +F2 = wd * Fs / (2 * pi); + +% Equivalent formulation, without going through the digital domain. +F3 = linspace(-Fs/2, Fs/2, N+1); +F3 = F3(1:end-1); + +% Slightly more readable but less accurate version. +F4 = linspace(-Fs/2, Fs/2, N); + +% Some arbitrariness in scaling factor. It's more important that +% you use the same scaling when performing FFT as IFFT. See +% https://www.mathworks.com/matlabcentral/answers/15770-scaling-the-fft-and-the-ifft#answer_21372 +% (use the formula Prof. Fontaine wants you to use.) +S = fftshift(fft(y, N)) / Fs; + +% This S is complex; you can take either abs() or angle() of it to get +% magnitude and phase responses, respectively +figure; +plot(F2, abs(S)); +% plot(F3, abs(S)); +% plot(F4, abs(S)); +title 'Fourier Transform of Audio'; +xlabel 'Frequency (Hz)'; +ylabel 'Magnitude'; diff --git a/lessons/lesson06/fft_2d.m b/lessons/lesson06/fft_2d.m new file mode 100644 index 0000000..7b8b07f --- /dev/null +++ b/lessons/lesson06/fft_2d.m @@ -0,0 +1,74 @@ +%% Lesson 7b: The FFT -- for images! +% * Explore how to perform and plot the FFT of a 2-D signal +% * Implement a filter by masking in the frequency domain +clc; clear; close all; + +%% Image Example +% Low pass filtering +% Here we look at images. Think frequencies spatially. High frequency +% represents fast change in the image, low frequency represents slight +% change. Also frequenies have two dimensions, vertial and horizontal. +x = imread('bw-cat.jpg'); +imshow(x); + +%% 2-D FFT! +F = fftshift(fft2(x)); + +% Generate a mask (which will be a high-pass filter). +% This mask will be 1 for low frequencies, and 0 for high frequencies. +% Since the signal and its FFT are 2-D (an image), this will be a +% white square centered in the FFT. +lpf_mask = zeros(size(F)); +[H, W] = size(F); +lpf_mask(floor(H/2-H/10):floor(H/2+H/10), ... + floor(W/2-W/10):floor(W/2+W/10)) = 1; + +% Show the 2-D FFT of the image +figure; +subplot(121); +% Normalize FFT to range [0, 1] +imshow(log(abs(F)) / max(log(abs(F(:))))); +title 'Fourier transform'; + +% Show the LPF mask +subplot(122); +imshow(lpf_mask); +title 'LPF mask'; + +%% Perform a LPF by only multiplying by frequency mask +im_filtered_fft = lpf_mask .* F; % high frequencies removed +f = ifft2(ifftshift(im_filtered_fft)); % ifft2 == ifft 2-D +imshow(log(abs(im_filtered_fft)) / max(log(abs(im_filtered_fft(:))))); +title 'Filtered FFT'; + +%% Altered image vs. original image +% Check out how the new image looks a bit blurry. That's because we removed +% the high frequency band! All "edges" are less noticable. +% +% Alternatively, we can perform a high-pass filter. What would this do +% to the image? (Hint: see next section.) +figure; +subplot(121); +fnorm = abs(f) / max(abs(f(:))); +imshow(fnorm); +title 'High frequencies removed'; + +subplot(122); +xnorm = abs(double(x)) / max(double(x(:))); +imshow(xnorm); +title 'Original image'; + +%% Basic Edge Detection +% The difference between the old image and the new image: The edges! +sharp_image = abs(fnorm - xnorm); +sharp_image_norm = sharp_image / max(sharp_image(:)); +imshow(sharp_image_norm); + +%% Pinpoints these changes +edge_image = zeros(size(sharp_image_norm)); +edge_image(sharp_image_norm > 3.5*std(sharp_image_norm(:))) = 1; +imshow(edge_image); + +% Edge detection algorithms are one application of high-pass filters! +% If you want to get started with these, look up Sobel or Laplacian +% filters, which are simple convolutions that act as edge detectors/HPFs. diff --git a/lessons/lesson06/handel.mat b/lessons/lesson06/handel.mat new file mode 100644 index 0000000000000000000000000000000000000000..6154ae59583ccc58789a60090c16b36c9adfccf0 GIT binary patch literal 139728 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 CGJc?RzqR#>uFOSa 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 RNk^Hs2;Ksa@tQI6{{hUb6O{k} literal 0 HcmV?d00001 diff --git a/lessons/lesson06/jacob-boot.jpg b/lessons/lesson06/jacob-boot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4045db955afc89e3ebd9b2083d39b467dd821ddd GIT binary patch literal 241430 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

-yr##&M;ht8;e*;Q6`Df!GyoJIOKvBREM< zY!`T3+yb8oW5v7$G@?+eKvz1Pc86O5Ao5!Jl&cAMews9Ynkz_OJlJKq=aG)hg43be zI%#aX@3NlMX+?mo-f>k=6GK5J@b1^qg9Y6$3%+-e1O_B^^1xvFO$XmPreQ5%bye)M zU+rt+-!|GY(Yx3<@L=2{`;vc_tFl~d{eQ7+eZ){Nr>9nD8k!x#wOww5@HHs9w0!1I z_;-GQQzqi-k)Ke~32ST3tzitHO@I##+BePj&T27`}z(8H?R z2hJ?L{*_AGhMD?WtTbY+;epWU7e&^J)`GRI?dhC|W?<37kaf`XvIm;K^*@fj#M9Qv z3IpznMvC&FLd_P7@oJ5)eq|MhCo_yt0CIU7Uq{+F+QRQfKQx(%a6#-AS8Nnk-UGVA zdv)y(E~8q+y<2P(da9zb)o>=$G6AtiP_4>{bviiNQ9o8YJ~p8$+$*We4G?idzKFyl z|KcroH-EbGnY70RBAg=9rIr}#JWA)NV(O-CHA#ZtJ9b0}6p?cAsc%ts>%EIeSP4dj z`B+!2;Fk6G^R~r#4-876f2~hU3e>EV67#HPwDe@$nXSu61Js@uKpz172wvlQmvBGko^isVPbW!x=6N!H=Y+xj8*4@H?)+l@&9Q+M)v}-}-}iAJ7g& z^^L`2W8SrqqGQc8=rv?Wd2pR%VPkLWR^!oR{%V)~__m}ov(tITI2e1cT*$X|+N2>f zoI$UvOVV4b9S-pAgfI77AI+P<0)F|B#umSmXhQ3d{IP(4E3DfY%&3C{xlY&G+P4-a z>CPAA`4x>@`#BViI1vD_C^k{=n+8KIFJGTHsZy3uor`ix=TCDY6zSV$j$+lRUrB94 zf3{ST>js$g1im)G3%HgH-~^hF9&=AHNUlgGA%{+(Ghi8vRM;J z%E2z(?=+c9xTr}x*v@X|v{Uopqd%4>+X=1NC zzT53>=Yr#$cOl?XamB8byC19pJMbbjxMKz0op2^8QN>pA_-sSprYmc0YH2%GbSI)S zDlXcmbycu5&-JGOiTg{_ZJyH~IgH*~HUVH`0lL^ny9z5#&4>lBgNl!ytOjmlw!^`R z2yZd%bUZU2#?Ymk+xvN0d76U+;ac_!dL2(-$TK!n{dB z9)!D1Zh<&);NsG61)RK0Le%c1b(`+){ne%I+kirmzClw4I7mrY&B)kDk*DglG}|Nf z`0;(fQ^cEE^zOR@*6oSbw+o4T#o2bxcJAkM_VYH`y6PU^$kkrM=|MHtN84i;#xt=;(>(AWpEokmbxm)nJKKMRokfL^|zB0aEp|<7pz2NDaUx{qY-Ot{`>_q8WJ z=unmE;7%PFWwZ`8`XkH(K_suQzOeVO=DWqrxpS+CB>d_h;7xubq_fb9(@@>Gm(FYj zo!9SJoSdaZDqPl!Oyf=ymLDlc&ZV<}-M)@)sO(Dpl4+RxR@I=}@{p$t zfRn#AG;%7Zv%V2uWwTLxo|vN{|%yjkP~)D&vK(8x65l?PO-nB&h3wYydB znzUPrfTr4{!Q+#|_znFm_Q`8sHN&07JN(1j?JjwE@mB_U@@W7_I2u%*k;4{4;J;la zaM0j4pUO>VLv?cm{MYtjlWEhU5CxZekMCbo{dga82rLudNq3h{S z(Zbnkc9Ipn!QDk7=_4iL$m(*lxbR=jD=)2A-B? z+b*6uiwpShn|TYNr8^MtKqP8ng-#3e=XRkdrPEzXZjipPCX8O+;V!bTVmC;#Lo1Lt zR17GvR^<4eIA6F`@Zm*=LsaMId!Tkt!H;k1r6XT1j)dBocn~uyN?WPpxHDYZ%%wp! zg05Kf-iorp`PT#eKkj!ZB|_%g$2NHQuL>6mzR3kda3WHtQk#uGnp}6RLLfInmp8~m z#sZSK{gcY3XJyFc?$gp9KtY5Wz8-6!Kc1@kb#%kS4V-|&=s53JF}!EMF_;U1>ZV#c z_5NJ7rcv}~U&!7+clK=y^FQZA{lh9471I&Z5l@U^mFmtyWW_q_1J|RJ<+~9MnBwc{ z_wD6@W(euw{yUjQPXVqwfV+F0;rk0isHe}jj;T!;)rg-77o~vG9v)I^E7dk}N68J_ zglB<}RSV2UZ16u@kX&?B`&`r$3&q%UA0dl7kIi5=J1ctNinX803COaM+KdXY)dsUu z;3FmaTH25)8jDLz6fL)S<5VAf`}R$vB7Qz6n};_)3Xht4f^rZ_TmDN-$s%`+2!px} zuuT^5AI7p?jc}$34_LI3ylrtbA+Q1Pa%n?Rd_MZ{TYyTeX5pK$%j8vXL>c!Sl`0JdsQTJ zS5!d`a@6&?+&e)46{{QJr)};FXWZtkzkS0?5oj8o4Y6iI=i4f$>Z%^=~v<}Od+%yK8#yWPC; zsMAES=zWLkKT>DjMnoDX)nxy2;rHlGh6%zRxP zK#y$Yd_J*Wfc2gSeIrl2Yo+q|i8grFC@2-7q~YOSjWQBZisVW60l$xqPJ3Nd#GLJZ z8Z1Wd+~2S!>9H+yGdIV(%gWxa#)@cwF=FZE)2GrF(is7P848UuiTY!Ml_qJWO{o23 zOL`#8GHm5tlO^stn+DUb}d)R^7yNYun-iQu-FPWS|5Yo|66HWKH zXYumRE3{zXl{8oP2E>T0rlWG-DCr5sL}h=$m>%Ts+O{22<;l;^by>EqtViYMHk%RV zWF$UA3=K}2CTNS<;%IyXrt>7R1eCZXbyLyU#Z{28(<0rQCESd0&&U!RdK<`ss5Fvh z=A-Mhs+nyAjH3#&Q`$*ZJ@QxJFV2kz!VJkQ^boo3D)++W$4|+0)hvq8hoH5{`aJBaua2hhD8H^ zY+&Yq4k8W4h;NQRShCO-D<#h$gaRf5RU4jg*hI$9JV3SnP6R4zRepkJI?d3c>5HqA zB3D~42)_qD?TdUQFEDW_B`{O2fye*D_zKe1sqnQKjy6wiL^Ufk8eaU&nC5nnmTQ#R zGQwZ82zh?jJKOuQeR)(@>)OIpl#Uy-hY`Ns=Sk&p)q7q+U04r5yb0CbfyEtWQN}UUm8yLvq_tgDl6dlvUNC0p|w3w?RCB@Bu$N%{8kn5 za%Jpk+mD4j5tIC8r31S*x_>J<(|;vqlN<5+ju5$kU91hI9mYz`ty~`5Jm83L57-qa z97Z}{$=s!=g*VE+54+}*rK8{1m$tp2=7J>0nMGPCyz!i|@EcsZTtlTP{W)4XDJRCB zC@Gl5B$Y&aJog?jO@9x%M&jKacyK}J?b{JWV295Krv)#s)rVsn0)hpTb#wz{Q^N>3 z(AprmKl6X}%0-Dexx*Q<%2d~AIjumGmZC!2nenjM4UL_PR_?nIJzAA+oi?mC74zQr z+wDbB$DbP9)d6KbBP!z?wZlEr68jHn5o722h~r2Rf%=lcC68O z`2l=sBV7Jo+x!6`Zll%pTA?itl)tDq7hJ;}Cfi5R@;|SE-xYug(}0ncnYQuOM&%?o z3Xh->A)0)wau-0nl?6GkwCK%Fj-s0jR~1?O)Pp%ujE|Gpl8^nC%gtM>aF%PIgl09o2K37ITmmkH^c8;#xG`9B*>_%Su+DW;q ziXar-7I1Dc9(k?U?XK;f-X3uay=8mU`0sA99Op&in*$Z!;61gE2=AXUmcmzEAizNY)@*lBK` z)(B~5lu^e-KJD_*b}ORwMrG1+Mb5NF^o)l?tNQ4TN5Yv?7&ns zwoscX6Xbo*2i{gcr0MWDOHS~2i@Za346Au^ZEdHja3&USXlmSJ-HSKcO-$7KN{|zP z8b0|YX9ReP)CUt5WXx#0Fp7$lh*hn8cIbq@ZLgqC7WCS3k9W;HVQ*%9+2zw>L=jkt zDK0KDqF+|!WlM++n2A^=q*j+c?}Jq6p$-1Es1!HYJPFQycp7Sd{|3Fzfp{0BLCAcZ z6+Sv+3sJhbzN_%-*ben0%ogH?6#I-{o!e~4nwtlT^vqVDd15Rm*vyQ=Cd;4>#KAc` z3ja)G-Mn~gPVy%yU5(u;W(W(+&!;dIYz@l^;9#GvyRFKYqGxT5jhex`4n<$H`v!7? z9`?#Ls;E7$dZ!tQi)SqrD`*6fgj4S}x!VM)SXuH)dDTtYLNvrQ<3{JLrVnz?NbN*e zekb{wuO5RBg0O>J#^~g{od>)bz&I>8xv-8Iy&2C@!jpbK7z$jc^_G?`AEiDkmh;B$ zyEuZ80);Dbdmvs`5{wN1jY5p7#`%l^S@0+zvl*!HDmG(aPdXu{J z#O5%&)BT5L!k&`#vxGq<>2R&M(W<*M2Y8L4QewFdTyg7|udW4L@^!r#X$#SMGQ{yF zql7Kn?Yyfz+*{B*{g&e`gM9GZb*;W3;t2V9#_Rf=uQB0WYixo7Phc2j(AS% z(((^_WP5}fJffMzS9!sV5F1l*0+qlr;D_Ql&vgb`nWa|J@+milC%)9wPrpq^_eW*^ zxE%&ExB42<6N=e|fGR%DWWL1Nz1iy(*NJrBd#i3=UitHA-NZBuAlkXx2fmPO1$h=I z`ozcL#<2=%pBmUsVi*eClQziS+YFH{8x$_bRh|i0#{_LeL7EdzLLu|@PE88;y;}?r zq-#jxGRqwXEb`mf(|S;>?C@2rG%|C&6fRaGZ6ZaBe47&S<7Y!o7kW8XGI*X58(^V8 ztQzUU&11P)>JsHq!dh=RujVu1O{?Dwl>!{H>*sVTV-}Kwe z)yAS9JqOm;K~?4PlInmqTS8n=tF!(18Cs%RZ^LKB-*`3R&EK68DLHtxp$L1gx^EPJ zKyz=%CV8Z|ry``q+&Q20F<_{wdFWD{7*s@Fk1aW(kxJ%{xJl%>EXBz1dd~-(fv=vM zxMaZW%|zuseN@>xNCFifoWpDWLB34sT%gA%+Q1>xefz}#bdN;DdjS8Nm-fD(F@y(;M9?1*U4GhE0YT8yn}puWK}%4woAU^QA}Ks3UU(3tGql#Mb$ zY4`?s;xshfwR`q&#VIte?#J!^Vz)p$yJx1AFEVUjyU-HinmBdqdGGw@w6ri7diUn?#MG@155{dg|Tq$ zm;2NFsLcXq0=~RfVS!2uN+8+v&d+B~-T;sW$GVc*VYut44$ae>!=V+};WdkID6IVnX6`nO1sZT4SS1AZ9#xzS@{N ze=MRtBnL@IvidXyMB2v8eScYo3)xV+W^FYT+P+K0YPk%uE>;HGld=vjt9xw=Nv~}L z&jooSp}uVhxb><~c--aU^d?1Oi+F4CG8vaBdTWWWblWEXMPhGX+e0MaCDj{7InSqo z6;QK@xb*_0DJ)3h8T@54kMCWMg<4drR6R@iLadAS?VhGKtf`QKUg#+&96`$&BEtSP z8Zn+cUB1Sv#Ub`HZ~SGl7ggD3=PUKbEvIomzR?^adWM6U;C$%(V`sF=@ujEw=GN z*gnuTp@pinN`qWXS1}l=J||4;pUwle*lWDAx%l2>x_Ps0(>&-VVy)#t*EI(6R2@#zZJO>`Qk*aq zWi9CM?DjiWmFv0Z=^toNRJ=@X;JxVqWPir_%IVQnd&GkA*B+JIE4~rP2hEjz^Hi=z z`8(l*hGk3IMbdM#YxG7gIM$_heXsepa99j$%6u*E+!zElgA)xJ&r3x)3=iGDpy48% zD&M11lwA(L$IzVRz3ytayd3h!pTHOypR0n z_Ez>qvzXR{mRe~<%u!siPVd-qpJ`Np8v-X>gi5o`wFZTx0n1zk<~tv<$v9(^zLRe6 zVFszgjOm|lFYo%;5^GkO9WpWK(!E3VDMs^qogt$RV1oHET7Rcx>HN>J- zsZGPS!a#m9IU0{@CFv~Ix4nSB@x&naZsYBLD>9(%0=SF%E~wy z7%)KH+&ysZ@axW7$v_*Lpr!%+8~PeS;$5`*h}^L`gQWT&27T|8LP+`Hoy+$(K=> zzIg9glvVV!!;L6V2!dAXeB+H7(B364ESxp!8hVgzsLHIiVf01YYGyI|U7mN(t?g>8 zwGx0f#a5=-uAq|qohqjpQ=VTV`ys9G8Waj)S+cbU=C3HpqbKnd(%tmPxZIyTD1qe0 zHK?&oVy-Dk=ACQmMU^L?`ZM1m^4ZpnURkw5k%cw`I555PtV}d9SB1|YXA9~L>n)y4 zJny(NzH9}-)cRhKa-Vbm)ILM}?!_KW{uubL8DxCiS>NH~p6&aOBe0u9MN=c8Dt`U% ziY8N6=A{A~N*VfR3C5EekNsm5+vekKr*p6ExF?=V%EU!StHvULn1V~~x#TKH<10#(mAYw%JffGSY~?`rcSF2F459~K zI#(F@8lV^Uax&Xk0|i7r$r0@trHvNv$3nQPvyBpTmJoT&#;1Up6OF?B4j2R z`DJot-*uS3OH%}+oLTIpRR$s2MFxF=`zav34fAz#Uo!342z}mzEO&oh2&A$q-JDSez)bbNOSJCMjC?PGOXuoiYwJ9C;h9FrsJ`l$bO$GR)a>gqo*F;V2l zh{aVB&09BZZ8WnX!{OGyrZB;<3wLz8dyrA{y@6xF<$0r4RA6|(G0 z%k*xW0}EO|LJIiWvV@5XA^M{55R_PGDj43#mrrI4GSCul_=E_+&;|2s&pI)GaeE02;Y{B}s40|wp=V#oa zP_FH6u!&8=_0js+-$%&=N2q$(Qx0cW__A>EjSRe<7iMn`-rl|Wh^vsPB?}j*_p=U}6pDf?Ly2HcCZC2G4(LGOl^zYn7 zm4{`f71-OeBlnkh9zG0Wf=DWOK(WgZ*=qexK-@>wx#INhn`vBK)k_9-E6imx_q|RO z#7e7fGfGz%7C6~(80zC&BI6`a82VE!|H4Y?!s+Xo?=c?NO)i}7AMqoT-nkdj;;8Bk zw$T@}#s-Wz*uh#}#JR{reLE07|5bHw= ziErFSn~u#zDzU>}wBUK8cAXgkI9D||5X?*DaiA2Bz5tj8KR80G^fFqpw9bG4Xqw&Y zjor9oeX;fc>>4U6+OG`$vAIw8S9`eggN!E+&J>9F+)EKO3ho8N1OB&SMLICvx%ZhV zB3^SCDH`7iE;iNz;V4^OLYOjjXL~?&Svx{ASfgIR#~7lI%LWhp#YpDuSFg6Jy_~nq4_RS(K*Rh`t9e{;3LdMG=1Y^8d?9PTUNQ& zCeC6b*Z3z4u*BL7HK!ixvc&B)ey;8H=fJym(&@N~f6=-02SXP_^ur zxBqG2_^T`<#Z2aJ={qkS?#1xwBr2tuh5X0iW|kDHo6mkDq)rPOy|uwom0)k`=fKBf zCr6j$*O$9@2430+chK%Nd>QGavj;%J-#pp8zIe@Zz?{Chiy+AQ%O7>b?U_bqvMID^ zNAgu)GNTIbRl+AssruHw^Y39i*kCXeh28*CVV$$YAT@!Twd4_2^cOfsnM+tk9tTHy znb_uZWlqIdZgc{Jb!99>uf6FM?{MvL2d^dd!lH;RyCf)}3H=(dUqP&-ht_{w6Ms^NlOjBVU@Nl&(&yUH#`3|7qr-roZd&-NPvR;pK?8KDF;S zg&x?in2mN!AZn2=Q%v!b8R)1?u&aYZc>yxGCITAn=WyU<>iH2Mtk3DBUiv43wC3jy zxtrhhEpD?fROJgJcy|mmYEU`IphjxKu;p?)Li=%*26!(_8+aP(-O{kyYE&xd*^b-^ zzxw8Fe-B3O^i!h`9CPTZ`nIyrh(u@Y*$UAB6vq=Y2XFLr*_z2!iwxQx&Hz_OTp5=^ zbUy6M+NSEL6>534{y{Zcs*g_*ZcQnA&B2_*VzY4(KRz_h#S>x^8rAxtO!Q1C3qPxO z+b0s+Lx=Z7G7sh?S_0d;z|+qAZm`i&5o<-`k7U+80SD}E7sv}GmG7gYimMR{A;cU&neKxB6&6qT= zB7Y}Lx9@q!_|WH;s6>Bv9Vl0Bk&>HWmg~2zu2aq;4dxcWq9nQN(NSLr z6ux(|&X_mU>S1)NkAmzqR^c&+2jX^j$h3vT>E2FoWSi9|K6!-sl5o1cy_BGk$K$-b zjFOEg^%;0-UAXUukwF_zqnk!XR3@oXL{Q3{?86_$sz}n~uedegx%PZ&#~Okv66Xx6 zlbi6~d*8N#yVTT1n+r1jO0r8!7hy+50Pu(D9H+K6gQ*bri%jq>MmJ?G-H88sdZoVb zkfm|IwS1-~deCt^UOXv6Qy<{caxPQ7brR9DD+YiBkhGg)8*mPzck>rk#g10o&Op;%O+E+QgPu>mi=3rLb}U5n7Q1eaZJo|`eUE?n z%He8S=0FC=y#k(;=%|jlYKf3%ZwRR(Izkp)DJ~C^vYFnmL^v#X&NW7K)8b0IzgE{- z*SD{upT}(um$Z`}DNSv8ol`gR|q!RjIlSNE_RPNh$p!sZ()y`U(x%FtT zs%>}~EY$E4qI^6TG6<@}9yUjJpfJy)?v-Vdi9?S~@_D})TfTq&Siuw*Ujj`nI1W@8 zOqB?jmNH}0WNhhlbO$>rXj+Eq+>4*fS#TUy#;J)ZU?4vfm*@m+5#rk=3ZUbzBe>YR z^{5BW^J2^QF!}ZOBP}ARi+cQ5xG!V2JmXm31txeG z>*8#3`6oFQ?G}H^@UXce(oz-~9-gjq$B9l6Z~bU4wpU!5&{9UycN|Whn8IrQM~xF< z9T1J1hbjT4kGZ)jzo|{-VJ>h!IrUd$XPnAin*Z`j>$iETH1h8kUp{#2 zMEs;d3xouatQavjrXq<=Px4d&*EpVNw8ophr;5SmJdYzrh<@{U;n9jqn zS%Ul*>X6?y4ke!FcUAXZcDT8r9b!FqsTNg19>>YO84RRUE?*pu!R?(iRA(I_4Si{l zJ!aA)N)KqXZy@z_KgG&tq1wA=Z^Z>4>exYEXrML>mW!fVUD*(>)E%|a$M0_%_sd;< z#lFg2m(>GT`NnEpsudJU=Ma$$pK;A+$KGz87Kzk>v{7iEpy!SKF!GgO*Kr!%;%$NC zvfd_?BcCmms(I)v~09jajs}Zm8-q!PPjQ^964}K#j#? zuE$sN{(@Rf#M__->&d9DYjjnn+L#jAhxVOJ?D!ez+*%`ZA;hla*Isht$?a{4l9|LT z`>OT|W&>1|d>~s-W98-)DpmC@Lo`Q=1IeTf7*+?>Nhxj}iuH}nOcOJd&}|>OJ|w{T z7$bFkf%I+mh3p+9u`2UBo9Dw_UVN3!$Kc>dnQv^|j05*12yL{O!kB(U5xpD!A!D|g zTUL)kMl@V_0qCrR=#0&z=A8wh13To?Pd2NizoIpEbSrJAWXBS`DGDWIgZLUaK@6*3 zHDeB*x#vYF*qOHC%|jgAh{d!v%!?N?pzi4|8L7U zGf~BACLngvW=JD=$uFZ#0!OQuwy_5ui43&&_hV&;%9$nRJaw}9JO6Q*l;z599NQwS z=tZkDJGtV8GGnQ%;||Si@pCJV^*GZu5w#v1q3{APQubGwzrUwwM!LgwjuabQek}a} zWMDZi&0+lDiHmby!S%A7(uQkHvi7d5Is&JUfwx>yMFHx+}Aey7(HknmG!(h3RC+z z&$(H4o1}D2Pq3f&!YS#|K`VeL15is3w|5sD=HPtV|K#>{j?))znS7+oGmooUeDg=i zXk616sI{_teAIcQ`ipr|5pR4lzb}!BJ+V*#K>-G^2j?)~?bJsL9P#q+j2iAgu z!(WW7FI>OJaY|5K@ne_oM6^zCMZ#!#oZd0$p_1Z@T~g=kc(p)+d{M3t6!u3W_=9OT zTz%;`#F3utzf)znR#p9cTL}tUm#-IIScB$nBYXEpdLXzKT+Q?vEGnSW^<$7v`I#7i zQ|k6kzTo&THO?3Or~V0eDgA;q{r1wSj67*hV~gu47M$Kb+>R)keooc1*kwnO*v6G3 ztfGyx;GFg?_HQZy0;sAG3I=AqTv(}0QQIAwLwu^ z@T31Ye6mG0)^@S+9d0TQ+rNI&>oHM!w2;f6_KXu^Cga0#UA%t6;YItCQ-bFNPb-{$ z%qFLv`p1M%+|F@RnyH4dDHdZ@UU4mv!2UgYwEneqsmm@N3X+y`cWJxw($Vu53)0dR z+tPUGj#};uW)mdc9PMrW#zhi-y{B~D-K6gxl(&C%T_2r3e{SbZ)|tiYPU#s%K6zzj zQVk=^Tu%2o5hTHP_fI|M5Kb{-gWm2uljh2)#_i_$bk&%4e1Afr!_{bR-6!z|4NUQ5 z(`h^y^ozBr8)1d@BUpf{*=q0t>12dL_`=#X_>Th*XrGY?T!cb4>kLPa!h^;S4#m+q zYn$cb@S(D(GMMQd{MBJ#o?@1o>NyKAsolv~D)ZZC;wZwN4MSzq9-nb?`*CoJoLgz# zyEU8BH`@g&2y3OLdis9)SZ7|xoNs(>y7w@k_T+pjC566)xjMW$%t9;Y(n4#e+Y`2M zw2nIaGnH)Q4mnXZcZaB7m{{UZ-^0eQcP|eHdN+VmPKhK-8|7tU_$}VwR;zox%6H+E znx?)s&6Pps;}JCZ>nt1DE}$mJVIs2MYu@1&EABkBu;e@sb*PscUNMZP#)Wi*T#tCO z^61}72BYk|1D^$`>qj{{O#V7@*)rIt-)3t8u4#Vc1TFgUw@*u#v~@%JPP#%H5r<&( z^XRhZSP|~jo$DrwAkI62%@+FQN~I~rW@X_frU(SBCXk1xwS()@^{YS`E{PCY^x+&; zaV)pIGs{Oo`-+{xNgE}uFH2)~{mQ2Dl@!2E@P8bL)`S(|=6e6}5!;~uIR5<*J%7@` z{P+>29SUpvnD8IR`kZ{mpPle1a0t32qOO&y7!RKH{IM(}Ep2#>>!D!Lw2{eEN{f5H z{9jLVRXN6=l!)8k_6Tk+vNwKwbJzr34>`|kW_5jZBbcKr!|GtBH=xKjzbbHTk~!5ujS2j8eI*GzsDyIOA1(1QFybH z89OkW4L{FNQzod6@bR%^JQci|_Mb-6U!V48f@S38Y7uK`X(nc+pV<~@ zL_J!@<5a^;YvkBSq9(OtskM8eeYYc=jayVa0L`w+o+88&RdM9#)M{-+_K{oaR3gz;YxZ7Dy@9|te4#Z1b>S|`_bnKeT1}4K}gVRIW@J7lT zm!yF~ViQNGJ$;vt2dv=;5M3n#9vN9@E6@0K_Cc@xJMF4#to|N#bF>pnOUgc$$Tio9 z^C=f?i)=fZI=*{*a3_XEv>^pg*+bRRCiW%jk}rR@nmk_)bepVa*qYZK4mQ_2@U)1l zH8~iim;Qkk?Xve6W+!-%&E9HMbeX3sC8N}JWyksE9e%eUuLcofjY0Va=I2#wR>We% zOLXSXH_ywJNocAfDn=p+cVmg|9}@#=I_iLeV6ZKBO_)OGCN%Uy@DASK;Q2!Lf?WF- z@=Uq6xmF3(_gh?jKu@y#dVAn9758`c@%cQj!;4cLle~NY0JY_Y!z-od{RyFHvNv37 z7YpC&GWojs;h|c=q`=*id!8}@+@?N7mK*zV>wyv;&sw<9hC%z!#+N>rt5Gj?v| zb4%({0aY=4Aj1bJT5VI6Nbi613sFB)j-5SVgO6_e74)JzHh@^ z!%gI9_~wX8fgH(HVt@E(vYU;CH*V%se67!I!dqW0{=2WsixPUbWt=_hbiCO5=Yxlc zx@j=$hU+E!(-|%qcfTIoI5mEw?70u3nX>AP9awo79K9ZrjkLkWR6z-zQEtL1-jwyt zL_W$cR;*)mWne{bp_puEYT!*cmRvoOE$r2~l(1Bqs8z?LGU}*TLUpf8diS%vW(U(rG0&}azn4N9 zpRF2?4kZ58o?LmZ2v|^{IEDh3pHH9rcgX~V(4RT59eBSF8bjvn&PQV&T;i)rt?Mi$ zF3YQa2mYN5Dxb8~*2mXe{hVUcg?siIM-3)YwRgEMWXzJ0<(<8 zM+P!03CJ`;4GvM`awDk|;GFh-_x@7xp8Wb)Nr4jCR1>r$06RBT8qvD?7P)s1nfV(; zsHpR7Gce#Vmo6SM(y^BHr}7fjWPWxp`KeANKlnwaWBJ$au_lPMe>&sxSD^Gi@NL^I zM1iQOZBE!mo`D2==OWnYJpM1ZuU!*@M1f;$jD6BFX-#oS&(wO*^t{-ziJrk-UNvZK z1@cnY#Ht4VsX6G6rU<_DvHH)physxBL*J%4v9w7!8s-a!u3F zga>+z?OaHeqAlMQwWq(C1sUf5=xy5Ja6lmRDLg+Uq~4TI`+NPMXKy({SQCX-!KWiC z&%1Ii0=%KO{wC@`q08du!}LsQLmQ5S!Gb?Q6K(pzYlJ`Y=3Gv`sXd&+NC@wc(Z0{ ze>%3*gUcYW8p<4P-mr9W*`b+r6=HD_S@&dKZ>K)K3?%ze9+5x&=RYj5hKa`XypFI-B}!IX(Q}jnDr2b>*yIP%IZiNZh zhGDnXm9_d?8hEIJW2+Za%}?@?N>aSB`G_7r({JIk?Y2t6*^b#VgK6HJ78V(I>2%mw z#2lnA1j-kUzoiZKIzvsn>xVhrN#N!BYV1xIG!i~0o=$5y;QfbX;4$etX%)BSP zj6;%E;dHRF7QNN5*Mm{dWc`ZKv&_bzfW?6Kj&OrInztKkEL{h{KCx!}-412- zJ-OE4xl5k)=uV5+#zHXs*X&k6aDKs0LYx|;*mTx|&zML4!oADXg}$D3$#^A0r4!Yp z%{$QS=+6_bO~Jj{2AdUs#}*4Ghy#OTk^$jB$q)H2BhjGGB!ttKdF3XAMYU>yg942bj`R%I9wF&Kr+stG3#?{qeM;T2B@oF1FJ) zEH3WvA!}l--&7a>=5f67SABB+A6ESRql1`Wsk5wywF|Z|z%}jc1anB_OW)+ZRa)3* zVrrJcxbnNTNQRW3NX!@Rt}47)dHrTAK@5$d+?J)Xpdt_{7s=feT1J3lE(|H{jH;0) znUR^~J7;tglh0YZ3m#z)rC;0w&!PWDm91pfW2R1?e0Xljb7ku2>|{~%k%W?iV%*?X zKoI+4A;MqLD&9qhs!PQ8r1HL~mJItxOp@v7`x{|>qBt%ysi?m3nLVf3fQlA(qXxBE zx#=Jdij_nL3l95i)1i8+O^@Stg}D{Gzu%(d>#Z?V1^EN+s+W=7YX_tA8gqfeHy*B65#&f2^3go|c7fZW>9oZYrr7#A*M*Zbhot79_eT=8Bn!Fmr(|e(-~0hx zuIHp!_}vZI-O_|BSJ^kj#x?$X<2?2X@rw=)HPbVPmyu$@kXe7z95H*Hc<`u`+Y=CK zZ0`odkC7X7p`c^pa{mS}CV!WvPtvn@m}q5mB%c)q$<*#(Mxv{7(`)#CJ3CEV!6>{A zZJ_#sZ1<{b72aN}-ZO|E@wZd$v&=70aD2@0_{dsFoJucTP0&~xvg=r>C&+vm( zvSP9o{Haz(1|8NTtm(bZr%6Zt^SmeT;;2)&{rC1RZadX^YF3r>(1TuiYlkql1&G>g?ARi_mr; zee4(}nA<|VIov9|`E=&%laWt=ViFb>0k-mT(6d4o>m)oI&xpDjpkVCGadCS8MkDUV zxp@57)#?}4)G&h#9YwvSLK^0#8bAvi@y=AF_kOnURn1ej-ugbKsI9T~!=kFAqM9^y zGy2Jka!{K1ZE^;MPGj_XX1JX<)gZZo&z4-GKV3OHLbW$;;2}p5yVykSLhrOV=9y?qF%VvQKWnE11}M_`hC|wea~Js327~BlTncm)3F{T*nSgE|1qThlOQR-@{ro6M?~GS-Po}v z4R!M?!kvj+zPyQOpO>*79Kl_MN1lSqD8h{68$ayorz&BetyCh|Bcn*3elJ22C4&Yv zUSASF-{S$}HyuJDTuDK1PzgZeELW+ z%8(g{fyvL!5PkWchS{%n$6{>Wr`pX4!6UvB#A7tCo^IH?ePg;BO$Jslw2o9XVoxT* z!J)2uXGMOnqp_C}<>~I>u~uqLpu<%ssoFVNT4^~^MJG6iAWD`Ssa_i8d)|$ZO2ER( z%w&2Bek5z5fW>5?|A}kgN8J5;-YxfpdTmUw>67K=*(kz8jXZ%Jc`gbw&Zw%Www$}17gLA+8hxXqB|nCz_k^md z8WjVybO6SBtyFqW9SdA4W6+)pUcFfnWNAqd90Z3%}f;uzKgBH!{fzHROS!; zpO##YG8UF>73RBu@P)VpqO#QF_EpkJyQFZ}gpa>u{7`kyPxPTz5pxq;brddKmfQxX ze#9J0h0E04u^t0--F!5%^J?mMTT)CjASQ|g`($V8NBMp|v*>{k5OH>6sSuOMKUd)_ z;E%;pAp)qfVe*k+LKuhnvYC zlCfD&NLcHzd5ej{nn_MQM+9W$nM&AKtXg@erg?)kBjvT}3>fgpaLF>LWeq3*39n>& zdU{!=r)gc_v2smEgITBoRqK^!yGhM`lf$=Vc2s08Z7D$4%0tQljsBEqzpXY>drHbn zu1(BFj?_1*x;2JZIos4#o0o(Ebhy;tOSd-Zm(QXx5P()ZniZ(a!FtK}ynvLLPM|2V z4xgBhf9lVu^|I%F>(c{wkIpvKayziQ&~&?m(;vA!?f&!&No5!g-iUyp8i}qBBUDW* zahE$#LFCTAAo&heN zRlK^Z8)fC+maAL07ig#~>P=NRt+O91-*rcqNLLaAN(!|}STC@#YO#rkD{5N4&{MpV zPBw)qQZS_BwXOKyNH}_ace?Vt?L4}n?uS9bN`|wZc_$^SgzLP~W($w{q7dn!Fscu- zY>!hs5?L!dfX>HQXX;a!DrLI*ew58}yXoDx9&U@Ol(XiMVjV^`7y`?J?em0>6Os{(#Z*&8+p@2a)IZ1$M>}pYH(_$Pz z&yMDsy>0}}cpMs09MI=uhe$3`BF*haef>yf{V@4R61q%kS+Y=oE8Jk;W6vP1Eek>N z_!Uh!6K=F)R2l`9s<3CXSq188e7eiTRgHsl#FuvFRxMdFeXAIo7WuGn{YdlNBUrSZ zuI5Oq&+(%3YJ4vBi9?y0etcB}k5zjy)6jiJ@jvtzylBtMw)TepC9tRh%VIIfJ+7L6BB6~x z={3&Bp}?zq7CUt1yw;_dyNq78iE(O|OEGRA7KFDL1bge(plceTz4DQfbnez+06T%f zXVsg)&>H6bN(E*4Fc__=4Op2{V&I&Ye}rA%#QjFt(_eg*|Kgs-r?gz*=2>d7a~=Z) zepQofoC)ZJeCX@4m0+XcoRA-3Mw4WaI$%%x7vk@m?AngRJ(sdhKa4(%H08G6ns8r9WQ)Ln zqIaj-FZ4;wlp7OpUFfvF3T`432R8bXY(?GU&s81_y}fqPQTkL9whq;GUnmq%xh=5I zGoRqa+*Y=ep2HID;{FuJ^A63kQ=?tQ{m3wVWeal|M`p69jL)m&T)X@KAmglGr2!{? zxF4Kwou4>AwKB2qDY)mr1+K~Q^}FjJCNL42H_?YY#^xmYAJsd+crZPIiRS*9m>3PW z8u|3s#4CXbpWLlY;X4-_F^O&jj!Usu2`Nr}^WNmt?9#sH&24hO1w$iDhc5e_EO|He zZ}bWT@;gLun1fT`1D>tfg(l&z3yCaY`{jn>VrI^thZoao{gYry2?ug;?V*qtrbn$> zcIbaf6T*=rIOCZX0Q%vvf zzSD+=8XOKJ5#v2?#8g$Wva5|%!;?K*6ASS)OiitP+QHdJe&EM!XOe|HfM}2fS@GB8 z&L9&$UR74P2Eon*=NMs66PIz+wEqdK)6}#vfn^vRk`+Wb`T*+=G95n-Oc=XE*PHjM zv~unNuv9)gaOE?9)qAuY5mHLsKmi)_EX@Ym&47)x2BVeV$u7GwsX1Xjk#G0*716Hv zd)n9K7%~g|8#mWK?1>>_Kl7bYawz2G<9}jQ;)r&RQ)zM?1u5&XS{IRTtCN?Jdgfc?qgZb zC0;d<;3qt6cBC6GgT%}{w5emZnnXVZj;Vq^gs)JqPGsl^_?o$Bl&3|8k@auYvnWlN zv5)*1jsNQqAZRA6ejXw)wtjx$a0A&jiwaZ~Q};G1TC#A;6b#^*d@Fc&`^D)-YC1Uk z+Olt^{={koqTVLazekvKXF_981EtS+Mt0*zOr$!3{fX}dA1|pvBU&~=Fp9bQ5+TyUNkFbz%rSz(wLYMBO{r~sER0zG_>AL3-b^RfM=(Gdf9`zD1*q@|FEcU1}DA! zLJc)shH9HDuKpVEkEj`%#96-E3rxPS__6ixd7H$^ZUX)FMmSnu{O_)Yql53;$@{+{ z+h!~j{wD?ZC%;18jN&#hCr2q=bU9zWO%rXi!QYTeVNxcz2!HfB%L)jx9~C4s(9(g^ zL*IgZz;6W3zBz?9nEA9$FBbK=Ke9kY-1{hj9FsVz5j(VOK0$K6Q-aT%39Qti!wg)p z#)rYGsiU?H_f+F|>)VyXMs|w`B_7FatKj~X&i-w)N9rs8Vfo#>-3r0kp2vd;bB@_w zn1OD)wg{;jr_fF7bJD5SH{{75euyehVUHw}a3)Vk_p~K1@e6!FD+0U5OUz^W#fQhU zUh%&ZaHL+`jMX&og5fBh4Y35D!%*+fPFA)x13q51*@&I9yDr+w(tF$8`;eT#_z#U) z=;iX<+(sx(2onULLRFBp7 zBj}C=?17%pNM8Bj&)AFBa$_SpW2)~YpY$Wl7B6xo+Fbm6nJskJy9^em0IkBX>-2DO zDV;@~Mb0?OSsum~Jn^vMtq*P5DUt~aH)c~0?tct+E4t)hgVBP=Vau0h-vSxe7j137 z-P&576GrCc4tn-_y*gSs`VUJZ&~lyQW1|Vup?-$QP&0U(TXi&!WRkmqk6{2btcooM zo$1JS7Z~Kslr-GZ{}Z| z_y69$NAI^O!|3$>nJsefsUjdyz%Oo(Pu~Pr5WM3svPN=eDyM;)VkJWoQkY)``FAR< zNOt})i^o$J{+7GQU%hMHyb>IF)|K6HW_UqZeBXSoG?E;)X0dPpEpsvY3$#dV9zWdy zy_Vw`s{cy6mm3bFm9_r#PT4RM&)q7V`e}z^I)nXLzGRW7|I0OqO&nMaAn=&{Gv1hM zJ^*S6R80w)lpsssh8r{?KNnJ27jic6P>yA~pI=`Z?tL4-I!Oo=c%y4F=P;iZ6~h^I z38+72pDRUH-lHbJou3jWYJBkehS=gkiC;eSUTF>l^KCIIMuL6)tHY%L6>feaK;iV! z{{+1s1H#^bHa7ruJbprqO+-SELrTZM%lDLwUxrayK$cvKN$?|u+_V3$&HV`H@qbvA zUE&X;evtdnHL91F>*|Ukrg7KdSO17xLDMgl8HX!|CJFM#1ME+d+n(tN6ViUzo3Z0; z^*bihIDaXapx(#H`)c!4c$SHJ$l`o-}d)+ctEJ|pje+IR1Zh3gir zi-#0ltWLZsalhK-rZ3d#_enNV^V0f&ru#+?oB5 z8!)DB$QMz$!Rd?R89}LnTeyYEqZbfQ z#BzJClh0HlNe$QRHL&A<8q4_B<j?V83^RZR-TB z0&eCScK_+wE7_E?*0ZCTE8^ox*Yq1^N%A*UCC>Tz@Z_v9gygeP;28>T|{ zkJ*Nl|2DI{YP_duw}QznhbfY8xgf}D~(zJoBQ&jQT&da5tS zb0ncUxF$re|3+?4EzlHxDJc5qawVIBk*%w`{iy4Vy60CLM8}&d-gnEEgTcFd6_s~5 zXkiPhS9`N{UPgHRn4m&X_dhHSh@D{Sh|-6K7u7l#tSoe2-w7UHiTRce(!1JMWH9nO zes6}O03Sl6GIS@C#_Ymt%WMwi4TqV{q6i@OK7k_NYf7;T3M)=Mo)$+voWh>^W8D!UL3atj@vj z@getBR~$D_f3)bAmVuxj(|u2OOv@wrKMr7$S+uz9ien!*V(VHHY!T-2Vjcw_SS{a? zQ0Lvc?fJdv^NM@S@v^zrb%Mf(*n-@cYZPx9dk^E;J0x9`t`R}N&3P!YK1e^q%@+FQ zFs!AO|Cty+SELg`Sj#`Nduv~CDq;zBG~WQ~LX#l{M>#-hNs}4wOPjbH`7H6`WxR{5 zoUZhi`C50Tqk{`z4J@ce(XD z>iTa?8W}=TtSnYyJ|OOQ&_opc$qH$GJ<}k+1&9j03TMK_m#ZLnN&O!`|kYq z{*rzA@}Ja?Ey^qK(~qelrjP@bLQ;XM--8LP?VoP?H(K40?0R|S_E`$gd6IrJP>;*< zyYE2RdB$JgIT=bjC0_yMIp7?a{lteK*4L6LQSet(br_~cItX4%u4weN+1C+K6S-%H z<)^6K`Ae4@IFkJjYHz;5f4(`Gd-@8zgZ+uoB3?+X%M#$T|!|^Bmx6AN% zfYPw%*Yx`zpO~-3`ND>tLkz4PphSgvYCiWflH~tkjY7ggz;Hh>ykJZH4p#4Mr0~tD zGKsRa`o(nOw;Ka6rS4Zc-n9s}AFc;9LM3uUPb@~i?Z08|t)b4RH^DTM?U2px;TE44 zs$F;ghedQfK>6lBtl0eYuM^bRa}s+QFXgbA*ZKG<1bV9G9Xi|ope*hX4`1LRik;b0 z_ig&f0HMRFQV<&XI4O6gFJmi&t+wowAd+@iBiwG~^E^|WOcL4Q)J4FPaBsH$lr7t@ zU2rmmfp&{y2TVY!7ER5s7}j8QdrtPm>%IPe+4e4{)^An2xHx3P6T3}!3mlBWN%1%|F`*fA6DNf$M^{Q zj&NK4=u1U_{`lWU)IA$z)L`|qdQWLb#A^Une8+%UV~LRqYoSA$c5?i|U9fR`P%p(b z)#~%N;Yi_=^&rsYJ{W_CtgYPxSt)!S3bn@}nvdwVP~Yi;+h4L=Gm!Oy(m9;UyXT)- z!~~0!9-*GGPo>Q&3wd?}C7ikXnNihZ^@CuXk9+_b#z}Qqh146{=N^jlYS{1U)CM#!v_wiUZoD|fuRctn`(?XE>aIZ zIRyRzdTtMs5sP!pdO}S|OI}hQQ8!B}B&_eNWkk^(OCQv($8!{$A)@?~zvz?DQ+T5{ zhPZ6S#mn#y^;yYCvZ#5w+ZpQi=Hb%MN`1+3@tE5gBARKGBh_F^z6EN8ZIx@zESQf8 z|L70rW?31ZaVrd?Hr~UODp$?H?YCr`5-4upz>oHicw_f&Wb=jJ>OiQTSx$o*tzXmsJ4)1?F0l`5SE_?fA!+{I zQzqO=K^u`yC^%p;K0`<@(2YiFs!1g-he1d*(nWP5)i`=7a!dBenK06 za?8cZlTLxA)l+1c{RKA|gyeWgg9pqX&DWU76S%>qxg8ww*h+aC# zko|`hW#ty)Hr%nb>VDGcW8A*UtkR0gDv5CZalU>lDbW12^dC;tzopuIUc74=C4p6i zUD;AJJAT)7b?bY#5uXpcl&Zmt3Xo1rKEJ5^y%ssMQC@7X59k=a!qE|~g4b&QVW&}` zvQ=TG*wtCy<;nr$+uUU5P5GrZBVh7IIuW^>eHPLu=RLUf`X1{fH%FxZDv(W?tmAzT zD~-(JqbjwMYt5+UWN@dpzGTI=saqga$*35XYJ=Bd1> z3FJ_n_LG&(7SrA$C)5s7g1?>!&}gcJ#IY3;l45pO2);fSz@D}<%Ont%;DR>#KXXfX z0LQ^}gpqE)w^G^m?;aoP@N|BRakmtX)-MGj=-RHE`nKuoDRe|c?*k9}S(;+c$V2hU zyVWCPFTVvTKTIxfo7H2H&hl>nc}Z_)6PwfVuaH7oe_7kzo|ca6e5LEMW@McqUc*4|Qx&$Fm-v^ZnJ?$} z>@V&ww$I|re?yKOs1Ku9_6%M77MoOvUy>IZs;|5a`=>;jSNKWbW_I1|V)khMa%i8s z^`aCcHAMKQN*~Ftk63-Ripc%xHV2&SsMJ9^LD7r2+E(OoIkMsAbm#8ts<{5a#F}A; z>IPFr`g>3-dD{7AOQb2C^akjS z`xcpb*VW|)sB5p}->66;!oV+3>i2o4B&GiFQSDhE$8sqM&RFq|A8N2zTJ^k7Lg?@B ztrQ7n>&`MN`7cRfHJU#xUL8lCctAY4)=lFLU7_N0iDQ;#XV{E0(f?s3y5IJrI{f2K z5<8QzX(TqJwa5!6hqJp`VTBwWm1m zxT07dQFSW>v#Lo$Y6+;En?$2y)MVsZ(sK<75aPKzI=G0+8MFQBox;}fTrLu(^1%s!=6m)cD3<=c4y7g=#-Z%8MQ^BpP^tl@>)`2 z$WbSsn7|ochKa$Cf3MZwh(>_Ukq)asjDm8$k3K_L0M*Ug|6#qkTshs#q{%5uRLa-Q zZpJz0xGW7(Z2Vs+!&$Li8j)YypEyYVb=@BVhe0#GYxKg*KF(gfFth1ye}Ok4Bupe# z7c5u_P6gJq6Tp+NcI|@U_jvzd_48bNBB82pr|Q4`eoH-#933kj0^A(R2JVMP0G8Cv za%=E;DizWI6gioaAJ4&$r%?D)aCTsAEH#@(iT~O10P_Al$OX%PSkJpQ=g{tZtxB{8 zRws%Gj49QO_3>!GfkRG*_V$fgNzF3HX8!X9qrd!1WdX zyB-*isy*9< z9b+Hj4$LM|)K_deD2`Jka0GHzNG@Wc=<_+??;T8!0>s{~XP-~-tnJ;%@WpFn=I~RM z?#-1fCJa$S;(WnPsG&xbR|3adrn-gJx}j(AkU5=FP}+*aSUR<9i!nDjSKNh_KQVUNXCC=prbMDUE`sI+Im>QImP-@!P+M_@uICYq}Bn!-T;n>T!5-hhWQ zQ3{>Hv9xj&U6IzMeIqe+iaIfi1Lg||P<2X`Kvyr*kj_T)Za$A!o003z3WF&8i>_xZ zp)~tZ^Xq`^-B2Z*4g`6(PT1YQ%oX{7*|j3&liEP4_{qseGz9mupQC_?MwD*^>edh) z{qeL9$hR*;+-LtyEdjUTXr#}6THE}B%Rn=T?r13Kkt@>Bq-QVeO^RbiS+*r$bUyLQVJ&GrZg4+pijv~aPB1t%8df~zUl=F<=W6iZPVOS3DiFFqEHlxY z+mI9d0BpVyb(0N2BETrj1-H?cP7$o;=)jz>#c?dk`svI>l&&nw`3%Q8By7xhQw0x3 zr!lOYt0Kvt=8|-Y4UUU?O@)wvh2R62m5FrP560^DFyal+FWGRrK65!3s#>K&yewU!LzGDrGQrNi8ho5HI?C5p(|4S7B z!+S{36MB-G&qt{4`~KHI^4G&JS+qJVulJOzrr-|!e>nz|DXKYt|G@r!bj5+`LYeAs zLETE(8CAhC(_1E(EG;<|($!{8KUr?+WM74%&z$dPc9KCm(p?(bTtyk)5@jMKI{=KB!->Vk@qgOYH+mM9Q9cc5;_w@lr- zU_VAYUJ7Cq*Dj7Amk5yl2Bx+}FYiV(gcbYo)-yMIy)z{L?1VWrG?l(p)hZWDCbChi z^0T~?M4{~Fo1D$xSD7l$I%1nbBW;K>vvdVysnlh?xeolhsHej)fcdinBe~)M>6aVd zX`FH#jSE*#Q1*NvTUkpN=w<-f}f=KmJE!I%U|5L48h>P^ccK z3s&cROU-YOnSOVBCt`HyYdaxHerz$eiu01w$8(CXS~pIc)!8AZGJIobn^C$)glKuI z4-xx?!!sM*BO!bpRPy z*v$BY>in(12592$y)HsmQ0hW|$5h5r!@#w^8U1>yt2|_(6yuT3Dw0S^J+cWQGa2-I zbVl-7&6wG>MQLVUsqS=8&O1k!{#Tvaut_#|B#vtIKbb9wEgy;t+8iedVcCp7aqMhJ zwm41urR-NmFlS?l_cY$5M*9vW=FScoMWbQsd8MirOHD|GJ?gzAg=fm?_@&k0pS8iR zgwOwc;>ybGf`Gi=zM~Ry@gy2E#3efYta-KTz${~O*uG@)*I%|A{iQAFUHF)TecbQw z>I4@5cq~od($4-|uczB0zUUOItaHDjna1}ZBz!}u!#vO7X9O?j3gc&^bg*v{atF^B z^cQr8IvPFFh@u%`0H?B6x+TFZ7VuL%oqP9nWZlkw5B%S|mDbznWTa0H>hRNDbGB?# z31*-;JuR4AdnwQOt7jA+btC@Q((BC!WHj58{)>~JT?AJ=m=0zi!gqrebMxqme;W3z zfGVC6^S2}}`azV@zi_h+o}YHpY#%sN?%G>kYT9wY?AhmTOnRp6v>y8_n(VVKWU9L2 zrtTSMvpYtGiN(36Q1M&*cz)=fMtksPUeU%bz&?gKnbLe4Z+Q!pHdzW&&_TMd)ISRx zDgdgtKWQk?XvC^d0C4_)SjEBm>(E|$f+u`@w-Ie2h4z2}jAy6#c__sdZM{!&w``_s z2gksKBqa^L>T03oqL0XSf5va2Yjoc&4FDWkACKxD$~)NNT3Ye6l3dWg+O55RHj(v} zVa~E6e`kMMvZ0qFenma`k&QI6_H62BX#caSQdUCax`jn!(7?9C1}A?Vq>L?>piW?! zz0n%F4()VU*w?7m=c;xYmaXIyqj?!W8EK~v3x2a_wuW-XQ`LB>jwT8OAb~^i!8mlw z}ECN!x2lcXekMFD@vPrBY9qnFngnwU0XmdZLe-DHj zkjTcEWN4iY;gcaWiv5aXxr>GQY^&2*SG1BA@MP?s6`kaGmycR`T~AcF2nh*7dzRHG zD!%?KUBQ96=@e*eOQlH#y0-}RECq;dGQ+{`Ha~FHEta$#rWq4!x)nurW2p1_k14s5 z$>`1O@Ncz@Zk-pIR-B4PF+%4n-1{oVIG~^5;Ylyyg0n$#N3;0d{MIM%=39hP*gqbNLp>s4kFPBvGtY()C1 z32tqmp-wMY^Rl+>chK>UN=l>Cm$#iA+Uwx$s|lF->Sv>rS8qaDdBYl=9khoYNin5b zHM*#~4@Ql_=w4L@OOn$3_~}gbWHFAXax!Mn=1QXR*BFH`EOJ9*F>_rt z4u8wb*2>;{iz01}cZzb^#B$qK!!;DcitlPexrD}WC3dOsJq9!aa*zXp$nYz! zispc~)G?nwzIqW`F&aLVy(O?MGonL5;`d|l81HrCqUeT4mJGmlHyp^_Kj3)!4-%nG zw<#vd=^9@GwEpD&>iNJi1ZTfGfa>4dpOr!d6KnZZ)d&fl;p+|+TTQQaGKQ|0u?6pc zpYx=|XFK*2NdrKF1C;EnOGw==SlK@HZwh166^6HhrcUVBCulD9Qq=@Ow5CM~$cK(( zy47^M>+FXusv@@>{-=^}nFd2?oHU?@!`J%^TbSL#d7@cJ()7Jm&Cqj#k0!NE*yd^p z5oqQ*Q4fMhjZ4n(PqYw>L;TKNYX4HW>F{t*^-_a*5z5FQGd}8%Rg=wH9E0d^&9zy} zl5jb!4qGp3^@ZFb>Iic6>TG)2m26z*IwcWaa3Ny@#&v`_y6&D_d5U zD)nF0V(5W{K==N}ejTL6wm7Awbpw4{9L+x~A{(D4n+@yajZcbGE2=v2U51JN>;S0b z5>hI7)_1-g1P^%CkoNuwOPe4)wTY4>>r+$9ZMMotyRC;6zH*-^wd=TwFlF|+4%#l4 zN7m}Kl$4~H&v!s(9Xmy*vt0a!%%#+vU&G4fHSw=(R&=p_q{*0SwQ^ma>~Q^65ordv zmo!FAV^x@02xpls&ZN#MEK+)AzyOb)%mU3=x~vd2iHrf#SQf>02Ya7V93PS$tlXIUDpR@VuKIQkg8|6H#KmyXYae*G&yc4Z(rZ zQvSMl?6<*~Jh>kL>L+-C?*6V}?@Lj^BDnhS>H^n2>dsN8;nO9C3m0Af0uSBG!(J)m z)VN5#%ubQ`RW5DflQfVqKEfF)ZFH20vFBo~^GeT{cicA+ogokHB7mR73!a }uyBN2Utkh@>Ha#1c>@OO5K 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 z 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 z z1Bt5-E&6q&_(y#XC5};?NBG|19Jp(sTJH4}x=)HP+Qure6g5sW3_>xRH^oZ*BMRtP@;w*0Ec{lxEtD~h+neLG$ zC8^(3!r_g-W{vEJ=>pYqCG zUS>6I!-p6k1s)XLS!DG1CyTRF{ieLNW^k;e=StDx&4%}rs;@#ayp~cM_(r)z3K@eF zRDPphMc#_;or0cRD^em^@P1YXj^TV`-FvX%Z81_}_Vb_uaJ&&jqU7XuMKzB8F+qJ$ zn>|+Yzd}lXLpB}?o*qZGDZ8mpTd&jDU8}D(k&0+t>OM;eY<}dFo|g0Wk3MhObz^e+)&E1X@7dZ5-#Av~((hG=RlTcV(Wax%P7n&; zq_}8is*lC1`L8{A3O~9eqHhIqJXmo~w*8wkYIiZ}8$WyFkd}4+b>IE$)p6#UhY-ut zjqjDyQqYYc2E4@R%?tgf)rHiuv)#T~7f;5u8;l3ywd^^1PE%$RnKjTgDAPZYINYa4TJ#{50CN%5$fu#$mtWATShT6H*fV2h&yJFH3 iJ^s?3} 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 literal 0 HcmV?d00001 diff --git a/lessons/lesson06/octave-log.txt b/lessons/lesson06/octave-log.txt new file mode 100644 index 0000000..92a0105 --- /dev/null +++ b/lessons/lesson06/octave-log.txt @@ -0,0 +1,1791 @@ +octave:7> +^[[200~p = [2 -2 0 -3]; % 2x^3 - 2x^2 - 3^[[201~octave:7> +octave:7> +octave:7> +octave:7> +octave:7> p = [2 -2 0 -3]; % 2x^3 - 2x^2 - 3 +octave:8> y = polyval(p, -5:.05:5); +octave:9> plot(y) +octave:10> figure +octave:11> plot(y) +octave:12> close all +octave:13> r = roots(p) +r = + + 1.5919 + 0i + -0.2960 + 0.9245i + -0.2960 - 0.9245i + +octave:14> polyval(p, r) +ans = + + 8.4377e-15 + 0i + 2.6645e-15 + 1.1102e-16i + 2.6645e-15 - 1.1102e-16i + +octave:15> abs(polyval(p, r)) +ans = + + 8.4377e-15 + 2.6668e-15 + 2.6668e-15 + +octave:16> p1 = poly(r) +p1 = + + 1.0000e+00 -1.0000e+00 -5.5511e-16 -1.5000e+00 + +octave:17> +^[[200~b = [-4 8]; +a = [1 6 8];^[[201~octave:17> +octave:17> +octave:17> +octave:17> +octave:17> b = [-4 8]; +a = [1 6 8]; +octave:19> help residue +'residue' is a function from the file /usr/share/octave/7.3.0/m/polynomial/re +sidue.m + + -- [R, P, K, E] = residue (B, A) + -- [B, A] = residue (R, P, K) + -- [B, A] = residue (R, P, K, E) + The first calling form computes the partial fraction expansion for + the quotient of the polynomials, B and A. + + The quotient is defined as + + B(s) M r(m) N + ---- = SUM ------------- + SUM k(i)*s^(N-i) + A(s) m=1 (s-p(m))^e(m) i=1 + + where M is the number of poles (the length of the R, P, and E), the + K vector is a polynomial of order N-1 representing the direct + contribution, and the E vector specifies the multiplicity of the + m-th residue's pole. + + For example, + + b = [1, 1, 1]; + a = [1, -5, 8, -4]; + [r, p, k, e] = residue (b, a) + => r = [-2; 7; 3] + => p = [2; 2; 1] + => k = [](0x0) + => e = [1; 2; 1] + + which represents the following partial fraction expansion + + s^2 + s + 1 -2 7 3 + ------------------- = ----- + ------- + ----- + s^3 - 5s^2 + 8s - 4 (s-2) (s-2)^2 (s-1) + + The second calling form performs the inverse operation and computes + the reconstituted quotient of polynomials, B(s)/A(s), from the + partial fraction expansion; represented by the residues, poles, and + a direct polynomial specified by R, P and K, and the pole + multiplicity E. + + If the multiplicity, E, is not explicitly specified the + multiplicity is determined by the function 'mpoles'. + + For example: + + r = [-2; 7; 3]; + p = [2; 2; 1]; + k = [1, 0]; + [b, a] = residue (r, p, k) + => b = [1, -5, 9, -3, 1] + => a = [1, -5, 8, -4] + + where mpoles is used to determine e = [1; 2; 1] + + Alternatively the multiplicity may be defined explicitly, for + example, + + r = [7; 3; -2]; + p = [2; 1; 2]; + k = [1, 0]; + e = [2; 1; 1]; + [b, a] = residue (r, p, k, e) + => b = [1, -5, 9, -3, 1] + => a = [1, -5, 8, -4] + + which represents the following partial fraction expansion + + -2 7 3 s^4 - 5s^3 + 9s^2 - 3s + 1 + ----- + ------- + ----- + s = -------------------------- + (s-2) (s-2)^2 (s-1) s^3 - 5s^2 + 8s - 4 + + See also: mpoles, poly, roots, conv, deconv. + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:20> [r, p, k] = residue(b, a) +r = + + -12 + 8 + +p = + + -4 + -2 + +k = [](0x0) +octave:21> [r, p, k, e] = residue(b, a) +r = + + -12 + 8 + +p = + + -4 + -2 + +k = [](0x0) +e = + + 1 + 1 + +octave:22> b +b = + + -4 8 + +octave:23> a +a = + + 1 6 8 + +octave:24> +octave:24> +octave:24> +octave:24> +octave:24> a = [1 2 -3 4]; +b = [5 0 3 -2]; +octave:26> conv(a, b) +ans = + + 5 10 -12 24 -13 18 -8 + +octave:27> +^[[201~octave:27> +octave:27> +octave:27> +octave:27> +octave:27> b1 = [1]; % numerator +a1 = [1 -0.5]; % denominator +figure; +zplane(b1, a1); +error: 'zplane' undefined near line 1, column 1 + +The 'zplane' function belongs to the signal package from Octave Forge +which you have installed but not loaded. To load the package, run 'pkg +load signal' from the Octave prompt. + +Please read to learn how you can +contribute missing functionality. +octave:31> pkg load signal +octave:32> b1 = [1]; % numerator +a1 = [1 -0.5]; % denominator +figure; +zplane(b1, a1); +octave:36> close all +octave:37> + +a = [1 1/sqrt(2) 1/4];^[[201~octave:37> +octave:37> +octave:37> +octave:37> +octave:37> b = [2 3 0]; +a = [1 1/sqrt(2) 1/4]; +octave:39> +^[[200~[z, p, k] = tf2zp(b, a);^[[201~octave:39> +octave:39> +octave:39> +octave:39> +octave:39> [z, p, k] = tf2zp(b, a); +octave:40> z +z = + + -1.5000 + 0 + +octave:41> p +p = + + -0.3536 + 0.3536i + -0.3536 - 0.3536i + +octave:42> figure +octave:43> zplane(z, p) +octave:44> close all +octave:45> +octave:45> +octave:45> +octave:45> +octave:45> +octave:45> b2 = [1]; +a2 = [1 -1.5]; +b3 = [1 -1 0.25]; +a3 = [1 -23/10 1.2]; +octave:49> +octave:49> +octave:49> +octave:49> +octave:49> +octave:49> subplot(3, 1, 2); +zplane(b2, a2); +title('$$H_2(z)=\frac{z}{z-\frac{3}{2}}$$', 'interpreter', 'latex'); +sh: 1: dvipng: not found +warning: latex_renderer: a run-time test failed and the 'latex' interpreter h +as been disabled. +warning: called from + __axis_label__ at line 36 column 6 + title at line 64 column 8 + +octave:52> close all +octave:53> +^[[200~zplane(b2, a2);^[[201~octave:53> +octave:53> +octave:53> +octave:53> +octave:53> zplane(b2, a2); +octave:54> close all +octave:55> +octave:55> +octave:55> +octave:55> +octave:55> +octave:55> [h1, t] = impz(b1, a1, 8); % h is the IMPULSE RESPONSE +octave:56> plot(t, h1) +octave:57> close all +octave:58> stem(t, h1); +octave:59> close all +octave:60> +n = 0:1:5; +x1 = (1/2).^n; +y1 = conv(x1, h1); + +figure; +subplot(2, 1, 1); +stem(y1); +title('Convolution between x_1 and h_1'); +subplot(2, 1, 2); +y2 = filter(b1, a1, x1); +stem(y2); +title('Filter with b_1,a_1 and x_1'); +xlim([0 14]);^[[201~octave:60> +octave:60> +octave:60> +octave:60> +octave:60> n = 0:1:5; +x1 = (1/2).^n; +y1 = conv(x1, h1); + +figure; +subplot(2, 1, 1); +stem(y1); +title('Convolution between x_1 and h_1'); +subplot(2, 1, 2); +y2 = filter(b1, a1, x1); +stem(y2); +title('Filter with b_1,a_1 and x_1'); +xlim([0 14]); +octave:72> close all +octave:73> b1 +b1 = 1 +octave:74> a1 +a1 = + + 1.0000 -0.5000 + +octave:75> +octave:75> +octave:75> +octave:75> +octave:75> +octave:75> freqz(b1, a1); +octave:76> +octave:76> +octave:76> +octave:76> +octave:76> [H, w] = freqz(b1, a1); +octave:77> close all +octave:78> H +H = + + 2.0000 + 0i + 1.9999 - 0.0123i + 1.9995 - 0.0245i + 1.9990 - 0.0368i + 1.9982 - 0.0490i + 1.9972 - 0.0612i + 1.9959 - 0.0734i + 1.9945 - 0.0856i + 1.9928 - 0.0977i + 1.9909 - 0.1097i + 1.9888 - 0.1217i + 1.9865 - 0.1337i + 1.9839 - 0.1456i + 1.9812 - 0.1574i + 1.9782 - 0.1691i + 1.9750 - 0.1808i + 1.9717 - 0.1923i + 1.9681 - 0.2038i + 1.9643 - 0.2152i + 1.9603 - 0.2265i + 1.9562 - 0.2377i + 1.9519 - 0.2487i + 1.9473 - 0.2597i + 1.9426 - 0.2706i + 1.9378 - 0.2813i + 1.9327 - 0.2919i + 1.9275 - 0.3024i + 1.9221 - 0.3127i + 1.9166 - 0.3229i + 1.9109 - 0.3330i + 1.9050 - 0.3429i + 1.8991 - 0.3527i + 1.8929 - 0.3623i + 1.8867 - 0.3718i + 1.8803 - 0.3812i + 1.8738 - 0.3904i + 1.8671 - 0.3994i + 1.8604 - 0.4083i + 1.8535 - 0.4170i + 1.8465 - 0.4255i + 1.8394 - 0.4339i + 1.8323 - 0.4422i + 1.8250 - 0.4503i + 1.8176 - 0.4582i + 1.8102 - 0.4659i + 1.8026 - 0.4735i + 1.7950 - 0.4809i + 1.7873 - 0.4882i + 1.7796 - 0.4953i + 1.7718 - 0.5022i + 1.7639 - 0.5090i + 1.7560 - 0.5155i + 1.7480 - 0.5220i + 1.7400 - 0.5283i + 1.7320 - 0.5344i + 1.7239 - 0.5403i + 1.7157 - 0.5461i + 1.7076 - 0.5517i + 1.6994 - 0.5572i + 1.6912 - 0.5625i + 1.6829 - 0.5676i + 1.6747 - 0.5726i + 1.6664 - 0.5775i + 1.6582 - 0.5822i + 1.6499 - 0.5867i + 1.6416 - 0.5911i + 1.6333 - 0.5954i + 1.6250 - 0.5995i + 1.6168 - 0.6034i + 1.6085 - 0.6072i + 1.6002 - 0.6109i + 1.5920 - 0.6144i + 1.5838 - 0.6178i + 1.5756 - 0.6211i + 1.5674 - 0.6242i + 1.5592 - 0.6272i + 1.5511 - 0.6301i + 1.5430 - 0.6328i + 1.5349 - 0.6355i + 1.5268 - 0.6380i + 1.5188 - 0.6403i + 1.5108 - 0.6426i + 1.5029 - 0.6448i + 1.4949 - 0.6468i + 1.4871 - 0.6487i + 1.4792 - 0.6505i + 1.4714 - 0.6522i + 1.4637 - 0.6538i + 1.4560 - 0.6553i + 1.4483 - 0.6567i + 1.4407 - 0.6580i + 1.4331 - 0.6592i + 1.4256 - 0.6603i + 1.4181 - 0.6613i + 1.4107 - 0.6622i + 1.4033 - 0.6630i + 1.3960 - 0.6637i + 1.3887 - 0.6644i + 1.3815 - 0.6649i + 1.3743 - 0.6654i + 1.3672 - 0.6658i + 1.3602 - 0.6661i + 1.3532 - 0.6664i + 1.3462 - 0.6665i + 1.3393 - 0.6666i + 1.3325 - 0.6667i + 1.3257 - 0.6666i + 1.3190 - 0.6665i + 1.3123 - 0.6663i + 1.3057 - 0.6661i + 1.2991 - 0.6658i + 1.2926 - 0.6654i + 1.2862 - 0.6650i + 1.2798 - 0.6645i + 1.2735 - 0.6640i + 1.2672 - 0.6634i + 1.2610 - 0.6627i + 1.2548 - 0.6620i + 1.2487 - 0.6613i + 1.2427 - 0.6605i + 1.2367 - 0.6596i + 1.2307 - 0.6587i + 1.2249 - 0.6578i + 1.2190 - 0.6568i + 1.2133 - 0.6558i + 1.2076 - 0.6547i + 1.2019 - 0.6536i + 1.1963 - 0.6524i + 1.1907 - 0.6512i + 1.1853 - 0.6500i + 1.1798 - 0.6487i + 1.1744 - 0.6475i + 1.1691 - 0.6461i + 1.1638 - 0.6448i + 1.1586 - 0.6434i + 1.1534 - 0.6419i + 1.1483 - 0.6405i + 1.1432 - 0.6390i + 1.1382 - 0.6375i + 1.1332 - 0.6359i + 1.1283 - 0.6344i + 1.1235 - 0.6328i + 1.1186 - 0.6312i + 1.1139 - 0.6295i + 1.1092 - 0.6278i + 1.1045 - 0.6262i + 1.0999 - 0.6244i + 1.0953 - 0.6227i + 1.0908 - 0.6210i + 1.0863 - 0.6192i + 1.0819 - 0.6174i + 1.0775 - 0.6156i + 1.0731 - 0.6138i + 1.0688 - 0.6120i + 1.0646 - 0.6101i + 1.0604 - 0.6082i + 1.0562 - 0.6063i + 1.0521 - 0.6044i + 1.0480 - 0.6025i + 1.0440 - 0.6006i + 1.0400 - 0.5987i + 1.0361 - 0.5967i + 1.0322 - 0.5948i + 1.0283 - 0.5928i + 1.0245 - 0.5908i + 1.0207 - 0.5888i + 1.0169 - 0.5868i + 1.0132 - 0.5848i + 1.0096 - 0.5828i + 1.0060 - 0.5807i + 1.0024 - 0.5787i + 0.9988 - 0.5767i + 0.9953 - 0.5746i + 0.9918 - 0.5726i + 0.9884 - 0.5705i + 0.9850 - 0.5684i + 0.9816 - 0.5663i + 0.9783 - 0.5643i + 0.9750 - 0.5622i + 0.9717 - 0.5601i + 0.9685 - 0.5580i + 0.9653 - 0.5559i + 0.9622 - 0.5538i + 0.9590 - 0.5517i + 0.9560 - 0.5496i + 0.9529 - 0.5475i + 0.9499 - 0.5453i + 0.9469 - 0.5432i + 0.9439 - 0.5411i + 0.9410 - 0.5390i + 0.9381 - 0.5369i + 0.9352 - 0.5347i + 0.9324 - 0.5326i + 0.9296 - 0.5305i + 0.9268 - 0.5284i + 0.9240 - 0.5262i + 0.9213 - 0.5241i + 0.9186 - 0.5220i + 0.9159 - 0.5198i + 0.9133 - 0.5177i + 0.9107 - 0.5156i + 0.9081 - 0.5134i + 0.9055 - 0.5113i + 0.9030 - 0.5092i + 0.9005 - 0.5071i + 0.8980 - 0.5049i + 0.8956 - 0.5028i + 0.8931 - 0.5007i + 0.8907 - 0.4986i + 0.8884 - 0.4964i + 0.8860 - 0.4943i + 0.8837 - 0.4922i + 0.8814 - 0.4901i + 0.8791 - 0.4880i + 0.8768 - 0.4859i + 0.8746 - 0.4837i + 0.8724 - 0.4816i + 0.8702 - 0.4795i + 0.8680 - 0.4774i + 0.8659 - 0.4753i + 0.8638 - 0.4732i + 0.8617 - 0.4711i + 0.8596 - 0.4690i + 0.8575 - 0.4670i + 0.8555 - 0.4649i + 0.8535 - 0.4628i + 0.8515 - 0.4607i + 0.8495 - 0.4586i + 0.8475 - 0.4566i + 0.8456 - 0.4545i + 0.8437 - 0.4524i + 0.8418 - 0.4504i + 0.8399 - 0.4483i + 0.8380 - 0.4462i + 0.8362 - 0.4442i + 0.8344 - 0.4421i + 0.8326 - 0.4401i + 0.8308 - 0.4380i + 0.8290 - 0.4360i + 0.8273 - 0.4340i + 0.8255 - 0.4319i + 0.8238 - 0.4299i + 0.8221 - 0.4279i + 0.8204 - 0.4259i + 0.8188 - 0.4239i + 0.8171 - 0.4219i + 0.8155 - 0.4198i + 0.8139 - 0.4178i + 0.8123 - 0.4158i + 0.8107 - 0.4138i + 0.8091 - 0.4119i + 0.8075 - 0.4099i + 0.8060 - 0.4079i + 0.8045 - 0.4059i + 0.8030 - 0.4039i + 0.8015 - 0.4020i + 0.8000 - 0.4000i + 0.7985 - 0.3980i + 0.7971 - 0.3961i + 0.7956 - 0.3941i + 0.7942 - 0.3922i + 0.7928 - 0.3902i + 0.7914 - 0.3883i + 0.7900 - 0.3864i + 0.7887 - 0.3844i + 0.7873 - 0.3825i + 0.7860 - 0.3806i + 0.7846 - 0.3787i + 0.7833 - 0.3767i + 0.7820 - 0.3748i + 0.7807 - 0.3729i + 0.7795 - 0.3710i + 0.7782 - 0.3691i + 0.7769 - 0.3672i + 0.7757 - 0.3653i + 0.7745 - 0.3635i + 0.7732 - 0.3616i + 0.7720 - 0.3597i + 0.7708 - 0.3578i + 0.7697 - 0.3560i + 0.7685 - 0.3541i + 0.7673 - 0.3522i + 0.7662 - 0.3504i + 0.7650 - 0.3485i + 0.7639 - 0.3467i + 0.7628 - 0.3449i + 0.7617 - 0.3430i + 0.7606 - 0.3412i + 0.7595 - 0.3394i + 0.7584 - 0.3375i + 0.7574 - 0.3357i + 0.7563 - 0.3339i + 0.7553 - 0.3321i + 0.7542 - 0.3303i + 0.7532 - 0.3285i + 0.7522 - 0.3267i + 0.7512 - 0.3249i + 0.7502 - 0.3231i + 0.7492 - 0.3213i + 0.7482 - 0.3195i + 0.7472 - 0.3177i + 0.7463 - 0.3159i + 0.7453 - 0.3142i + 0.7444 - 0.3124i + 0.7435 - 0.3106i + 0.7425 - 0.3089i + 0.7416 - 0.3071i + 0.7407 - 0.3054i + 0.7398 - 0.3036i + 0.7389 - 0.3019i + 0.7380 - 0.3001i + 0.7372 - 0.2984i + 0.7363 - 0.2967i + 0.7355 - 0.2949i + 0.7346 - 0.2932i + 0.7338 - 0.2915i + 0.7329 - 0.2898i + 0.7321 - 0.2881i + 0.7313 - 0.2863i + 0.7305 - 0.2846i + 0.7297 - 0.2829i + 0.7289 - 0.2812i + 0.7281 - 0.2795i + 0.7273 - 0.2778i + 0.7266 - 0.2762i + 0.7258 - 0.2745i + 0.7250 - 0.2728i + 0.7243 - 0.2711i + 0.7235 - 0.2694i + 0.7228 - 0.2678i + 0.7221 - 0.2661i + 0.7214 - 0.2644i + 0.7206 - 0.2628i + 0.7199 - 0.2611i + 0.7192 - 0.2595i + 0.7185 - 0.2578i + 0.7178 - 0.2562i + 0.7172 - 0.2545i + 0.7165 - 0.2529i + 0.7158 - 0.2512i + 0.7152 - 0.2496i + 0.7145 - 0.2480i + 0.7139 - 0.2464i + 0.7132 - 0.2447i + 0.7126 - 0.2431i + 0.7119 - 0.2415i + 0.7113 - 0.2399i + 0.7107 - 0.2383i + 0.7101 - 0.2367i + 0.7095 - 0.2350i + 0.7089 - 0.2334i + 0.7083 - 0.2318i + 0.7077 - 0.2303i + 0.7071 - 0.2287i + 0.7065 - 0.2271i + 0.7060 - 0.2255i + 0.7054 - 0.2239i + 0.7048 - 0.2223i + 0.7043 - 0.2207i + 0.7037 - 0.2192i + 0.7032 - 0.2176i + 0.7026 - 0.2160i + 0.7021 - 0.2145i + 0.7016 - 0.2129i + 0.7010 - 0.2113i + 0.7005 - 0.2098i + 0.7000 - 0.2082i + 0.6995 - 0.2067i + 0.6990 - 0.2051i + 0.6985 - 0.2036i + 0.6980 - 0.2020i + 0.6975 - 0.2005i + 0.6970 - 0.1989i + 0.6966 - 0.1974i + 0.6961 - 0.1959i + 0.6956 - 0.1943i + 0.6952 - 0.1928i + 0.6947 - 0.1913i + 0.6942 - 0.1897i + 0.6938 - 0.1882i + 0.6933 - 0.1867i + 0.6929 - 0.1852i + 0.6925 - 0.1837i + 0.6920 - 0.1822i + 0.6916 - 0.1807i + 0.6912 - 0.1791i + 0.6908 - 0.1776i + 0.6904 - 0.1761i + 0.6899 - 0.1746i + 0.6895 - 0.1731i + 0.6891 - 0.1716i + 0.6887 - 0.1701i + 0.6884 - 0.1687i + 0.6880 - 0.1672i + 0.6876 - 0.1657i + 0.6872 - 0.1642i + 0.6868 - 0.1627i + 0.6865 - 0.1612i + 0.6861 - 0.1597i + 0.6857 - 0.1583i + 0.6854 - 0.1568i + 0.6850 - 0.1553i + 0.6847 - 0.1539i + 0.6843 - 0.1524i + 0.6840 - 0.1509i + 0.6836 - 0.1494i + 0.6833 - 0.1480i + 0.6830 - 0.1465i + 0.6826 - 0.1451i + 0.6823 - 0.1436i + 0.6820 - 0.1422i + 0.6817 - 0.1407i + 0.6814 - 0.1392i + 0.6811 - 0.1378i + 0.6808 - 0.1363i + 0.6805 - 0.1349i + 0.6802 - 0.1335i + 0.6799 - 0.1320i + 0.6796 - 0.1306i + 0.6793 - 0.1291i + 0.6790 - 0.1277i + 0.6787 - 0.1263i + 0.6785 - 0.1248i + 0.6782 - 0.1234i + 0.6779 - 0.1220i + 0.6777 - 0.1205i + 0.6774 - 0.1191i + 0.6771 - 0.1177i + 0.6769 - 0.1162i + 0.6766 - 0.1148i + 0.6764 - 0.1134i + 0.6761 - 0.1120i + 0.6759 - 0.1106i + 0.6757 - 0.1091i + 0.6754 - 0.1077i + 0.6752 - 0.1063i + 0.6750 - 0.1049i + 0.6747 - 0.1035i + 0.6745 - 0.1021i + 0.6743 - 0.1007i + 0.6741 - 0.0992i + 0.6739 - 0.0978i + 0.6737 - 0.0964i + 0.6735 - 0.0950i + 0.6733 - 0.0936i + 0.6731 - 0.0922i + 0.6729 - 0.0908i + 0.6727 - 0.0894i + 0.6725 - 0.0880i + 0.6723 - 0.0866i + 0.6721 - 0.0852i + 0.6720 - 0.0838i + 0.6718 - 0.0824i + 0.6716 - 0.0810i + 0.6714 - 0.0796i + 0.6713 - 0.0783i + 0.6711 - 0.0769i + 0.6710 - 0.0755i + 0.6708 - 0.0741i + 0.6706 - 0.0727i + 0.6705 - 0.0713i + 0.6703 - 0.0699i + 0.6702 - 0.0685i + 0.6701 - 0.0672i + 0.6699 - 0.0658i + 0.6698 - 0.0644i + 0.6697 - 0.0630i + 0.6695 - 0.0616i + 0.6694 - 0.0602i + 0.6693 - 0.0589i + 0.6691 - 0.0575i + 0.6690 - 0.0561i + 0.6689 - 0.0547i + 0.6688 - 0.0533i + 0.6687 - 0.0520i + 0.6686 - 0.0506i + 0.6685 - 0.0492i + 0.6684 - 0.0478i + 0.6683 - 0.0465i + 0.6682 - 0.0451i + 0.6681 - 0.0437i + 0.6680 - 0.0424i + 0.6679 - 0.0410i + 0.6678 - 0.0396i + 0.6678 - 0.0382i + 0.6677 - 0.0369i + 0.6676 - 0.0355i + 0.6675 - 0.0341i + 0.6675 - 0.0328i + 0.6674 - 0.0314i + 0.6673 - 0.0300i + 0.6673 - 0.0287i + 0.6672 - 0.0273i + 0.6672 - 0.0259i + 0.6671 - 0.0246i + 0.6671 - 0.0232i + 0.6670 - 0.0218i + 0.6670 - 0.0205i + 0.6669 - 0.0191i + 0.6669 - 0.0177i + 0.6669 - 0.0164i + 0.6668 - 0.0150i + 0.6668 - 0.0136i + 0.6668 - 0.0123i + 0.6668 - 0.0109i + 0.6667 - 0.0095i + 0.6667 - 0.0082i + 0.6667 - 0.0068i + 0.6667 - 0.0055i + 0.6667 - 0.0041i + 0.6667 - 0.0027i + 0.6667 - 0.0014i + +octave:79> w +w = + + 0 + 0.0061 + 0.0123 + 0.0184 + 0.0245 + 0.0307 + 0.0368 + 0.0430 + 0.0491 + 0.0552 + 0.0614 + 0.0675 + 0.0736 + 0.0798 + 0.0859 + 0.0920 + 0.0982 + 0.1043 + 0.1104 + 0.1166 + 0.1227 + 0.1289 + 0.1350 + 0.1411 + 0.1473 + 0.1534 + 0.1595 + 0.1657 + 0.1718 + 0.1779 + 0.1841 + 0.1902 + 0.1963 + 0.2025 + 0.2086 + 0.2148 + 0.2209 + 0.2270 + 0.2332 + 0.2393 + 0.2454 + 0.2516 + 0.2577 + 0.2638 + 0.2700 + 0.2761 + 0.2823 + 0.2884 + 0.2945 + 0.3007 + 0.3068 + 0.3129 + 0.3191 + 0.3252 + 0.3313 + 0.3375 + 0.3436 + 0.3497 + 0.3559 + 0.3620 + 0.3682 + 0.3743 + 0.3804 + 0.3866 + 0.3927 + 0.3988 + 0.4050 + 0.4111 + 0.4172 + 0.4234 + 0.4295 + 0.4357 + 0.4418 + 0.4479 + 0.4541 + 0.4602 + 0.4663 + 0.4725 + 0.4786 + 0.4847 + 0.4909 + 0.4970 + 0.5031 + 0.5093 + 0.5154 + 0.5216 + 0.5277 + 0.5338 + 0.5400 + 0.5461 + 0.5522 + 0.5584 + 0.5645 + 0.5706 + 0.5768 + 0.5829 + 0.5890 + 0.5952 + 0.6013 + 0.6075 + 0.6136 + 0.6197 + 0.6259 + 0.6320 + 0.6381 + 0.6443 + 0.6504 + 0.6565 + 0.6627 + 0.6688 + 0.6750 + 0.6811 + 0.6872 + 0.6934 + 0.6995 + 0.7056 + 0.7118 + 0.7179 + 0.7240 + 0.7302 + 0.7363 + 0.7424 + 0.7486 + 0.7547 + 0.7609 + 0.7670 + 0.7731 + 0.7793 + 0.7854 + 0.7915 + 0.7977 + 0.8038 + 0.8099 + 0.8161 + 0.8222 + 0.8283 + 0.8345 + 0.8406 + 0.8468 + 0.8529 + 0.8590 + 0.8652 + 0.8713 + 0.8774 + 0.8836 + 0.8897 + 0.8958 + 0.9020 + 0.9081 + 0.9143 + 0.9204 + 0.9265 + 0.9327 + 0.9388 + 0.9449 + 0.9511 + 0.9572 + 0.9633 + 0.9695 + 0.9756 + 0.9817 + 0.9879 + 0.9940 + 1.0002 + 1.0063 + 1.0124 + 1.0186 + 1.0247 + 1.0308 + 1.0370 + 1.0431 + 1.0492 + 1.0554 + 1.0615 + 1.0677 + 1.0738 + 1.0799 + 1.0861 + 1.0922 + 1.0983 + 1.1045 + 1.1106 + 1.1167 + 1.1229 + 1.1290 + 1.1351 + 1.1413 + 1.1474 + 1.1536 + 1.1597 + 1.1658 + 1.1720 + 1.1781 + 1.1842 + 1.1904 + 1.1965 + 1.2026 + 1.2088 + 1.2149 + 1.2210 + 1.2272 + 1.2333 + 1.2395 + 1.2456 + 1.2517 + 1.2579 + 1.2640 + 1.2701 + 1.2763 + 1.2824 + 1.2885 + 1.2947 + 1.3008 + 1.3070 + 1.3131 + 1.3192 + 1.3254 + 1.3315 + 1.3376 + 1.3438 + 1.3499 + 1.3560 + 1.3622 + 1.3683 + 1.3744 + 1.3806 + 1.3867 + 1.3929 + 1.3990 + 1.4051 + 1.4113 + 1.4174 + 1.4235 + 1.4297 + 1.4358 + 1.4419 + 1.4481 + 1.4542 + 1.4603 + 1.4665 + 1.4726 + 1.4788 + 1.4849 + 1.4910 + 1.4972 + 1.5033 + 1.5094 + 1.5156 + 1.5217 + 1.5278 + 1.5340 + 1.5401 + 1.5463 + 1.5524 + 1.5585 + 1.5647 + 1.5708 + 1.5769 + 1.5831 + 1.5892 + 1.5953 + 1.6015 + 1.6076 + 1.6137 + 1.6199 + 1.6260 + 1.6322 + 1.6383 + 1.6444 + 1.6506 + 1.6567 + 1.6628 + 1.6690 + 1.6751 + 1.6812 + 1.6874 + 1.6935 + 1.6997 + 1.7058 + 1.7119 + 1.7181 + 1.7242 + 1.7303 + 1.7365 + 1.7426 + 1.7487 + 1.7549 + 1.7610 + 1.7671 + 1.7733 + 1.7794 + 1.7856 + 1.7917 + 1.7978 + 1.8040 + 1.8101 + 1.8162 + 1.8224 + 1.8285 + 1.8346 + 1.8408 + 1.8469 + 1.8530 + 1.8592 + 1.8653 + 1.8715 + 1.8776 + 1.8837 + 1.8899 + 1.8960 + 1.9021 + 1.9083 + 1.9144 + 1.9205 + 1.9267 + 1.9328 + 1.9390 + 1.9451 + 1.9512 + 1.9574 + 1.9635 + 1.9696 + 1.9758 + 1.9819 + 1.9880 + 1.9942 + 2.0003 + 2.0064 + 2.0126 + 2.0187 + 2.0249 + 2.0310 + 2.0371 + 2.0433 + 2.0494 + 2.0555 + 2.0617 + 2.0678 + 2.0739 + 2.0801 + 2.0862 + 2.0923 + 2.0985 + 2.1046 + 2.1108 + 2.1169 + 2.1230 + 2.1292 + 2.1353 + 2.1414 + 2.1476 + 2.1537 + 2.1598 + 2.1660 + 2.1721 + 2.1783 + 2.1844 + 2.1905 + 2.1967 + 2.2028 + 2.2089 + 2.2151 + 2.2212 + 2.2273 + 2.2335 + 2.2396 + 2.2457 + 2.2519 + 2.2580 + 2.2642 + 2.2703 + 2.2764 + 2.2826 + 2.2887 + 2.2948 + 2.3010 + 2.3071 + 2.3132 + 2.3194 + 2.3255 + 2.3317 + 2.3378 + 2.3439 + 2.3501 + 2.3562 + 2.3623 + 2.3685 + 2.3746 + 2.3807 + 2.3869 + 2.3930 + 2.3991 + 2.4053 + 2.4114 + 2.4176 + 2.4237 + 2.4298 + 2.4360 + 2.4421 + 2.4482 + 2.4544 + 2.4605 + 2.4666 + 2.4728 + 2.4789 + 2.4850 + 2.4912 + 2.4973 + 2.5035 + 2.5096 + 2.5157 + 2.5219 + 2.5280 + 2.5341 + 2.5403 + 2.5464 + 2.5525 + 2.5587 + 2.5648 + 2.5710 + 2.5771 + 2.5832 + 2.5894 + 2.5955 + 2.6016 + 2.6078 + 2.6139 + 2.6200 + 2.6262 + 2.6323 + 2.6384 + 2.6446 + 2.6507 + 2.6569 + 2.6630 + 2.6691 + 2.6753 + 2.6814 + 2.6875 + 2.6937 + 2.6998 + 2.7059 + 2.7121 + 2.7182 + 2.7243 + 2.7305 + 2.7366 + 2.7428 + 2.7489 + 2.7550 + 2.7612 + 2.7673 + 2.7734 + 2.7796 + 2.7857 + 2.7918 + 2.7980 + 2.8041 + 2.8103 + 2.8164 + 2.8225 + 2.8287 + 2.8348 + 2.8409 + 2.8471 + 2.8532 + 2.8593 + 2.8655 + 2.8716 + 2.8777 + 2.8839 + 2.8900 + 2.8962 + 2.9023 + 2.9084 + 2.9146 + 2.9207 + 2.9268 + 2.9330 + 2.9391 + 2.9452 + 2.9514 + 2.9575 + 2.9637 + 2.9698 + 2.9759 + 2.9821 + 2.9882 + 2.9943 + 3.0005 + 3.0066 + 3.0127 + 3.0189 + 3.0250 + 3.0311 + 3.0373 + 3.0434 + 3.0496 + 3.0557 + 3.0618 + 3.0680 + 3.0741 + 3.0802 + 3.0864 + 3.0925 + 3.0986 + 3.1048 + 3.1109 + 3.1170 + 3.1232 + 3.1293 + 3.1355 + +octave:80> +Hph = rad2deg(unwrap(angle(H)));^[[201~octave:80> +octave:80> +octave:80> +octave:80> +octave:80> Hdb = 20*log10(abs(H)); +Hph = rad2deg(unwrap(angle(H))); +octave:82> +octave:82> +octave:82> +octave:82> +octave:82> +octave:82> figure; +subplot(2, figure; +subplot(2, 1, 1); +plot(w, Hdb);ency (rad)"); +xlabel("Frequency (rad)"); +ylabel("|H| (dB)"); +xlim([0 pi]);2 pi]); +xticks([0 pi/2 pi]);pi/2', '\pi'}); +xticklabels({'0', '\pi/2', '\pi'}); +title("Magnitude Response"); +subplot(2, 1, 2); +subplot(2, 1, 2); +plot(w, Hph);ency (rad)"); +xlabel("Frequency (rad)"); +ylabel("Phase (deg)"); +xlim([0 pi]);2 pi]); +xticks([0 pi/2 pi]);pi/2', '\pi'}); +xticklabels({'0', '\pi/2', '\pi'}); +title("Phase Response"); +octave:99> close all +octave:100> + + + + +^[[200~zer = -0.5; +pol = 0.9*exp(j*2*pi*[-0.3 0.3]');^[[201~octave:100> +octave:100> +octave:100> +octave:100> +octave:100> zer = -0.5; +pol = 0.9*exp(j*2*pi*[-0.3 0.3]'); +octave:102> zer +zer = -0.5000 +octave:103> pol +pol = + + -0.2781 - 0.8560i + -0.2781 + 0.8560i + +octave:104> +octave:104> +octave:104> +octave:104> +octave:104> +octave:104> figure; +zplane(zer, pol); +octave:106> close all +octave:107> +octave:107> +octave:107> +octave:107> +octave:107> +octave:107> [b4,a4] = zp2tf(zer, pol, 1); +octave:108> +^[[200~[H,w] = freqz(b4, a4);^[[201~octave:108> +octave:108> +octave:108> +octave:108> +octave:108> [H,w] = freqz(b4, a4); +octave:109> +Hdb = 20*log10(abs(H)); +Hph = rad2deg(unwrap(angle(H)));^[[201~octave:109> +octave:109> +octave:109> +octave:109> +octave:109> Hdb = 20*log10(abs(H)); +Hph = rad2deg(unwrap(angle(H))); +octave:111> + +plot(w, Hdb); +xlabel("Frequency (rad)"); +ylabel("|H| (dB)"); +xlim([0 pi]); +xticks([0 pi/2 pi]); +xticklabels({'0', '\pi/2', '\pi'}); +title("Magnitude Response"); + +subplot(2, 1, 2); +plot(w, Hph); +xlabel("Frequency (rad)"); +ylabel("Phase (deg)"); +xlim([0 pi]); +xticks([0 pi/2 pi]); +xticklabels({'0', '\pi/2', '\pi'}); +title("Phase Response");^[[201~octave:111> +octave:111> +octave:111> +octave:111> +octave:111> figure; +subplot(2, 1figure; +subplot(2, 1, 1); +plot(w, Hdb);ency (rad)"); +xlabel("Frequency (rad)"); +ylabel("|H| (dB)"); +xlim([0 pi]);2 pi]); +xticks([0 pi/2 pi]);pi/2', '\pi'}); +xticklabels({'0', '\pi/2', '\pi'}); +title("Magnitude Response"); +subplot(2, 1, 2); +subplot(2, 1, 2); +plot(w, Hph);ency (rad)"); +xlabel("Frequency (rad)"); +ylabel("Phase (deg)"); +xlim([0 pi]);2 pi]); +xticks([0 pi/2 pi]);pi/2', '\pi'}); +xticklabels({'0', '\pi/2', '\pi'}); +title("Phase Response"); +octave:128> close all +octave:129> +^[[200~a = [1 0.4 1]; +b = [0.2 0.3 1];^[[201~octave:129> +octave:129> +octave:129> +octave:129> +octave:129> a = [1 0.4 1]; +b = [0.2 0.3 1]; +octave:131> +^[[200~w = logspace(-1, 1); +H = freqs(b, a, w);^[[201~octave:131> +octave:131> +octave:131> +octave:131> +octave:131> w = logspace(-1, 1); +H = freqs(b, a, w); +octave:133> +octave:133> +octave:133> +xlabel("Frequency (rad/s)"); +ylabel("|H| (dB)"); +title("Magnitude Response"); + +subplot(2, 1, 2); +semilogx(w, Hph); +xlabel("Frequency (rad/s)"); +ylabel("Phase (deg)"); +title("Phase Response");^[[201~octave:133> +octave:133> +octave:133> Hdb = 20*log10(abs(H)); +Hph = rad2deg(unwrap(angle(H))); + +figure; +subplot(2, 1, 1); +semilogx(w, Hdb); +xlabel("Frequency (rad/s)"); +ylabel("|H| (dB)"); +title("Magnitude Response"); + +subplot(2, 1, 2); +semilogx(w, Hph); +xlabel("Frequency (rad/s)"); +ylabel("Phase (deg)"); +title("Phase Response"); +octave:146> close all +octave:147> +^[[200~[z, p, k] = tf2zp(b, a); +figure; +splane(z, p);^[[201~octave:147> +octave:147> +octave:147> +octave:147> +octave:147> [z, p, k] = tf2zp(b, a); +figure; +splane(z, p); +octave:150> close all +octave:151> load handel +octave:152> soundsc(y, Fs) +ALSA lib pcm_dsnoop.c:566:(snd_pcm_dsnoop_open) unable to open slave +ALSA lib pcm_dmix.c:999:(snd_pcm_dmix_open) unable to open slave +ALSA lib pcm.c:2666:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear +ALSA lib pcm.c:2666:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe +ALSA lib pcm.c:2666:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side +Cannot connect to server socket err = No such file or directory +Cannot connect to server request channel +jack server is not running or cannot be started +JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping un +lock +JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping un +lock +Cannot connect to server socket err = No such file or directory +Cannot connect to server request channel +jack server is not running or cannot be started +JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping un +lock +JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping un +lock +ALSA lib pcm_oss.c:397:(_snd_pcm_oss_open) Cannot open device /dev/dsp +ALSA lib pcm_oss.c:397:(_snd_pcm_oss_open) Cannot open device /dev/dsp +ALSA lib pcm_a52.c:1001:(_snd_pcm_a52_open) a52 is only for playback +ALSA lib confmisc.c:160:(snd_config_get_card) Invalid field card +ALSA lib pcm_usb_stream.c:482:(_snd_pcm_usb_stream_open) Invalid card 'card' +ALSA lib confmisc.c:160:(snd_config_get_card) Invalid field card +ALSA lib pcm_usb_stream.c:482:(_snd_pcm_usb_stream_open) Invalid card 'card' +ALSA lib pcm_dmix.c:999:(snd_pcm_dmix_open) unable to open slave +Cannot connect to server socket err = No such file or directory +Cannot connect to server request channel +jack server is not running or cannot be started +JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping un +lock +JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping un +lock +octave:153> size(y) +ans = + + 73113 1 + +octave:154> ufs +error: 'ufs' undefined near line 1, column 1 +octave:155> Fs +Fs = 8192 +octave:156> +^[[200~T = 1/Fs; +t = 0:T:(length(y)-1)*T;^[[201~octave:156> +octave:156> +octave:156> +octave:156> +octave:156> T = 1/Fs; +t = 0:T:(length(y)-1)*T; +octave:158> + +noise = 0.2*sin(2*pi*t*Fnoise).'; % additive "noise" with freq. 2.5kHz +y = noise + y;^[[201~octave:158> +octave:158> +octave:158> +octave:158> +octave:158> Fnoise = 2500; +noise = 0.2*sin(2*pi*t*Fnoise).'; % additive "noise" with freq. 2.5kHz +y = noise + y; +octave:161> soundsc(y, Fs) +octave:162> +octave:162> +octave:162> +octave:162> +octave:162> +octave:162> N = 2^15; +S = fft(y, N); % N-point DFT (best to use power of 2) +octave:164> N +N = 32768 +octave:165> +^[[200~S = fftshift(abs(S)) / N;^[[201~octave:165> +octave:165> +octave:165> +octave:165> +octave:165> S = fftshift(abs(S)) / N; +octave:166> +^[[200~F = Fs .* (-N/2:N/2-1) / N;^[[201~octave:166> +octave:166> +octave:166> +octave:166> +octave:166> F = Fs .* (-N/2:N/2-1) / N; +octave:167> +octave:167> +title 'Fourier Transform of Audio'; +xlabel 'Frequency (Hz)'; +ylabel 'Magnitude';^[[201~octave:167> +octave:167> +octave:167> +octave:167> figure; +plot(F, S); +title 'Fourier Transform of Audio'; +xlabel 'Frequency (Hz)'; +ylabel 'Magnitude'; +octave:172> close all +octave:173> +^[[200~figure; +plot(F2, abs(S)); +% plot(F3, abs(S)); +% plot(F4, abs(S)); +title 'Fourier Transform of Audio'; +xlabel 'Frequency (Hz)'; +ylabel 'Magnitude';^[[201~octave:173> +octave:173> +octave:173> +octave:173> +octave:173> figure; +plot(F2, abs(S)); +% plot(F3, abs(S)); +% plot(F4, abs(S)); +title 'Fourier Transform of Audio'; +xlabel 'Frequency (Hz)'; +ylabel 'Magnitude'; +error: 'F2' undefined near line 1, column 6 +octave:178> +^[[200~ * Fs / (2 * pi);^[[201~octave:178> +octave:178> +octave:178> +octave:178> +octave:178> * Fs / (2 * pi); +wd = linspace(-pi, pi, N+1); +wd = wd(1:end-1); +F2 = wd * Fs / (2 * pi);error: parse error: + + syntax error + +>>> * Fs / (2 * pi); + ^ +octave:178> +octave:178> +octave:178> +octave:178> +octave:178> wd = linspace(-pi, pi, N+1); +octave:179> wd = wd(1:end-1); +octave:180> F2 = wd * Fs / (2 * pi); +octave:181> close all +octave:182> +^[[200~figure; +plot(F2, abs(S)); +% plot(F3, abs(S)); +% plot(F4, abs(S)); +title 'Fourier Transform of Audio'; +xlabel 'Frequency (Hz)'; +ylabel 'Magnitude';^[[201~octave:182> +octave:182> +octave:182> +octave:182> +octave:182> figure; +plot(F2, abs(S)); +% plot(F3, abs(S)); +% plot(F4, abs(S)); +title 'Fourier Transform of Audio'; +xlabel 'Frequency (Hz)'; +ylabel 'Magnitude'; +octave:187> close all +octave:188> +octave:188> +octave:188> +octave:188> +octave:188> +octave:188> x = imread('bw-cat.jpg'); +imshow(x); +octave:190> close all +octave:191> +octave:191> +octave:191> +octave:191> +octave:191> +octave:191> F = fftshift(fft2(x)); +octave:192> +^[[200~lpf_mask = zeros(size(F)); +[H, W] = size(F); +lpf_mask(floor(H/2-H/10):floor(H/2+H/10), ... + floor(W/2-W/10):floor(W/2+W/10)) = 1;^[[201~octave:192> +octave:192> +octave:192> +octave:192> +octave:192> lpf_mask = zeros(size(F)); +[H, W] = size(F); +lpf_mask(floor(H/2-H/10):floor(H/2+H/10), ... + floor(W/2-W/10):floor(W/2+W/10)) = 1; +octave:195> +^[[200~figure; +subplot(121); +% Normalize FFT to range [0, 1] +imshow(log(abs(F)) / max(log(abs(F(:))))); +title 'Fourier transform';^[[201~octave:195> +octave:195> +octave:195> +octave:195> +octave:195> figure; +subplot(121); +% Normalize FFT to range [0, 1] +imshow(log(abs(F)) / max(log(abs(F(:))))); +title 'Fourier transform'; +octave:199> +octave:199> +octave:199> +octave:199> +octave:199> +octave:199> % Show the LPF mask +subplot(122); +imshow(lpf_mask); +title 'LPF mask'; +octave:202> close all +octave:203> +octave:203> +octave:203> +octave:203> +octave:203> +octave:203> im_filtered_fft = lpf_mask .* F; % high frequencies remove +d im_filtered_fft = lpf_mask .* F; % high frequencies remove +d = ifft2(ifftshift(im_filtered_fft)); % ifft2 == ifft 2-D +f = ifft2(ifftshift(im_filtered_fft)); % ifft2 == ifft 2-Dfft(:))))); +imshow(log(abs(im_filtered_fft)) / max(log(abs(im_filtered_fft(:))))); +title 'Filtered FFT'; +octave:207> close all +octave:208> +^[[200~figure; +subplot(121); +fnorm = abs(f) / max(abs(f(:))); +imshow(fnorm); +title 'High frequencies removed'; + +subplot(122); +xnorm = abs(double(x)) / max(double(x(:))); +imshow(xnorm); +title 'Original image';^[[201~octave:208> +octave:208> +octave:208> +octave:208> +octave:208> figure; +subplot(121); +fnorm = abs(f) / max(abs(f(:))); +imshow(fnorm); +title 'High frequencies removed'; + +subplot(122); +xnorm = abs(double(x)) / max(double(x(:))); +imshow(xnorm); +title 'Original image'; +octave:217> close all +octave:218> +octave:218> +octave:218> +octave:218> +octave:218> +octave:218> sharp_image = abs(fnorm - xnorm); +sharp_image_norm = sharp_image / max(sharp_image(:)); +imshow(sharp_image_norm); + +%% Pinpoints these changes +edge_image = zeros(size(sharp_image_norm)); +edge_image(sharp_image_norm > 3.5*std(sharp_image_norm(:))) = 1; +imshow(edge_image); +octave:224> close all +octave:225> diff --git a/lessons/lesson06/polynomials.m b/lessons/lesson06/polynomials.m new file mode 100644 index 0000000..11dc4e3 --- /dev/null +++ b/lessons/lesson06/polynomials.m @@ -0,0 +1,66 @@ +%% Lesson 6a: Polynomials +% Before we step into z transform, we should take a look at what functions +% are there in MATLAB to evaluate polynomials. There are 4 major functions +% to know about -- polyval, root/poly and conv. +clc; clear; close all; + +%% polyval +% Allows you to evaluate polynomials specified as an array of coefficients. +p = [2 -2 0 -3]; % 2x^3 - 2x^2 - 3 +x = -5:.05:5; +a = polyval(p,x); +a2 = 2*x.^3 - 2*x.^2 - 3; + +figure; +subplot(2, 1, 1); +plot(x, a); +title('Using polyval'); + +subplot(2, 1, 2); +plot(x, a2); +title('Using algebraic expression'); +% The graphs are the same! + +%% roots/poly +% These two functions are ~inverses! They allow you +% to find the roots / coefficients of a vector of numbers +r = roots(p); +p1 = poly(r); + +% `poly` will always return a monic polynomial (the highest coefficient +% will be 1). + +%% residue +% Will apply later in the Signals course. Pretty much partial fractions +% from Calc I. +b = [-4 8]; +a = [1 6 8]; +[r, p, k] = residue(b, a); + +[bb, aa] = residue(r, p, k); % can go both ways + +% Note that a, b are row vectors, whereas r, p are column vectors! This +% convention is true when we look at tf/zpk forms. + +%% conv +% You've probably heard this a lot from Prof. Fontaine. +% Convolution in the time domain is multiplication in the frequency domain +% (applying a LTI system to a signal is convolution in the time domain). +% +% Convolution is also used to multiply two polynomials together (if +% specified as an array of coefficients.) +a = [1 2 -3 4]; +b = [5 0 3 -2]; +p2 = conv(a, b); % Use convolution + +x = -5:.05:5; + +% a little experiment +figure; +subplot(2, 1, 1); +plot(x, polyval(a, x) .* polyval(b, x)); +title('Multiplying polynomial values elementwise'); + +subplot(2, 1, 2); +plot(x, polyval(p2, x)); +title('Using conv on convolved polynomials'); diff --git a/lessons/lesson06/splane.m b/lessons/lesson06/splane.m new file mode 100644 index 0000000..d5113c5 --- /dev/null +++ b/lessons/lesson06/splane.m @@ -0,0 +1,16 @@ +% `splane` creates a pole-zero plot using pole and zero inputs with the +% real and imaginary axes superimposed +function splane(z,p) + x1 = real(z); + x2 = real(p); + y1 = imag(z); + y2 = imag(p); + + plot(x1, y1, 'o', x2, y2, 'x'); + xlabel('Real Part'); + ylabel('Imaginary Part'); + axis('equal'); + line([0 0], ylim(), 'LineStyle', ':'); + line(xlim(), [0 0], 'LineStyle', ':'); +end + diff --git a/lessons/lesson06/ztlesson.pdf b/lessons/lesson06/ztlesson.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b77626ed2a6f2afa528536a66e64849eeb5c84d8 GIT binary patch literal 130848 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
K=lb!qO#>fu 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 q->3%Etj literal 0 HcmV?d00001 diff --git a/lessons/lesson06/ztransform.m b/lessons/lesson06/ztransform.m new file mode 100644 index 0000000..7c2a105 --- /dev/null +++ b/lessons/lesson06/ztransform.m @@ -0,0 +1,237 @@ +%% Lesson 6b: The Z-transform +% * Have a overview idea of the z transform +% * Know how to plot pole zero plots of the z transform, and what to infer +% * Know how to input a signal to the transfer function of z transform +clc; clear; close all; + +%% Review +% Plot all discrete-time signals with `stem()`! Don't use `plot()`. +x = [2 4 7 2 0 8 5]; +stem(x); +title("Discrete Time signal"); + +%% Overview of the z transform +% The z transform converts a discrete time signal into a complex frequency +% domain representation (a series of complex exponentials). +% There are two key motivations of the z transform: +% +% * By identifying the impulse response of the system we can determine how +% it would perform in different frequencies +% * By identifying the presence of increasing or decreasing oscillations in +% the impulse response of a system we can determine whether the system +% could be stable or not + +%% Z transform +% One of the things we usually evaluate in the z transform is the pole zero +% plot, since it can tell us about stability and causality in +% different regions of convergence. Let us just look at one simple example +% of a pole zero plot. + +%% Z transform - generate a pole zero plot +% There are multiple ways to generate the pole zero plot. If you are +% interested, you should look up tf2zp (and its inverse, zp2tf), pzplot, +% etc. We are going to introduce the most simple function -- zplane. In the +% example, b1 and a1 and coefficients of the numerator and denominator, +% i.e, the transfer function. The transfer function is the +% the ratio between output (denominator) and input (numerator). + +b1 = [1]; % numerator +a1 = [1 -0.5]; % denominator +figure; +zplane(b1, a1); + +%% BE CAREFUL! +% If the input vectors are COLUMN vectors, they would be interpreted as +% poles and zeros, and if they are ROW vectors, they would be interpreted +% as coefficients of the transfer function. + +%% BE CAREFUL! +% zplane takes negative power coefficients, while tf2zp (the one used +% in the homework) uses positive power coefficients. + +% In particular, note that polynomials with negative power efficients are +% LEFT-ALIGNED, while polynomials with positive power coefficients are +% RIGHT-ALIGNED. E.g., for positive coefficients b1 and [0 b1] are the +% same polynomial, but not so if negative coefficients. See the following +% example. + +% $1/(1-0.5z^-1) = z/(z-0.5)$ +figure; +zplane(b1, a1); + +% $(0+z^-1)/(1-z^-1) = 1/(z-0.5)$ +figure; +zplane([0 b1], a1); + +%% tf2zp and zp2tf +b = [2 3 0]; +a = [1 1/sqrt(2) 1/4]; + +[z, p, k] = tf2zp(b, a); +% alternatively, tf2zpk + +figure; +zplane(z, p); +[b, a] = zp2tf(z, p, k); + +%% Z transform - More examples! + +b2 = [1]; +a2 = [1 -1.5]; +b3 = [1 -1 0.25]; +a3 = [1 -23/10 1.2]; + +% Example 1 : One pole, outer region is stable and causal +figure; +subplot(3, 1, 1); +zplane(b1, a1); +title('$$H_1(z)=\frac{z}{z-\frac{1}{2}}$$', 'interpreter', 'latex'); + +% Example 2 : One pole, outer region is causal but not stable, inner region +% is stable but not causal +subplot(3, 1, 2); +zplane(b2, a2); +title('$$H_2(z)=\frac{z}{z-\frac{3}{2}}$$', 'interpreter', 'latex'); + +% Example 3 : Two poles, outer region is causal, middle region is stable +subplot(3, 1, 3); +zplane(b3, a3); +title('$$H_3(z)=\frac{(z-\frac{1}{2})^2}{(z-\frac{4}{5})(z-\frac{3}{2})}$$', ... + 'interpreter', 'latex'); + +%% On Stability and Causality +% * The system is stable iff the region contains the unit circle. +% * The system is causal iff the region contains infinity. +% * If there is an infinity to the pole, then it's not stable. +% * If all the poles are in the unit circle, then the system could be both +% stable and causal. + +%% Z transform - Impulse Response +% The impulse response is useful because its Fourier transform +% (the frequency response) allows us to observe how an input sinusoid +% at different frequencies will be transformed. +% +% The impulse response is obtained by applying the filter to a delta. +% There is a custom function to do this (`impz`), but you can also obtain +% it other ways. +% +% The impulse response for the running example is the following (can you +% derive this by hand?) +% $h[n] = (1/2)^n$ +[h1, t] = impz(b1, a1, 8); % h is the IMPULSE RESPONSE +figure; +impz(b1, a1, 32); % for visualization don't get the return value + +%% Z transform - Convolution +% You can apply a system on a signal in two ways: +% * Convolve with the impulse response (which we obtained just now). +% * Use the `filter` functions (which uses tf coefficients). +n = 0:1:5; +x1 = (1/2).^n; +y1 = conv(x1, h1); + +figure; +subplot(2, 1, 1); +stem(y1); +title('Convolution between x_1 and h_1'); +subplot(2, 1, 2); +y2 = filter(b1, a1, x1); +stem(y2); +title('Filter with b_1,a_1 and x_1'); +xlim([0 14]); +% The above are the same! Except note that convolution creates a longer +% "tail." + +%% freqz: digital frequency response +% The frequency response is the z-transform of the impulse response. It +% tells us how the system will act on each frequency of the input signal +% (scaling and phase-shifting). +% +% This is a somewhat complicated setup -- you may want to save it to a +% function if you have to do this repeatedly. +[H, w] = freqz(b1, a1); + +Hdb = 20*log10(abs(H)); +Hph = rad2deg(unwrap(angle(H))); + +% Note the above, especially the `unwrap` function! Make sure to understand +% what each of the functions above is for. + +figure; +subplot(2, 1, 1); +plot(w, Hdb); +xlabel("Frequency (rad)"); +ylabel("|H| (dB)"); +xlim([0 pi]); +xticks([0 pi/2 pi]); +xticklabels({'0', '\pi/2', '\pi'}); +title("Magnitude Response"); + +subplot(2, 1, 2); +plot(w, Hph); +xlabel("Frequency (rad)"); +ylabel("Phase (deg)"); +xlim([0 pi]); +xticks([0 pi/2 pi]); +xticklabels({'0', '\pi/2', '\pi'}); +title("Phase Response"); + +%% Another example of freqz +% By default, `freqz` knows nothing about the sampling rate, so the +% frequency scale is digital. We can make it in analog frequency by +% specifying the sampling rate of the digital signal. + +n = 1024; % number of samples in frequency response +fs = 20000; % sampling frequency of input signal +[H, f] = freqz(b1, a1, n, fs); + +Hdb = 20*log10(abs(H)); +Hph = rad2deg(unwrap(angle(H))); + +figure; +subplot(2, 1, 1); +plot(f, Hdb); +xlabel("Frequency (Hz)"); +ylabel("|H| (dB)") +xlim([0 fs/2]); +title("Magnitude Response"); + +subplot(2, 1, 2); +plot(f, Hph); +xlabel("Frequency (Hz)"); +ylabel("Phase (deg)"); +xlim([0 fs/2]); +title("Phase Response"); + +%% Yet another example of freqz +zer = -0.5; +pol = 0.9*exp(j*2*pi*[-0.3 0.3]'); + +figure; +zplane(zer, pol); + +[b4,a4] = zp2tf(zer, pol, 1); + +[H,w] = freqz(b4, a4); + +Hdb = 20*log10(abs(H)); +Hph = rad2deg(unwrap(angle(H))); + +figure; +subplot(2, 1, 1); +plot(w, Hdb); +xlabel("Frequency (rad)"); +ylabel("|H| (dB)"); +xlim([0 pi]); +xticks([0 pi/2 pi]); +xticklabels({'0', '\pi/2', '\pi'}); +title("Magnitude Response"); + +subplot(2, 1, 2); +plot(w, Hph); +xlabel("Frequency (rad)"); +ylabel("Phase (deg)"); +xlim([0 pi]); +xticks([0 pi/2 pi]); +xticklabels({'0', '\pi/2', '\pi'}); +title("Phase Response"); diff --git a/lessons/lesson06/ztransform.pdf b/lessons/lesson06/ztransform.pdf new file mode 100644 index 0000000000000000000000000000000000000000..665373512d8ba75865d44dfc4b3888c887252cbd GIT binary patch literal 136788 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 literal 0 HcmV?d00001 diff --git a/lessons/lesson07/bandstop2500.m b/lessons/lesson07/bandstop2500.m new file mode 100644 index 0000000..f14457a --- /dev/null +++ b/lessons/lesson07/bandstop2500.m @@ -0,0 +1,35 @@ +function Hd = bandstop2500 +%BANDSTOP2500 Returns a discrete-time filter object. + +% MATLAB Code +% Generated by MATLAB(R) 9.9 and Signal Processing Toolbox 8.5. +% Generated on: 24-Mar-2021 17:32:55 + +% Elliptic Bandstop filter designed using FDESIGN.BANDSTOP. + +% All frequency values are in Hz. +Fs = 8192; % Sampling Frequency + +Fpass1 = 2000; % First Passband Frequency +Fstop1 = 2300; % First Stopband Frequency +Fstop2 = 2700; % Second Stopband Frequency +Fpass2 = 3000; % Second Passband Frequency +Apass1 = 0.5; % First Passband Ripple (dB) +Astop = 60; % Stopband Attenuation (dB) +Apass2 = 1; % Second Passband Ripple (dB) +match = 'both'; % Band to match exactly + +% Construct an FDESIGN object and call its ELLIP method. +h = fdesign.bandstop(Fpass1, Fstop1, Fstop2, Fpass2, Apass1, Astop, ... + Apass2, Fs); +Hd = design(h, 'ellip', 'MatchExactly', match); + +% Get the transfer function values. +[b, a] = tf(Hd); + +% Convert to a singleton filter. +Hd = dfilt.df2(b, a); + + + +% [EOF] diff --git a/lessons/lesson07/filter_design.m b/lessons/lesson07/filter_design.m new file mode 100644 index 0000000..4bad32f --- /dev/null +++ b/lessons/lesson07/filter_design.m @@ -0,0 +1,131 @@ +%% Lesson 7a. Designing filters the modern way +% * Learn how to use `filterDesigner` +% * Learn how to use `fdesign` +close all; clear; clc; + +%% Filter Overview +% Remember order = # of delay elements, want to minimize to meet +% some spec. +% +% There are 4 main types of filters: +% * Lowpass - passes low frequencies through +% * Highpass - passes high frequencies through +% * Bandpass - passes a specific band +% * Bandstop - stops a specific band from going through +% +% There are four primary implementations of filters that optimize +% different properties: +% * Butterworth - maxflat passband, monotonic passband & stopband +% * Chebychev I - equiripple passband, monotonic stopband +% * Chebychev II - monotonic passband, equiripple stopband +% * Elliptic - minimum order, equiripple passband & stopband +% +% In this lesson, you will be able to very clearly see these +% properties and filter types! + +%% Filter design (GUI) +% Note: Ask Prof. Keene about `filterDesigner`, it'll make him +% very happy. +filterDesigner; % then export to workspace as numerator and + % denominator (not SOS for now) + +%% Applying a GUI-designed filter +% Note that if a filter is generated using a `filterDesigner` function, +% it will be a filter object. You can apply a filter object using the +% `filter()` function. If your filter is given as an impulse response, you +% can either use the `filter()` function or convolve the impulse response +% and the input signal. + +% Load handel again +load handel; + +% Get a generated filter (this should decimate a narrow frequency band +% centered at 2.5kHz, assuming a 8192Hz sampling frequency). +flt = bandstop2500; + +% Perform the filter +y1 = filter(flt, y); + +%% Filter design via `fdesign` +% Filter specifications +Fsample = 44100; +Apass = 1; +Astop = 80; +Fpass = 1e3; +Fstop = 1e4; + +% Use the appropriate `fdesign.*` object to create the filter; in this case, +% we're designing a lowpass filter. +specs = fdesign.lowpass(Fpass, Fstop, Apass, Astop, Fsample); + +% Note: the arguments to `fdesign.*` can be altered by passing in a SPEC option +% -- the following call to `fdesign.lowpass` will produce the same filter. If +% you want to do more complex stuff (like setting the 3 dB point directly or +% setting the filter order), you can change this argument. See `doc +% fdesign.lowpass` for more info. +equivalent_specs = fdesign.lowpass('Fp,Fst,Ap,Ast', ... + Fpass, Fstop, Apass, Astop, Fsample); + +% For a given filter type, there are a myriad of different ways to design it +% depending on what properties you want out of the filter (equiripple +% passband/stopband, monotonic passband/stopband, minimum-order, max-flat, +% etc.), which our lowpass filter object supports. +% +% Note: `'SystemObject'` should be set to `true` by Mathworks' recommendation +% for these calls, even though they will often work without it. +designmethods(specs, 'SystemObject', true); + +% There are also various options we can set when designing the filter. In this +% example, we'll tell it to match the passband amplitude exactly. +designoptions(specs, 'butter', SystemObject=true); + +% Finally, let's make this thing! +butter_filter = design(specs, 'butter', ... + MatchExactly='passband', SystemObject=true); + +%% Examining a filter +% Filters can be visualized with `fvtool`, drawing a nice box around the +% transition zone and lines at the edge frequencies & important amplitudes: +h = fvtool(butter_filter); % note no call to `figure`! + +% `measure` is another way to check: +measurements = measure(butter_filter); + +% `h` is a handle to the graphics object we've created with `fvtool`, and we +% can change its properties (listed with `get(h)`) if we wish: +h.FrequencyScale = 'Log'; +ax = h.Children(15); % the axes object, found by looking at `h.Children` +ax.YLim = [-60 10]; % in dB + +%% Using a filter +% Filter objects have a lot of methods to them (things like `freqz`, `impz`, +% `islinphase`, `isallpass`, etc -- check `methods(butter_filter)` if you want +% the list) that are rather useful. One method they *don't* have is `filter`, +% so if you want to apply a filter to a signal, you do it like this: +load handel; % of course; loads `y` and `Fs` into the workspace +y1 = butter_filter(y); % use like a function! +sound(y, Fs); +sound(y1, Fs); + +%% Plotting the result +% Obtain the FFT of the original and the filtered signal. +shifted_fft_mag = @(sig, len) fftshift(abs(fft(sig, len))) / len; +N = 2^15; +S1 = shifted_fft_mag(y, N); +S2 = shifted_fft_mag(y1, N); +F = linspace(-Fsample/2, Fsample/2, N); % not quite accurate but close + +% Plot the FFTs. +figure; + +subplot(2, 1, 1); +plot(F, S1); +title 'Fourier Transform of Original Audio'; +xlabel 'Frequency (Hz)'; +ylabel 'Magnitude'; + +subplot(2, 1, 2); +plot(F, S2); +title 'Fourier Transform of Filtered Audio'; +xlabel 'Frequency (Hz)'; +ylabel 'Magnitude'; diff --git a/lessons/lesson07/old_filter_design.m b/lessons/lesson07/old_filter_design.m new file mode 100644 index 0000000..207f63a --- /dev/null +++ b/lessons/lesson07/old_filter_design.m @@ -0,0 +1,103 @@ +%% Lesson 7c. Designing filters the old fashioned way +% (notes kept for historical reasons; the new notes are in `filter_design.m`. +% +% * Learn how to use the `filterDesigner` GUI. +% * Learn how to manually design a filter. +clc; clear; close all; + +%% Filter Overview +% Remember order = # of delay elements, want to minimize to meet +% some spec. +% +% There are 4 main types of filters: +% * Lowpass - passes low frequencies through +% * Highpass - passes high frequencies through +% * Bandpass - passes a specific band +% * Bandstop - stops a specific band from going through +% +% There are four primary implementations of filters that optimize +% different properties: +% * Butterworth - maxflat passband, monotonic passband & stopband +% * Chebychev I - equiripple passband, monotonic stopband +% * Chebychev II - monotonic passband, equiripple stopband +% * Elliptic - minimum order, equiripple passband & stopband +% +% In this lesson, you will be able to very clearly see these +% properties and filter types! + +%% Filter Design (GUI) +% Note: Ask Prof. Keene about `filterDesigner`, it'll make him +% very happy. +filterDesigner; % then export to workspace as numerator and + % denominator (not SOS for now) + +%% Filter Design (Code) +% Manually specify specifications +Fs = 44100; +Apass = 1; +Astop = 80; +Fpass = 1e3; +Fstop = 1e4; +wpass = Fpass / (Fs/2); % normalized to nyquist freq. +wstop = Fstop / (Fs/2); % normalized to nyquist freq. + +% Compute the minimum order for Butterworth filter +% that meets the specifications. +% Alternatively, see `butter1ord`, `cheby1ord`, +% `cheby2ord`, `ellipord`. +n = buttord(wpass, wstop, Apass, Astop); + +% Generate Butterworth filter with order `n` (which is +% designed to meet the specification). +% Alternatively, see `cheby1`, `cheby2`, `ellip`. +[b, a] = butter(n, wpass); +[H, W] = freqz(b, a); + +% Plot the frequency response. (At this point, recall that +% the frequency response is the FFT of the impulse response. +% Can you generate the frequency response without using +% the `freqz` function (instead using the `impz` and `fft` +% functions)? +f = W .* Fs/(2*pi); +figure; +semilogx(f, 20*log10(abs(H))); +xlim([1e2 1e5]); +ylim([-100 5]); +grid on; +title 'Butterworth Lowpass Filter'; +xlabel 'Frequency (Hz)'; +ylabel 'Magnitude (dB)'; + +%% Applying a filter +% Note that if a filter is generated using a `filterDesigner` function, +% it will be a filter object. You can apply a filter object using the +% `filter()` function. If your filter is given as an impulse response, you +% can either use the `filter()` function or convolve the impulse response +% and the input signal. + +% Load handel again +load handel; + +% Get a generated filter (this should decimate a narrow frequency band +% centered at 2.5kHz, assuming a 8192Hz sampling frequency). +flt = bandstop2500; + +% Perform the filter +y1 = filter(flt, y); + +%% How does it sound now? +sound(y1, Fs); + +%% Plotting the result +% Obtain the FFT of the filtered signal. +N = 2^15; +S = fft(y1, N); +S = fftshift(abs(S)) / N; +F = linspace(-Fs/2, Fs/2, N); + +% Plot the FFT. +figure; +plot(F, S); +title 'Fourier Transform of Audio'; +xlabel 'Frequency (Hz)'; +ylabel 'Magnitude'; diff --git a/lessons/lesson07/transfer.m b/lessons/lesson07/transfer.m new file mode 100644 index 0000000..e75ac6a --- /dev/null +++ b/lessons/lesson07/transfer.m @@ -0,0 +1,93 @@ +%% Lesson 7c. Transfer function objects +close all; clear; clc; + +%% Transfer function overview +% Transfer functions are abstract representations of LTI systems in terms of +% rational functions (numerator and denominator). We used to work with transfer +% functions in terms of MATLAB-style polynomials, but Mathworks has come up +% with a new, supposedly improved way: transfer function objects! These are +% created via `tf` in a variety of ways. For more info, see Mathworks' +% documentation -- these models are most helpful when working with cascades of +% systems, such as for controls modeling. + +%% Digital transfer function objects +% To create a digital tf. object, specify a numerator, denominator, and +% sampling time (which may be set to -1 if you want to leave it undefined). The +% numerator and denominator are specified in decreasing power order, with s^0 +% or z^0 on the right. +dig_num = [1]; % 1z⁰ = 1 +dig_den = [2 -1]; % 2z¹ - 1z⁰ = 2z - 1 +timestep = 0.1; % 0.1 s +dig_sys = tf(dig_num, dig_den, timestep); + +%% Analog transfer function objects +% Analog transfer functions are created the same way as digital ones, just +% without the timestep. +an_num = [1 -1]; % 1s¹ - 1s⁰ = 1s - 1 +an_den = [1 2 1]; % s² + 2s + 1 +an_sys = tf(an_num, an_den); + +%% Alternate ways of specifying +% MATLAB provides a syntax for creating transfer functions out of coded +% rational expressions, as this can be clearer: +s = tf('s'); % create an s variable that may then be used mathematically +an_sys_2 = (s - 1)/(s + 1)^2; % same as above + +%% Investigating the transfer function +% One property of interest is the step response, which we can view thus: +figure; +stepplot(an_sys); + +% MATLAB has a built-in function to get a Bode plot, too (though you should +% modify this in post if you want to highlight specific details in the plot). +figure; +bodeplot(an_sys); + +%% One application +% This example is stolen from Mathworks' doc page "Control System Modeling with +% Model Objects," as it's an interesting perspective on what you can do with +% these. In it, we model the following system: +% +% x ---> F(s) ---> +( ) ---> C(s) ---> G(s) ---+---> y +% - | +% ^ | +% \---------- S(s) ---------/ + +% specify the components of a system +G = zpk([], [-1, -1], 1); % no zeroes, double pole at -1, analog +C = pid(2, 1.3, 0.3, 0.5); % PID controller object +S = tf(5, [1 4]); +F = tf(1, [1 1]); + +% find the open-loop transfer function (by breaking the loop at the subtract) +open_loop = F*S*G*C; % multiplication in the "frequency" domain + +% check out where the poles & zeroes are +figure; +pzplot(open_loop); +title('Open loop pole/zero plot'); +xlim([-6 1]); +ylim([-2 2]); + +% see what this thing does with a step input +figure; +stepplot(open_loop); +title('Open-loop system step response'); +% note that this is *not* stable with a step input, as the PID controller loses +% its shit! + +% find the closed-loop, whole_system response using `feedback` to specify a +% feedback connection +full_system = F*feedback(G*C, S); + +% see what this thing looks like now in the s-plane +figure; +pzplot(full_system); +title('Full system pole/zero plot'); +xlim([-6 1]); +ylim([-2 2]); + +% now stable with a step input, as we have feedback +figure; +stepplot(full_system); +title('Full system step response'); diff --git a/lessons/lesson08/octave-log.txt b/lessons/lesson08/octave-log.txt new file mode 100644 index 0000000..78f0076 --- /dev/null +++ b/lessons/lesson08/octave-log.txt @@ -0,0 +1,810 @@ +octave:5> pkg load symbolic +octave:6> syms x z +Symbolic pkg v3.0.1: Python communication link active, SymPy v1.11.1. +octave:7> syms +Symbolic variables in current scope: + x + z +octave:8> x +x = (sym) x +octave:9> syms x_0 +octave:10> xu-0 +error: 'xu' undefined near line 1, column 1 +octave:11> x_0 +x_0 = (sym) x₀ +octave:12> v = x + 2 +v = (sym) x + 2 +octave:13> w = x * z +w = (sym) x⋅z +octave:14> help subs +error: help: 'subs' not found +octave:15> help @sym/subs +'@sym/subs' is a function from the file /usr/share/octave/packages/symbolic-3.0.1/@sym +/subs.m + + -- Method on @sym: subs (F, X, Y) + -- Method on @sym: subs (F, Y) + -- Method on @sym: subs (F) + Replace symbols in an expression with other expressions. + + Example substituting a value for a variable: + syms x y + f = x*y; + subs(f, x, 2) + ⇒ ans = (sym) 2⋅y + If X is omitted, ‘symvar’ is called on F to determine an + appropriate variable. + + X and Y can also be vectors or lists of syms to replace: + subs(f, {x y}, {sin(x) 16}) + ⇒ ans = (sym) 16⋅sin(x) + + F = [x x*y; 2*x*y y]; + subs(F, {x y}, [2 sym(pi)]) + ⇒ ans = (sym 2×2 matrix) + + ⎡ 2 2⋅π⎤ + ⎢ ⎥ + ⎣4⋅π π ⎦ + + With only one argument, ‘subs(F)’ will attempt to find values for + each symbol in F by searching the workspace: + f = x*y + ⇒ f = (sym) x⋅y + + x = 42; + f + ⇒ f = (sym) x⋅y + Here assigning a numerical value to the variable ‘x’ did not change + the expression (because symbols are not the same as variables!) + However, we can automatically update ‘f’ by calling: + subs(f) + ⇒ ans = (sym) 42⋅y + + *Warning*: ‘subs’ cannot be easily used to substitute a ‘double’ + matrix; it will cast Y to a ‘sym’. Instead, create a “function + handle” from the symbolic expression, which can be efficiently + evaluated numerically. For example: + syms x + f = exp(sin(x)) + ⇒ f = (sym) + + sin(x) + ℯ + + fh = function_handle(f) + ⇒ fh = + + @(x) exp (sin (x)) + + fh(linspace(0, 2*pi, 700)') + ⇒ ans = + 1.0000 + 1.0090 + 1.0181 + 1.0273 + 1.0366 + ... + + *Note*: Mixing scalars and matrices may lead to trouble. We + support the case of substituting one or more symbolic matrices in + for symbolic scalars, within a scalar expression: + f = sin(x); + g = subs(f, x, [1 sym('a'); pi sym('b')]) + ⇒ g = (sym 2×2 matrix) + + ⎡sin(1) sin(a)⎤ + ⎢ ⎥ + ⎣ 0 sin(b)⎦ + + When using multiple variables and matrix substitions, it may be + helpful to use cell arrays: + subs(y*sin(x), {x, y}, {3, [2 sym('a')]}) + ⇒ ans = (sym) [2⋅sin(3) a⋅sin(3)] (1×2 matrix) + + subs(y*sin(x), {x, y}, {[2 3], [2 sym('a')]}) + ⇒ ans = (sym) [2⋅sin(2) a⋅sin(3)] (1×2 matrix) + + *Caution*, multiple interdependent substitutions can be ambiguous + and results may depend on the order in which you specify them. A + cautionary example: + syms y(x) A B + u = y + diff(y, x) + ⇒ u(x) = (symfun) + d + y(x) + ──(y(x)) + dx + + subs(u, {y, diff(y, x)}, {A, B}) + ⇒ ans = (sym) A + + subs(u, {diff(y, x), y}, {B, A}) + ⇒ ans = (sym) A + B + + Here it would be clearer to explicitly avoid the ambiguity by + calling ‘subs’ twice: + subs(subs(u, diff(y, x), B), y, A) + ⇒ ans = (sym) A + B + + See also: @sym/symfun. + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:16> syms r +octave:17> w +w = (sym) x⋅z +octave:18> subs(w, z, r) +ans = (sym) r⋅x +octave:19> solve(x + 3 == 5, x) +ans = (sym) 2 +octave:20> +octave:20> syms a b c +octave:21> solve(a*x^2 + b*x + c, x) +ans = (sym 2×1 matrix) + + ⎡ _____________⎤ + ⎢ ╱ 2 ⎥ + ⎢ b ╲╱ -4⋅a⋅c + b ⎥ + ⎢- ─── - ────────────────⎥ + ⎢ 2⋅a 2⋅a ⎥ + ⎢ ⎥ + ⎢ _____________⎥ + ⎢ ╱ 2 ⎥ + ⎢ b ╲╱ -4⋅a⋅c + b ⎥ + ⎢- ─── + ────────────────⎥ + ⎣ 2⋅a 2⋅a ⎦ + +octave:22> help @sym/solve +'@sym/solve' is a function from the file /usr/share/octave/packages/symbolic-3.0.1/@sy +m/solve.m + + -- Method on @sym: SOL = solve (EQN) + -- Method on @sym: SOL = solve (EQN, VAR) + -- Method on @sym: SOL = solve (EQN1, ..., EQNN) + -- Method on @sym: SOL = solve (EQN1, ..., EQNN, VAR1, ..., VARM) + -- Method on @sym: SOL = solve (EQNS, VARS) + -- Method on @sym: [S1, ..., SN] = solve (EQNS, VARS) + Symbolic solutions of equations, inequalities and systems. + + Examples + syms x + solve(x == 2*x + 6, x) + ⇒ ans = (sym) -6 + solve(x^2 + 6 == 5*x, x); + sort(ans) + ⇒ ans = (sym 2×1 matrix) + ⎡2⎤ + ⎢ ⎥ + ⎣3⎦ + + Sometimes its helpful to assume an unknown is real: + syms x real + solve(abs(x) == 1, x); + sort(ans) + ⇒ ans = (sym 2×1 matrix) + ⎡-1⎤ + ⎢ ⎥ + ⎣1 ⎦ + + In general, the output will be a list of dictionaries. Each entry + of the list is one a solution, and the variables that make up that + solutions are keys of the dictionary (fieldnames of the struct). + syms x y + d = solve(x^2 == 4, x + y == 1); + + % the first solution + d{1}.x + ⇒ (sym) -2 + d{1}.y + ⇒ (sym) 3 + + % the second solution + d{2}.x + ⇒ (sym) 2 + d{2}.y + ⇒ (sym) -1 + + But there are various special cases for the output (single versus + multiple variables, single versus multiple solutions, etc). FIXME: + provide a ’raw_output’ argument or something to always give the + general output. + + Alternatively: + [X, Y] = solve(x^2 == 4, x + y == 1, x, y) + ⇒ X = (sym 2×1 matrix) + ⎡-2⎤ + ⎢ ⎥ + ⎣2 ⎦ + ⇒ Y = (sym 2×1 matrix) + ⎡3 ⎤ + ⎢ ⎥ + ⎣-1⎦ + + You can solve inequalities and systems involving mixed inequalities + and equations. For example: + solve(x^2 == 4, x > 0) + ⇒ ans = (sym) x = 2 + + syms x + solve(x^2 - 1 > 0, x < 10) + ⇒ ans = (sym) (-∞ < x ∧ x < -1) ∨ (1 < x ∧ x < 10) + + See also: @sym/eq, @sym/dsolve. + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:23> eqs = [x + z == 14; x - z == 6] +:7: SymPyDeprecationWarning: + +non-Expr objects in a Matrix is deprecated. Matrix represents +a mathematical matrix. To represent a container of non-numeric +entities, Use a list of lists, TableForm, NumPy array, or some +other data structure instead. + +See https://docs.sympy.org/latest/explanation/active-deprecations.html#deprecated-non- +expr-in-matrix +for details. + +This has been deprecated since SymPy version 1.9. It +will be removed in a future version of SymPy. + +eqs = (sym 2×1 matrix) + + ⎡x + z = 14⎤ + ⎢ ⎥ + ⎣x - z = 6 ⎦ + +octave:24> soln = solve(eqs, [x z]) +soln = + + scalar structure containing the fields: + + x = + + + + z = + + + + +octave:25> soln.x +ans = (sym) 10 +octave:26> soln.z +ans = (sym) 4 +octave:27> help subs +error: help: 'subs' not found +octave:28> help @sym/subs +'@sym/subs' is a function from the file /usr/share/octave/packages/symbolic-3.0.1/@sym +/subs.m + + -- Method on @sym: subs (F, X, Y) + -- Method on @sym: subs (F, Y) + -- Method on @sym: subs (F) + Replace symbols in an expression with other expressions. + + Example substituting a value for a variable: + syms x y + f = x*y; + subs(f, x, 2) + ⇒ ans = (sym) 2⋅y + If X is omitted, ‘symvar’ is called on F to determine an + appropriate variable. + + X and Y can also be vectors or lists of syms to replace: + subs(f, {x y}, {sin(x) 16}) + ⇒ ans = (sym) 16⋅sin(x) + + F = [x x*y; 2*x*y y]; + subs(F, {x y}, [2 sym(pi)]) + ⇒ ans = (sym 2×2 matrix) + + ⎡ 2 2⋅π⎤ + ⎢ ⎥ + ⎣4⋅π π ⎦ + + With only one argument, ‘subs(F)’ will attempt to find values for + each symbol in F by searching the workspace: + f = x*y + ⇒ f = (sym) x⋅y + + x = 42; + f + ⇒ f = (sym) x⋅y + Here assigning a numerical value to the variable ‘x’ did not change + the expression (because symbols are not the same as variables!) + However, we can automatically update ‘f’ by calling: + subs(f) + ⇒ ans = (sym) 42⋅y + + *Warning*: ‘subs’ cannot be easily used to substitute a ‘double’ + matrix; it will cast Y to a ‘sym’. Instead, create a “function + handle” from the symbolic expression, which can be efficiently + evaluated numerically. For example: + syms x + f = exp(sin(x)) + ⇒ f = (sym) + + sin(x) + ℯ + + fh = function_handle(f) + ⇒ fh = + + @(x) exp (sin (x)) + + fh(linspace(0, 2*pi, 700)') + ⇒ ans = + 1.0000 + 1.0090 + 1.0181 + 1.0273 + 1.0366 + ... + + *Note*: Mixing scalars and matrices may lead to trouble. We + support the case of substituting one or more symbolic matrices in + for symbolic scalars, within a scalar expression: + f = sin(x); + g = subs(f, x, [1 sym('a'); pi sym('b')]) + ⇒ g = (sym 2×2 matrix) + + ⎡sin(1) sin(a)⎤ + ⎢ ⎥ + ⎣ 0 sin(b)⎦ + + When using multiple variables and matrix substitions, it may be + helpful to use cell arrays: + subs(y*sin(x), {x, y}, {3, [2 sym('a')]}) + ⇒ ans = (sym) [2⋅sin(3) a⋅sin(3)] (1×2 matrix) + + subs(y*sin(x), {x, y}, {[2 3], [2 sym('a')]}) + ⇒ ans = (sym) [2⋅sin(2) a⋅sin(3)] (1×2 matrix) + + *Caution*, multiple interdependent substitutions can be ambiguous + and results may depend on the order in which you specify them. A + cautionary example: + syms y(x) A B + u = y + diff(y, x) + ⇒ u(x) = (symfun) + d + y(x) + ──(y(x)) + dx + + subs(u, {y, diff(y, x)}, {A, B}) + ⇒ ans = (sym) A + + subs(u, {diff(y, x), y}, {B, A}) + ⇒ ans = (sym) A + B + + Here it would be clearer to explicitly avoid the ambiguity by + calling ‘subs’ twice: + subs(subs(u, diff(y, x), B), y, A) + ⇒ ans = (sym) A + B + + See also: @sym/symfun. + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:29> eqn(1) +error: 'eqn' undefined near line 1, column 1 +octave:30> eqs(1) +ans = (sym) x + z = 14 +octave:31> subs(eqs(1), {x, z}, {soln.x, soln.z}) +ans = (sym) True +octave:32> syms n +octave:33> solve(n^2 == 4, n) +ans = (sym 2×1 matrix) + + ⎡-2⎤ + ⎢ ⎥ + ⎣2 ⎦ + +octave:34> assume n positive +octave:35> assumptions +ans = +{ + [1,1] = n: positive +} + +octave:36> solve(n^2 == 4, n) +ans = (sym) 2 +octave:37> assume n +error: assume: general algebraic assumptions are not supported +error: called from + assert at line 109 column 11 + assume at line 65 column 3 +octave:38> syms n +octave:39> assumptions +ans = {}(0x0) +octave:40> help @sym/assume +'@sym/assume' is a function from the file /usr/share/octave/packages/symbolic-3.0.1/@s +ym/assume.m + + -- Method on @sym: X = assume (X, COND, COND2, ...) + -- Method on @sym: X = assume (X, 'clear') + -- Method on @sym: [X, Y] = assume ([X Y], ...) + -- Method on @sym: assume (X, COND, COND2, ...) + -- Method on @sym: assume (X, 'clear') + -- Method on @sym: assume ([X Y], ...) + New assumptions on a symbolic variable (replace old if any). + + This function has two different behaviours depending on whether it + has an output argument or not. The first form is simpler; it + returns a new sym with assumptions given by COND, for example: + syms x + x1 = x; + x = assume(x, 'positive'); + assumptions(x) + ⇒ ans = + { + [1,1] = x: positive + } + assumptions(x1) % empty, x1 still has the original x + ⇒ ans = {}(0x0) + + Another example to help clarify: + x1 = sym('x', 'positive') + ⇒ x1 = (sym) x + x2 = assume(x1, 'negative') + ⇒ x2 = (sym) x + assumptions(x1) + ⇒ ans = + { + [1,1] = x: positive + } + assumptions(x2) + ⇒ ans = + { + [1,1] = x: negative + } + + The second form—with no output argument—is different; it attempts + to find *all* instances of symbols with the same name as X and + replace them with the new version (with COND assumptions). For + example: + syms x + x1 = x; + f = sin(x); + assume(x, 'positive'); + assumptions(x) + ⇒ ans = + { + [1,1] = x: positive + } + assumptions(x1) + ⇒ ans = + { + [1,1] = x: positive + } + assumptions(f) + ⇒ ans = + { + [1,1] = x: positive + } + + To clear assumptions on a variable use ‘assume(x, 'clear')’, for + example: + syms x positive + f = sin (x); + assume (x, 'clear') + isempty (assumptions (f)) + ⇒ ans = 1 + + *Warning*: the second form operates on the caller’s workspace via + evalin/assignin. So if you call this from other functions, it will + operate in your function’s workspace (and not the ‘base’ + workspace). This behaviour is for compatibility with other + symbolic toolboxes. + + FIXME: idea of rewriting all sym vars is a bit of a hack, not well + tested (for example, with global vars.) + + See also: @sym/assumeAlso, assume, assumptions, sym, syms. + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:41> assume n positive +octave:42> assumptions +ans = +{ + [1,1] = n: positive +} + +octave:43> assume n clear +octave:44> assumptions +ans = {}(0x0) +octave:45> exp(log(x)) +ans = (sym) x +octave:46> e^(log(x)) +ans = (sym) x +octave:47> x + 3 +ans = (sym) x + 3 +octave:48> (x + 3)*(1/x + 3) +ans = (sym) + + ⎛ 1⎞ + ⎜3 + ─⎟⋅(x + 3) + ⎝ x⎠ + +octave:49> (x + 3)*(1/(x + 3)) +ans = (sym) 1 +octave:50> help @sym/simplify +'@sym/simplify' is a function from the file /usr/share/octave/packages/symbolic-3.0.1/ +@sym/simplify.m + + -- Method on @sym: simplify (X) + Simplify an expression. + + Example: + syms x + p = x^2 + x + 1 + ⇒ p = (sym) + 2 + x + x + 1 + q = horner (p) + ⇒ q = (sym) x⋅(x + 1) + 1 + + d = p - q + ⇒ d = (sym) + 2 + x - x⋅(x + 1) + x + + isAlways(p == q) + ⇒ 1 + + simplify(p - q) + ⇒ (sym) 0 + + Please note that ‘simplify’ is not a well-defined mathematical + operation: its precise behaviour can change between software + versions (and certainly between different software packages!) + + See also: @sym/isAlways, @sym/factor, @sym/expand, @sym/rewrite. + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:51> (x + 3)^2 + (x + 3) + (x + 3)^2 +ans = (sym) + + 2 + x + 2⋅(x + 3) + 3 + +octave:52> simplify((x + 3)^2 + (x + 3) + (x + 3)^2) +ans = (sym) + + 2 + x + 2⋅(x + 3) + 3 + +octave:53> expand((x + 3)^2 + (x + 3) + (x + 3)^2) +ans = (sym) + + 2 + 2⋅x + 13⋅x + 21 + +octave:54> collect((x + 3)^2 + (x + 3) + (x + 3)^2) +error: 'collect' undefined near line 1, column 1 +octave:55> combine +error: 'combine' undefined near line 1, column 1 +octave:56> factor +error: Invalid call to factor. Correct usage is: + + -- PF = factor (Q) + -- [PF, N] = factor (Q) + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:57> expand((x + 3)^2 + (x + 3) + (x + 3)^2) +ans = (sym) + + 2 + 2⋅x + 13⋅x + 21 + +octave:58> factor(ans) +ans = (sym) (x + 3)⋅(2⋅x + 7) +octave:59> partfrac +error: 'partfrac' undefined near line 1, column 1 +octave:60> help @sym/partfrac +'@sym/partfrac' is a function from the file /usr/share/octave/packages/symbolic-3.0.1/ +@sym/partfrac.m + + -- Method on @sym: partfrac (F) + -- Method on @sym: partfrac (F, X) + Compute partial fraction decomposition of a rational function. + + Examples: + syms x + f = 2/(x + 4)/(x + 1) + ⇒ f = (sym) + 2 + ─────────────── + (x + 1)⋅(x + 4) + + partfrac(f) + ⇒ ans = (sym) + 2 2 + - ───────── + ───────── + 3⋅(x + 4) 3⋅(x + 1) + + Other examples: + syms x y + partfrac(y/(x + y)/(x + 1), x) + ⇒ ans = (sym) + y y + - ─────────────── + ─────────────── + (x + y)⋅(y - 1) (x + 1)⋅(y - 1) + + partfrac(y/(x + y)/(x + 1), y) + ⇒ ans = (sym) + x 1 + - ─────────────── + ───── + (x + 1)⋅(x + y) x + 1 + + See also: @sym/factor. + +Additional help for built-in functions and operators is +available in the online version of the manual. Use the command +'doc ' to search the manual index. + +Help and information about Octave is also available on the WWW +at https://www.octave.org and via the help@octave.org +mailing list. +octave:61> +octave:61> +octave:61> +octave:61> +octave:61> +octave:61> partfrac((x^7+x^2)/(x^3 - 3*x + 2)) +ans = (sym) + + 4 2 124 25 2 + x + 3⋅x - 2⋅x + 9 - ───────── + ───────── + ────────── + 9⋅(x + 2) 9⋅(x - 1) 2 + 3⋅(x - 1) + +octave:62> (x^7+x^2)/(x^3 - 3*x + 2) +ans = (sym) + + 7 2 + x + x + ──────────── + 3 + x - 3⋅x + 2 + +octave:63> p = [1 2 3 4] +p = + + 1 2 3 4 + +octave:64> poly2sim(p, x) +error: 'poly2sim' undefined near line 1, column 1 +octave:65> syms f(y) +octave:66> syms +Symbolic variables in current scope: + a + ans + b + c + eqs + f (symfun) + n + r + v + w + x + x_0 + y + z +octave:67> f +f(y) = (symfun) f(y) +octave:68> f(y) = y^2 +f(y) = (symfun) + + 2 + y + +octave:69> f +f(y) = (symfun) + + 2 + y + +octave:70> finverse +error: 'finverse' undefined near line 1, column 1 + +The 'finverse' function belongs to the symbolic package from Octave +Forge but has not yet been implemented. + +Please read to learn how you can +contribute missing functionality. +octave:71> syms t +octave:72> int(1/t, 1, x) +ans = (sym) log(x) +octave:73> int(1/t, .5, x) +warning: passing floating-point values to sym is dangerous, see "help sym" +warning: called from + double_to_sym_heuristic at line 50 column 7 + sym at line 379 column 13 + int at line 138 column 7 + +ans = (sym) log(x) + log(2) +octave:74> x^2 +ans = (sym) + + 2 + x + +octave:75> x^2 + 5 +ans = (sym) + + 2 + x + 5 + +octave:76> diff(x^2 + 5) +ans = (sym) 2⋅x +octave:77> diff(x^2 + z^3 + 5) +ans = (sym) 2⋅x +octave:78> diff(x^2 + z^3 + 5, z) +ans = (sym) + + 2 + 3⋅z + +octave:79> syms y(t) a +octave:80> diff(y) == a*y +ans = (sym) + + d + ──(y(t)) = a⋅y(t) + dt + +octave:81> dsolve(diff(y) == a*y, t) +error: Python exception: AttributeError: 'Symbol' object has no attribute 'lhs' + occurred at line 7 of the Python code block: + ics = {ics.lhs: ics.rhs} +error: called from + pycall_sympy__ at line 179 column 7 + dsolve at line 198 column 8 +octave:82> dirac(x) +ans = (sym) δ(x) +octave:83> laplace(dirac(x)) +ans = (sym) 1 +octave:84> laplace(dirac(x - 1)) +ans = (sym) + + -s + ℯ + +octave:85> (1:5)(2) +ans = 2 +octave:86> diff --git a/lessons/lesson08/octave-workspace b/lessons/lesson08/octave-workspace new file mode 100644 index 0000000000000000000000000000000000000000..e70527ac7c252fe5df7838fb4e9b1023055a436b GIT binary patch literal 10988 zcmeI2-D=c86vyLdbw%-76msPzbr*J*(krzUR1ho*UM|Zro2C-XX4_=aCb<&9D`D?^ z06!lrPtYfDJ^$GxjV%RRCLtpRCfS)JXU@$0=FFLsePwaBZ+H9Mm)ZqQ(-vz?(?7C_O}B*LLlx?eWJ{K+j&MQ?NG< zxbJvx%P%kpwIl9l^`1p2beb{}89^dt#IXVqJ1*lQCrL|Gwd+{#Tw9XV8zkpVJe|y3 zqs`hTbPk;49Mb>n1dPE&N-LD;INZpuCj?+gEbTBUvwJe}YU@@2ZS@qf` z^qDO0Vxa3FYJ!RyPt>GRq9)1`H32bJy~J2b5MxzJjHN6w7Hp8cm)W2?tjv9?a2V+i z^hAH8_t!?PpTWig^|{9#WyDbVAEp9ikIMqu^F2M(22x z%BC_ij_5KBuI$aRrvx!xrNns3661lGT}ng@y67lWfg6|x$9CztdvI-&?$L2uY@dDc zyS9LguLN^`rOf%tGUp5HI&(8ab(7dxMr3pfy@eKsM+f?%`k+FU{a)j#TB=zIR=GFU z@2R->EjtF#B=tdq>ed?1jL=d#GA(L*j?9{h#E5ReDGR}49P5buawUM_(t#;E*j(AA zi-VYbN;NsyfCbT#LF1_@G?h*cf(Iu;Y`N`GH+Ue16*wJGstG4-1*6rZ@i1k2N=NA) zwI4y&JV1LQTC3o`UrfC8)5ioX)#x&d>Kady&{8@_<;9E`Qji+aFJhXFd&Eth_GjGu zeOA^n(z(G_x3E3qo|5DM_9*@E9t6dd%IKiO6!|KHX2b?J8*jmKMWw@dhkD?7=vmyE zc}AOp-o>&={<(@aE$=B@|D7)~|2K?ATk#EJ%`vIw`}bHo66pr5?3K}9FJJ}~{DznO E2Hti)Z~y=R literal 0 HcmV?d00001 diff --git a/lessons/lesson08/symbolic_toolbox.m b/lessons/lesson08/symbolic_toolbox.m new file mode 100644 index 0000000..8084666 --- /dev/null +++ b/lessons/lesson08/symbolic_toolbox.m @@ -0,0 +1,183 @@ +%% Symbolic Toolbox +% MATLAB is typically associated with computing *numerical* solutions +% (i.e., estimating solutions using floating point calculations), we +% may often want to compute *analytic* solutions (exact solutions, +% often represented by formulas). +% +% Wolfram Mathematica is a premier example of technical software with +% support for symbolic computation, but we can achieve many useful +% symbolic calculations in MATLAB using the *symbolic toolbox*. +% +% The symbolic toolbox is useful if you want to represent an abstract +% expression. You can think of a symbolic calculation as storing the +% structure of expressions to operate on rather than the values +% themselves. +clear; clc; close all; + +%% Create symbolic variables +syms x z; + +%% Creating expressions +v = x + 2; +w = x * z; + +%% Substituting expressions into a symbolic expression +subs(v, x, 3); + +% You can also substitute symbolic expressions, not only values. +syms r; +subs(w, z, r); + +%% Solve a symbolic equation for a variable +% You may want to look at the documentation page for the `solve` function. +% If the expression cannot be solved analytically, MATLAB will default +% to using a numerical solver. +solve(x + 3 == 5, x); + +syms a b c; +solve(a*x^2 + b*x + c, x); + +% Solving multiple variables simultaneously +eqs = [x + z == 14, x - z == 6]; +soln = solve(eqs, [x z]); +soln.x; +soln.z; + +%% Set "assumptions" (constraints) on a variable +% This is the shorthand syntax for setting assumptions on symbolic objects. +% See also the `assume` function. +syms n positive; +solve(n^2 == 4, n); + +%% Simplify an expression +% This attempts to simplify an expression using known +% mathematical identities. +simplify(exp(log(x))); + +% See also `simplifyFraction` for more efficient simplification +% of fractions only. + +%% Collect +% This collects coefficients of like terms together. +collect((x + 2) * (x + 3), x); + +%% Combine +% Tries to rewrite products of powers in the expression as a single power +combine(x^4 * x^3); + +% Has other options such as 'log' and 'sincos' +assume(x > 0); +combine(log(x) + log(2*x), 'log'); +combine(sin(x)*cos(x), 'sincos'); + +%% Expand +% Similar to `collect`, but expands all variables. More or less the +% inverse of `combine`. +expand((x + 5)^3); + +%% Partial fraction decomposition +partfrac((x^7+x^2)/(x^3 - 3*x + 2)); + +%% poly2sym and sym2poly +p = [1 2 3 4]; +psym = poly2sym(p, x); +q = sym2poly(psym); + +%% Symbolic functions +% Symbolic functions are like symbolic expressions but with a formal +% parameter rather than all free parameters. This may be useful for +% substituting for a symbolic variable or for differential equations. +syms f(y); +f(y) = y^2; +f(4); + +%% Compose symbolic functions +syms g(y) +g(y) = sin(y); +h = compose(f, g); + +%% Symbolic function inverse +f(y) = exp(y); +finverse(f) + +%% Symbolic differentiation +% Note that this `diff` is different from the `diff` from before. +% This one is actually `sym.diff`. +syms x y z; +v = x^2 + 16*x + 5; +dvdx = diff(v); +dvdx_3 = subs(dvdx, x,3); + +%% Partial differentiation +% This function assumes derivatives commute (i.e., second partials exist +% and are continuous). +w = -x^3 + x^2 + 3*y + 25*sin(x*y); +dwdx = diff(w, x); +dwdy = diff(w, y); + +% third order derivative w.r.t. x +dw3dx3 = diff(w, x, 3); + +% Vector operations exist as well such as: curl, divergence, gradient, +% laplacian, jacobian, hessian... + +%% Differential equations +syms y(t) a; +dsolve(diff(y) == a*y, t); +dsolve(diff(y) == a*y, y(0) == 5); % with initial conditions + +%% Symbolic integration +v = x^2 + 16*x + 5; +V = int(v); + +%% Definite integral +syms a b; +Vab = int(v, a, b); +V01 = int(v, 0, 1); + +%% z transform +syms a n z; +f = a^n; +ztrans(f); + +%% Symbolic matrices +syms m; +n = 4; +A = m.^((0:n)'*(0:n)); +D = diff(A); + +%% Laplace Transform +syms t a s; +f = exp(-a*t); +laplace(f); + +%% Inverse Laplace Transform +ilaplace(-4*s+8/(s^2+6*s+8)); + +%% Fourier Transform +f = dirac(x) + sin(x); +fourier(f); + +%% Inverse Fourier Transform +syms w; + +% fourier transform of cosine(t) +expr = dirac(w+1) + dirac(w-1); +ift = ifourier(expr); +simplify(ift); + +%% Note: performance +syms x v; +v = x^3 + 5*x^2 - 3*x + 9; +t = 1:1e4; + +tic; +X = t.^3 + 5*t.^2 - 3*t + 9; +toc; + +tic; +Y = subs(v,x,t); +toc; + +% Symbolic computation and data structures are relatively expensive +% when compared to numerical operations! Use sparingly! diff --git a/lessons/lesson09/stoch.m b/lessons/lesson09/stoch.m new file mode 100644 index 0000000..d365abf --- /dev/null +++ b/lessons/lesson09/stoch.m @@ -0,0 +1,182 @@ +%% INTRODUCTION TO STOCHASTICITY + +% Electrical engineers often use MATLAB to simulate random process, and the +% reason that it is so popular is that a lot of problems in EE are +% stochastic problems. What happens when there's random noise in a channel, +% what is the probability of corrupting a signal to the point that it +% cannot be recovered? + +% Today, we are going to explore the idea of randomness with case studies. +% We are first going to show simple examples of stochastic processes, and +% will conclude with a more elaborate exploration of stochasticity in +% communication channels +clc; clear; close all; + +%% EXAMPLE 1 : MONTY HALL +% The classic monty hall problem -- do you switch the door or not. The +% correct answer is you always switch. But why?? Let's find out + +% Let's do a simulation to experimentally see the results, let's say there +% are two contestants, the first contestant never switches, the second +% contestant switches. + +% There are different ways to do it. Let's assume that the prize is +% always behind door 3 and we choose at random which door the contestant +% chooses. + +% If contestant 1 picks 3, then the contestant wins. For contestant 2, if +% the contestant chooses 3 then we choose one of the two other doors at +% random to show. If contestant 2 chose door 1 or 2, we show the +% contestant the other empty door. + +N = 5e5; +choose_door = unidrnd(3,1,N); +result = zeros(2,N); +result(1, choose_door == 3) = 1; + +% Inefficient but for readability. It's clear that contestant 2 has a 2/3 +% success rate +for i = 1:N + if choose_door(i) == 3 + choose_door(i) = unidrnd(2,1); + else + choose_door(i) = 3; + end +end + +result(2, choose_door == 3) = 1; + +% take the running mean +win_rate = cumsum(result, 2); +x = 1:1:N; +win_rate = win_rate ./ [x;x]; + +%% Plotting the results of example 1 +figure; +hold on; +plot(x, win_rate(1,:), 'DisplayName', 'no switch'); +plot(x, win_rate(2,:), 'DisplayName', 'switch'); +hold off; +legend show; +title 'Monty Hall Problem Simulation Results'; + +%% EXAMPLE 2 : CASINO + +% A casino offers a game in which a fair coin is tossed repeatedly until +% the first heads comes up, for a total of k+1 tosses. The casino will pay +% out k dollars + +% Let's see how much money you are going to get if you play the game +N = 5e5; +num_tosses = zeros(1,N); +for i = 1:N + res = randi([0,1]); + while (res ~= 0) + num_tosses(i) = num_tosses(i) + 1; + res = randi([0,1]); + end +end + +figure; +hold on; +histogram(num_tosses, unique(num_tosses)); +hold off; +xlabel Frequency; +ylabel Winnings; + +%% Radar/Signal Detection Example +N = 10000; +i = 1:N; +rdm = rand(1,N); +X = rdm > 0.5; % Signal: 0 or 1 equiprobable +N = randn(1,N); % Noise: standard normal + +Y = X + N; % Recieved + +% For each observation, either the sample comes from N(0,1) or N(1,1) + +% To guess if the true signal for each observation, x_i is 0 or 1 we +% compute P[true = 0 | x_i] and P[true = 1 | x_i] and choose the larger +% one. + +% By Bayes' Law, +% P[x_i | true = S]*P[true = S] +% P[true = S | x_i] = ----------------------------- , S = 0,1 +% P[x_i] + +% Since P[x_i] is common to both P[true = 0 | x_i] and P[true = 1 | x_i], +% we only have to maximize the numerator. Also since +% P[true = 0] = P[true = 1], we need to maximize P[x_i | true = S], S = 0,1 + +%% Showing the decision boundary visually +x = -5:0.001:5; +figure; +plot(x, [normpdf(x,0,1); normpdf(x,1,1)]); +xline(0.5, '--'); + +legend 'Sent 0', 'Sent 1'; +xlabel 'Received value'; +ylabel 'Likelihood'; + +%% Modeling the distribution boundary +prob0 = normpdf(Y, 0, 1); +prob1 = normpdf(Y, 1, 1); + +decision = prob1 > prob0; +result = decision == X; + +figure; +plot(i, cumsum(result)./i); +xlabel 'Number of Observations'; +ylabel 'Percent Correct'; +title 'Signal Detection'; + +%% +% What happens if the prior probabilities are not equal? +% +% If the priors are known, then we can multiply them to the probabilities +% we used earlier according to Bayes' Law. This technique is called MAP +% (Maximum a posteriori) estimation. +% +% But if the priors are NOT known, then we can assume equiprobable and use +% the same technique as before. This technique is called ML (Maximum +% likelihood) estimation. Clearly this performs worse than MAP if the +% priors are not equal, i.e., the equiprobable assumption is false. + +P0 = 0.8; +X = rdm > P0; % Now the signal is 1 with probability 0.2 + +Y = X + N; + +%% Graphing this new problem +figure; +subplot(211); +plot(x, [normpdf(x,0,1); normpdf(x,1,1)]); +xline(0.5, '--'); +title ML; +xlabel 'Received value'; +ylabel 'Likelihood'; + +subplot(212); +plot(x, [normpdf(x,0,1)*P0; normpdf(x,1,1)*(1 - P0)]); +xline(0.5 + log(P0/(1-P0)), '--'); +title 'MAP'; +xlabel 'Received value'; +ylabel 'Likelihood'; + +%% MAP decision rule +% Now we include the priors +prob0MAP = normpdf(Y, 0, 1) * P0; +prob1MAP = normpdf(Y, 1, 1) * (1 - P0); + +decisionMAP = prob1MAP > prob0MAP; + +resultML = decision == X; % previous example was ML +resultMAP = decisionMAP == X; % current MAP estimate + +figure; +plot(i, [cumsum(resultML)./i; cumsum(resultMAP)./i]); +xlabel 'Number of Observations'; +ylabel 'Percent Correct'; +title 'Signal Detection: MAP vs. ML'; +legend ML MAP; \ No newline at end of file diff --git a/lessons/lesson10/chaos.m b/lessons/lesson10/chaos.m new file mode 100644 index 0000000..630871e --- /dev/null +++ b/lessons/lesson10/chaos.m @@ -0,0 +1,256 @@ +%% Lesson 10, extra -- Chaos! +% Based on work for PH429: Chaos & Nonlinear Dynamics. The following was +% translated from the original NumPy/Matplotlib code. See Strogatz' Nonlinear +% Dynamics and Chaos (the source for much of this information) if you want to +% know more! + +close all; clear; clc; + +% Simple systems of nonlinear differential equations (also iterated nonlinear +% maps) often exhibit surprisingly complex behavior. Lorenz's "strange +% attractor," discovered in 1963, was an example of this: he discovered that an +% exceedingly simplified (and entirely deterministic!) model of the weather was +% still able to produce unpredictable fluctuations in temperature, wind speed, +% etc. -- the system exponentially amplified miniscule parameter changes, so +% every decimal place mattered. Further work with analog computers and the +% then-emerging digital computers led to the field we now call chaos theory. + +% Chaos has much to do with fractal geometry, so we'll start by generating a +% few fractals. Because... why not? + +%% The Chaos Game & Sierpinski Triangles +% The game is simple: +% 1. Place three vertices in the plane, corresponding to the vertices of an +% equilateral triangle. +% 2. Randomly choose a point P(0). +% 3. Each turn, choose a random vertex, and plot a point P(n) halfway between +% that vertex and point P(n - 1). +% Let's see what happens. + +n1 = 5e5; % points +vertices = [0, 0; .5, .5*sqrt(3); 1, 0]; +r = .5; % fraction of the way between points and vertices (here halfway) + +% point coordinates +points = zeros(n1, 2); +choices = randi([1 3], n1, 1); + +% randomly choose the first point somewhere in the plane +points(1, :) = 100*randn(1, 2); + +% choose the rest +% note: the loop here is actually necessary, like it was in G-S -- each +% iteration depends upon the previous one. +for i = 2:n1 + choice = choices(i); + vertex = vertices(choice, :); + last_point = points(i - 1, :); + + points(i, :) = last_point + r*(vertex - last_point); +end + +% plot the thing +figure; +scatter(points(:, 1), points(:, 2), 1); +xlim([-.1 1.1]); +ylim([-.2 1]); +xticks([]); +yticks([]); +pbaspect([1 1 1]); % make the plot box square +title('The Sierpinski Triangle, by Chance', 'Interpreter', 'latex'); + +% A rather important property of fractals is their fractional dimension -- this +% triangle, for example, is not quite two-dimensional but is clearly more than +% one-dimensional. So how do we measure this dimension? + +% One simple measure, known as self-similarity dimension, is relatively easy to +% find for the Sierpinski triangle. The idea is we simply examine how many +% smaller versions of a given shape could fit into that shape, and what size +% they would be in relation. For example, a square with scale 1 can be made up +% of 4 smaller squares scaled by 1/2, or 9 smaller squares with scale 1/3: +% ----------------- ----------------- +% | | | | | +% | | | 1/2 | 1/2 | +% | | | | | +% | 1 | = |-------|-------| +% | | | | | +% | | | 1/2 | 1/2 | +% | | | | | +% ----------------- ----------------- +% A square thus has self-similarity dimension log₂4 = log₃9 = 2 (as one might +% expect). The Sierpinski triangle is composed of 3 copies of itself scaled by +% 1/2, and thus has self-similarity dimension log₂3 ≈ 1.585. + +% I wonder if we could have MATLAB calculate these... + +%% Iterated Maps +% One way to create chaotic behavior is to iterate a nonlinear map: e.g., plot +% the set {x, sin(x), sin(sin(x)), sin(sin(sin(x))), ...}. The values will +% generally hop unpredictably around, but will often stay closer to some values +% than others... + +% The following plot is a visual representation of these iterations, called a +% cobweb. Cobwebs are often used to qualitatively analyze nonlinear maps. The +% idea is, since the output of the map will be fed back into the input, we plot +% a point on the map's curve, translate horizontally to the line y = x, then +% translate vertically back to the map and repeat. This gives a visual +% representation of plugging the output back into the input. + +% When you see this, think about which points on the map will "attract" the +% cobweb, which will "repel" it, and how one might go about making that +% distinction. + +n2 = 10; +map = @(x) 2*sin(x); + +% create the map curve and the center line +x = linspace(0, pi, 100).'; +y_map = map(x); +y_line = x; + +% create the cobweb +map_pts = zeros(2*n2 + 1, 2); +map_pts(1, :) = [.2, 0]; +for i = 1:n2 + last_pt = map_pts(2*i - 1, :); + mapped = [last_pt(1), map(last_pt(1))]; + on_the_line = [mapped(2), mapped(2)]; + + map_pts(2*i, :) = mapped; + map_pts(2*i + 1, :) = on_the_line; +end + +% plot it +figure; +hold on; +plot(x, y_map, 'b'); +plot(x, y_line, 'k'); +plot(map_pts(:, 1), map_pts(:, 2), 'r'); + +start = map_pts(1, :); +scatter(start(1), start(2), 'r'); +text(start(1) + .03, start(2) + .03, 'Start Point'); + +xlim([0 pi]); +xticks([0 pi/2 pi]); +ylim([0 2.1]); +xticklabels({'0', '\pi/2', '\pi'}); + +title('Cobweb of \(2 \sin x\)', 'Interpreter', 'latex'); + +%% Orbit Diagrams +% The above example was... not too crazy. The map x → α sin x *can* exhibit +% more complex behavior, but it requires α to be greater than π (so that we can +% escape the [0, π] interval). The map will first stay close to two points, +% then a few, then... altogether too many. This is usually plotted with what is +% called an orbit diagram, showing roughly how much time the map spends at +% certain values for a given α. + +map_alpha = @(alpha, x) alpha.*sin(x); + +n3 = 6e2; % iterations to go through +frames = 9e2; % run this many parallel alpha computations +toss = 2e2; % delete this many points from the start + +min_alpha = 2.2; +max_alpha = 3.1; +alphas = linspace(min_alpha, max_alpha, frames); + +% at least we can run the frames in parallel... +values = zeros(n3, frames); +values(1, :) = pi/4; % the first input each time +for i = 2:n3 + values(i, :) = map_alpha(alphas, values(i - 1, :)); +end + +% plot this crazy thing +values = values((toss + 1):end, :); +figure; +scatter(alphas.', values, 1, [.7 0 0], 'MarkerEdgeAlpha', .3); + +title('Orbit of \(\alpha \sin x\)', 'Interpreter', 'latex'); +xlabel('\alpha'); +ylabel('map value'); + +%% The Phase Plane +% In continuous time, we have differential equations rather than iterated maps. +% One way to analyze higher-order equations is using the so-called phase plane, +% which is a plot of our state variable and its derivative. The idea is that a +% second-order differential equation really acts like a system in two +% dimensions, and is best analyzed directly as such. + +% We'll analyze the motion of an damped pendulum, which has the governing +% equation d²θ/dt² + b dθ/dt + (g/L) sin θ = 0. For simplicity (it won't change +% the qualitative behavior), we'll let g/L = 1. Then (the phase plane bit) +% we break this into two differential equations, +% * dθ/dt = ω and +% * dω/dt = -(sin θ + bω), +% and make a plot of the *vector* (dθ/dt, dω/dt) in θ-ω space. We can easily +% plot the vector field with `quiver`, and MATLAB's `streamline` is rather +% effective at plotting either single trajectories or a whole suite of possible +% solutions. + +b = .2; +min_theta = -3*pi; +max_theta = 3*pi; +min_omega = -3*pi; +max_omega = 3*pi; +theta_range = linspace(min_theta, max_theta, 300); +omega_range = linspace(min_omega, max_omega, 200); +[theta, omega] = meshgrid(theta_range, omega_range); +theta_dot = omega; +omega_dot = -(sin(theta) + b*omega); + +% to cut down on the # of points we plot +d = 10; +[sparse_x, sparse_y] = ... + meshgrid(d:d:length(theta_range), d:d:length(omega_range)); +sparse = sub2ind(size(theta), sparse_y(:), sparse_x(:)); + +% plot this thing +figure; +hold on; +quiver(theta(sparse), omega(sparse), ... + theta_dot(sparse), omega_dot(sparse), 'm'); +streamline(theta, omega, theta_dot, omega_dot, ... + theta(sparse_y, [1 end]), omega(sparse_y, [1 end])); + +xlim([min_theta max_theta]); +xticks(linspace(min_theta, max_theta, 7)); +ylim([min_omega max_omega]); + +xlabel('pendulum angle'); +ylabel('angular velocity'); +title('Behavior of a Damped Pendulum', 'Interpreter', 'latex'); + +%% Strange Attractors +% I won't go into detail here -- suffice it to say the behavior of this system +% would be quite opaque without numerical integration. Fortunately, we have +% just that! Lorenz managed to prove analytically that this system had no +% closed cycles and yet all its trajectories eventually stayed within a bounded +% region of space, but beyond that... well, we'll see. +sigma = 10; +r = 28; +b = 8/3; + +x_dot = @(x, y, z) sigma*(y - x); +y_dot = @(x, y, z) r*x - y - x.*z; +z_dot = @(x, y, z) x.*y - b*z; + +[x, y, z] = meshgrid(linspace(-50, 50, 100)); +u = x_dot(x, y, z); +v = y_dot(x, y, z); +w = z_dot(x, y, z); + +figure; +hold on; +streamline(x, y, z, u, v, w, 0, 1, 0, [.1 2e4]); +scatter3(0, 1, 0); +view(3); +grid on; + +text(0, 0, -2, 'Start Point'); +xlabel('x'); +ylabel('y'); +zlabel('z'); +title("Lorenz's Strange Attractor", 'Interpreter', 'latex');

})k#sn3(3!Vq2f6 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