Diary File for Problem B.7. format compact, % The compact format will reduce the "white space" on the % output. % Prior to executing the next command, I need to make sure the M-file % is in the operating directory I am using within Matlab. Problem_Bp7 , % Execute the commands in the M-script for Problem B.7. w1 = 3.0000 + 4.0000i w2 = 1.4142 + 1.4142i Part (a): Polar Form of w1 mag_w1 = 5 ang_w1 = 0.9273 ang_w1_degrees = 53.1301 Part (b): Rectangular Form of w2 real_w2 = 1.4142 imag_w2 = 1.4142 Part (c): Square of the magnitudes of Both Complex Numbers w1_sq = 25 w2_sq = 4 Part (d): Rectangular Form of w1+w2 r_w1pw2 = 4.4142 i_w1pw2 = 5.4142 Part (e): Polar Form of w1-w2 m_w1mw2 = 3.0333 a_w1mw2 = 1.0207 a_deg_w1mw2 = 58.4804 Part (f): Rectangular Form of w1*w2 w1w2 = -1.4142 + 9.8995i r_w1w2 = -1.4142 i_w1w2 = 9.8995 Part (g): Polar Form of w1/w2 m_w1dw2 = 2.5000 a_w1dw2 = 0.1419 a_deg_w1dw2 = 8.1301 diary off M-file named “Problem_Bp7.m” % Problem_Bp7.m % % M-script to execute the commands necessary to verify Problem B.7 % in the textbook. B.P. Lathi, "Linear Systems and Signals," Second Ed. % w1= 3 + j*4, % Define the first complex number. w2=2*exp(j*(pi/4)), % Define the second complex number. % % Part (a): Express w1 in standard polar form. display('Part (a): Polar Form of w1') mag_w1=abs(w1), % Find the magnitude of the complex number. ang_w1=angle(w1), % Compute the angle of the complex number. ang_w1_degrees=(180/pi)*ang_w1, % Convert the angle from radians to degrees. % % Part (b): Express w2 in standard rectangular form. display('Part (b): Rectangular Form of w2') real_w2=real(w2), % Extract the real part of the complex number. imag_w2=imag(w2), % Extract the imaginary part of the complex number. % % Part (c): Compute the square of the magnitudes of the two complex #'s. display('Part (c): Square of the magnitudes of Both Complex Numbers') w1_sq=(abs(w1))^2, % Display the square of the magnitude of complex number 1. w2_sq=(abs(w2))^2, % Display the square of the magnitude of complex number 2. % % Part (d): Display the sum of w1 and w2 in rectangular form. display('Part (d): Rectangular Form of w1+w2') r_w1pw2=real(w1+w2), % Real part of sum of w1 and w2. i_w1pw2=imag(w1+w2), % Imaginary part of sum of w1 and w2. % % Part (e): Display the difference between w1 and w2 in polar form. display('Part (e): Polar Form of w1-w2') m_w1mw2=abs(w1-w2), % Display the magnitude of w1-w2. a_w1mw2=angle(w1-w2), % Display the angle (in radians) of w1-w2. a_deg_w1mw2=(180/pi)*(a_w1mw2), % Display angle (in degrees) of w1-w2. % % Part (f): Display the product of w1 and w2 in rectangular form. display('Part (f): Rectangular Form of w1*w2') w1w2=w1*w2, % This answer by default should be in rectangular form. r_w1w2=real(w1*w2), % If not, display the real part of the produce w1*w2. i_w1w2=imag(w1*w2), % Display the imaginary part of the product w1*w2. MATLAB Problems #1: ECE 340 Spring 2013 ece340_soln_s13 Page 1
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Diary File for Problem B.7.
format compact, % The compact format will reduce the "white space" on the
% output.
% Prior to executing the next command, I need to make sure the M-file
% is in the operating directory I am using within Matlab.
Problem_Bp7 , % Execute the commands in the M-script for Problem B.7.
w1 =
3.0000 + 4.0000i
w2 =
1.4142 + 1.4142i
Part (a): Polar Form of w1
mag_w1 =
5
ang_w1 =
0.9273
ang_w1_degrees =
53.1301
Part (b): Rectangular Form of w2
real_w2 =
1.4142
imag_w2 =
1.4142
Part (c): Square of the magnitudes of Both Complex Numbers
w1_sq =
25
w2_sq =
4
Part (d): Rectangular Form of w1+w2
r_w1pw2 =
4.4142
i_w1pw2 =
5.4142
Part (e): Polar Form of w1-w2
m_w1mw2 =
3.0333
a_w1mw2 =
1.0207
a_deg_w1mw2 =
58.4804
Part (f): Rectangular Form of w1*w2
w1w2 =
-1.4142 + 9.8995i
r_w1w2 =
-1.4142
i_w1w2 =
9.8995
Part (g): Polar Form of w1/w2
m_w1dw2 =
2.5000
a_w1dw2 =
0.1419
a_deg_w1dw2 =
8.1301
diary off
M-file named “Problem_Bp7.m”
% Problem_Bp7.m
%
% M-script to execute the commands necessary to verify Problem B.7
% in the textbook. B.P. Lathi, "Linear Systems and Signals," Second Ed.
%
w1= 3 + j*4, % Define the first complex number.
w2=2*exp(j*(pi/4)), % Define the second complex number.
%
% Part (a): Express w1 in standard polar form.
display('Part (a): Polar Form of w1')
mag_w1=abs(w1), % Find the magnitude of the complex number.
ang_w1=angle(w1), % Compute the angle of the complex number.
ang_w1_degrees=(180/pi)*ang_w1, % Convert the angle from radians to degrees.
%
% Part (b): Express w2 in standard rectangular form.
display('Part (b): Rectangular Form of w2')
real_w2=real(w2), % Extract the real part of the complex number.
imag_w2=imag(w2), % Extract the imaginary part of the complex number.
%
% Part (c): Compute the square of the magnitudes of the two complex #'s.
display('Part (c): Square of the magnitudes of Both Complex Numbers')
w1_sq=(abs(w1))^2, % Display the square of the magnitude of complex number 1.
w2_sq=(abs(w2))^2, % Display the square of the magnitude of complex number 2.
%
% Part (d): Display the sum of w1 and w2 in rectangular form.
display('Part (d): Rectangular Form of w1+w2')
r_w1pw2=real(w1+w2), % Real part of sum of w1 and w2.
i_w1pw2=imag(w1+w2), % Imaginary part of sum of w1 and w2.
%
% Part (e): Display the difference between w1 and w2 in polar form.
display('Part (e): Polar Form of w1-w2')
m_w1mw2=abs(w1-w2), % Display the magnitude of w1-w2.
a_w1mw2=angle(w1-w2), % Display the angle (in radians) of w1-w2.
a_deg_w1mw2=(180/pi)*(a_w1mw2), % Display angle (in degrees) of w1-w2.
%
% Part (f): Display the product of w1 and w2 in rectangular form.
display('Part (f): Rectangular Form of w1*w2')
w1w2=w1*w2, % This answer by default should be in rectangular form.
r_w1w2=real(w1*w2), % If not, display the real part of the produce w1*w2.
i_w1w2=imag(w1*w2), % Display the imaginary part of the product w1*w2.
MATLAB Problems #1: ECE 340 Spring 2013
ece340_soln_s13 Page 1
i_w1w2=imag(w1*w2), % Display the imaginary part of the product w1*w2.
%
% Part (g): Display the quotient of w1 and w2 in polar form.
display('Part (g): Polar Form of w1/w2')
m_w1dw2=abs(w1/w2), % Display the magnitude of w1/w2.
a_w1dw2=angle(w1/w2), % Display the angle (in radians) of w1/w2.
a_deg_w1dw2=(180/pi)*(a_w1dw2), % Display the angle (in degrees) of w1/w2.
ece340_soln_s13 Page 2
Problem B.22 solved using MATLAB.
Diary file captured during the execution of the M-file entitled ‘Problem_Bp22.m’.
format compact, % Reduce the amount of "white space" on the output.
Problem_Bp22, % Execute the commands for Problem B.22 via the M-script file.
a =
-1.0000 + 6.2832i
Tend =
6
Tdel =
0.0100
Tbend =
3
b =
1.0000 - 6.2832i
diary off
M-file for Problem B.22:
% Problem B.22
% M-script to execute the commands for Problem B.22.
% Part (a)
a=(-1+j*(2*pi)) % Define the complex number in the exponent for part (a).
% The time constant for this signal is associated with the reciprocal of
% the real part of the exponent. For this exponent, the time constant is
% 1.0. Thus, I will let the time horizon of the simulation for Part (a) be
% a little longer than 5 time constants.
Tend=6.0, % Time value for the end of the simulation.
% One may want 10 samples per time constant (1/10 = 0.1) for a time step
% resolution, or one may need to let the damped frequency of oscillation
% determine the time step resolution. For Part (a), the damped frequency
% is 2*pi*1 (radians/second) or 1 Hertz. A 1 hertz frequency corresponds
% to a period of oscillation of T = 1/f = 1 second. One may want to sample
% the waveform 30 or more times every oscillation cycle. Thus, the time
% step resolution for this part of the problem would be 1/30, which is
% approximately 0.0333. This value is smaller than the time step
% resolution based on the exponential decay rate's time constant. I will
% select a time step resolution based on the smaller of those two
% resolution values. For this part, let me sample with an even finer
% resolution. A nice number that is smaller than 0.0333 could be 0.01.
% Let me pick the sample period resolution to equal 10 milliseconds or
% 0.01.
Tdel=0.01, % Time step resolution value.
t=0:Tdel:Tend; % Define the time vector for the simulation of Part (a).
x1=real(2*exp(a*t)); % Create the exponentially damped cosine waveform.
figure(1)
plot(t,x1)
xlabel('Time (seconds)')
ylabel('x_1(t)')
title('Problem B.22, Part (a)')
%
% Part (b)
% This waveform has a positive exponent, which will cause the resulting
ece340_soln_s13 Page 3
% This waveform has a positive exponent, which will cause the resulting
% waveform to go unbounded rather quickly! The exponential growth rate is
% determined by the positive real exponent value of 1. I will only
% simulate this waveform for 3.0 seconds since the output will grow to
% exp(3) in that length of time. The frequency of the waveform is still 1
% hertz, so I will still use the same time step resolution value of 0.01.
Tbend=3, % Select the end time of the simulation for part (b).
tb=0:Tdel:Tbend; % Create a new time vector for Part (b).
b=(1-j*2*pi), % Define the complex exponent for Part (b).
x2=imag(3-exp(b*tb)); % Create the waveform for part (b).
figure(2)
plot(tb,x2)
xlabel('Time (seconds)')
ylabel('x_2(t)')
title('Problem B.22, Part (b)')
% Part (c)
% The waveform in this part is just like Part (b) except it has an offset
% of 3 in magnitude. The creation of this simulation will be the same as
% in Part (b) so the two waveforms can be compared.
x3=3-imag(exp(b*tb)); % Create the waveform for Part (c).
figure(3)
plot(tb,x3)
xlabel('Time (seconds)')
ylabel('x_3(t)')
title('Problem B.22, Part (c)')
%
% The waveforms in Parts (b) and (c) should differ since the offset of the
% real amount 3.0 is included inside the imaginary function operation in
% Part (b) and is outside the imaginary function operation in Part (c).
Figure 1: Figure for Problem B.22, Part (a). (Below)
Figure 2: Figure for Problem B.22, Part (b). (Below)
Figure 3: Figure for Problem B.22, Part (c). (Below)
ece340_soln_s13 Page 4
Problem B.23 (MATLAB Exercise #3 in Homework Assignment #1)
Diary file for Problem B.23 follows. I only need to include the diary file, since I issued the MATLAB command ‘echo on’ as the first line in the M-file ‘Problem_Bp23.m’ .
format compact, % Reduce the amount of 'white space' in the output.
Problem_Bp23, % Execute the M-file for this problem.
echo on
% The "echo on" command has been inserted as the first line of
% this M-file to force Matlab to display all of the commands that
% are executed in this M-file.
%
% Problem_Bp23
%
% M-script to execute the commands necessary to plot or graph the product
% of a cosine waveform and a sine waveform. I will use the
% element-by-element multiplication operation to create the necessary
% waveform.
%
% cos(t) has an angular frequency of 1 rad/second.
% sin(20t) has an angular frequency of 20 rad/second.
% The two frequencies in Hertz are 1/(2*pi) = 0.159 Hz and 20/(2*pi) = 3.18
% Hz, respectively.
% The corresponding periods for each waveform can help determine how long
% to simulate and how fast to sample.
% One should probably sample at least 30 times the highest (fastest)
% frequency. This sample rate means the time step resolution would be the
% reciprocal of this sample rate. Sample rate of 30*3.18 is a little
% larger than 90 Hertz so let's sample at 100 Hz or every (1/100) = 0.01
% seconds. The slow waveform at 0.159 Hz means that its period of
% oscillation is (1/0.159)=(1/(1/2*pi))=2*pi=6.28 seconds and this will
% provide an estimate of how slow the outer oscillation will be changing in
% time. Let me simulate for a little longer than this slower waveform's
% period.
Tend=8, % Simulate a little longer than 6.28 seconds.
Tend =
8
Tdel=0.01, % Sample a little faster than 30 times the highest frequency.
Tdel =
0.0100
t=0:Tdel:Tend; % Create the time vector for Problem B.23.
x23=cos(t).*sin(20*t); % Perform an element-wise multiplication of waves.
figure, % Create a new figure window.
plot(t,x23) % Plot the modulated waveform.
xlabel('Time (seconds)')
ylabel('Modulated Sinusoids')
title('Problem B.23')
diary off
Figure for Problem B.23 (below):
ece340_soln_s13 Page 5
format compact, % Reduce the amount of 'white space' visible in the output.
Problem_Bp33, % Execute the commands in the M-file for Problem B.33 .
echo on
% Display all of the commands in this M-file during execution.
%
% Problem_Bp33.m
%
% Solve a system of four equations in four unknowns.
% MATLAB is designed to do this heavy lifting matrix algebra!