1 / 18

Matrix Computations

Matrix Computations. ELEC 206 Computer Applications for Electrical Engineers Dr. Ron Hayne. Dot Product. Scalar formed by sum of products of vector elements dot_product = sum(A.*B); dot_product = A_row * B_col; dot(A,B);. Example. Find Total Mass num_items = [ 3 5 2 1 ]

paco
Télécharger la présentation

Matrix Computations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Matrix Computations ELEC 206 Computer Applications for Electrical Engineers Dr. Ron Hayne

  2. Dot Product • Scalar formed by sum of products of vector elements • dot_product = sum(A.*B); • dot_product = A_row * B_col; • dot(A,B); 206_M6

  3. Example • Find Total Mass • num_items = [ 3 5 2 1 ] • mass_items = [3.5 1.5 .79 1.75] • item_totals = num_items .* mass_items • total_mass = sum(item_totals) • total_mass = num_items * mass_items’ • total_mass = dot(num_items,mass_items) 206_M6

  4. Matrix Multiplication • Value in position (i,j) is dot product of row i of the first matrix with column j of the second matrix • Inner dimensions must be the same (conformable) • A = [2 5 1;0 3 -1] (2 x 3) • B = [1 0; -1 4; 5 2] (3 x 2) • C = A * B (2 x 2) • C11 = sum(A(1,:).*B(:,1)') 206_M6

  5. Matrix Powers • Square of each element of a matrix • A.^2 • Square of a matrix • A^2 • A*A • Other powers • A^3 • A*A*A • ... 206_M6

  6. Other Matrix Functions • Matrix Inverse • Product of matrix and it's inverse yields identity matrix • AA-1 = I and A-1A = I • B = inv(A) • I = A*B • Determinant • Scalar computed from entries of a square matrix • e.g. (2 x 2): |A| = a1,1a2,2 - a2,1a1,2 • det(A) 206_M6

  7. Special Matrices • Matrix of Zeros • zeros(3) • zeros(3,2) • Matrix of Ones • ones(3) • ones(3,2) • Identity Matrix • eye(3) 206_M6

  8. Systems of Linear Equations • System of 3 equations with 3 unknowns • 3x1 + 2x2 - x3 = 10 • -x1 + 3x2 + 2x3 = 5 • x1 - x2 - x3 = -1 • Matrix representation • AX = B 206_M6

  9. Solving Simultaneous Equations • Solution Using the Matrix Inverse • AX = B • A-1AX = A-1B • IX = A-1B • X = A-1B • MATLAB Solution • X = inv(A)*B • Better MATLAB Solution using Left Division • X = A\B • Uses Gaussian elimination (without forming the inverse) 206_M6

  10. Signal-to-Noise Ratio • Signal Power (Amplitude) • power = sum(x.^2)/length(x) • Signal Power (Variance and Mean) • power = std(x)^2 + mean(x)^2 • Signal Power (Sinusoid) • x = A*sin(2*pi*t) • power = A^2/2 • Signal-to-Noise Ratio • SNR = (signal power)/(noise power) 206_M6

  11. Random Numbers • Uniform Random Numbers • rand('seed',n), rand(n), rand(m,n) • Interval 0 to 1 • Interval a to b • x = (b - a)*r + a; • Gaussian Random numbers • randn('seed',n), randn(n), randn(m,n) • Normal Distribution • Mean = 0, Standard Deviation = 1.0 • Modified Distribution • Mean = b, Standard Deviation = a • x = a*r + b; 206_M6

  12. Uniform Noise rand(1,n) Interval -a to +a mean = 0 variance = a2/3 x = 2*a*r - a Gaussian Noise randn(1,n) Standard Deviation = a mean = 0 variance = a2 x = a*r Random Noise 206_M6

  13. Sinusoid plus Uniform Noise % Sine plus Uniform Noise t=0:0.01:2; sine=4*sin(2*pi*t); noise_u=2*rand(1,201)-1; s_u=sine+noise_u; power_sine=sum(sine.^2)/length(sine) power_noise_u=sum(noise_u.^2)/length(noise_u) SNR_u=power_sine/power_noise_u figure(1) plot(t,s_u) figure(2) hist(noise_u) 206_M6

  14. Sinusoid plus Gaussian Noise % Sine plus Gaussian Noise t=0:0.01:2; sine=4*sin(2*pi*t); noise_g=1/sqrt(3)*randn(1,201); s_g=sine+noise_g; power_sine=sum(sine.^2)/length(sine) power_noise_g=sum(noise_g.^2)/length(noise_g) SNR_g=power_sine/power_noise_g figure(3) plot(t,s_g) figure(4) hist(noise_g) 206_M6

  15. Problem Solving Applied • Signal Generation with Noise • Problem Statement • Generate a sinusoidal signal with a given amplitude and addition of uniform noise with a specified signal-to-noise ratio • Input/Output Description Signal Plot Sine Wave Amplitude Signal and Noise Power Desired SNR SNR 206_M6

  16. Problem Solving Applied • Hand Example • SNR = (signal power)/(noise power) • signal power = A2/2 • noise power = a2/3 • Algorithm Development • Prompt for A and SNR • Compute a • Generate sine and noise • Compute powers and SNR • Plot sine plus noise 206_M6

  17. MATLAB Solution % Sine plus Uniform Noise at SNR A = input('Enter amplitude of sinusoid: '); SNR = input('Enter desired signal-to-noise ratio: '); a=sqrt(1.5*A^2/SNR); t=0:0.01:2; sine=A*sin(2*pi*t); noise_u=2*a*rand(1,201)-a; power_sine=sum(sine.^2)/length(sine); power_noise_u=sum(noise_u.^2)/length(noise_u); SNR_u=power_sine/power_noise_u s_u=sine+noise_u; plot(t,s_u) title('Sinusoid with Uniform Noise') 206_M6

  18. Summary • Matrix Computations • Systems of Simultaneous Equations • Signal-to-Noise Ratio 206_M6

More Related