LAB2

 avatar
unknown
matlab
2 years ago
1.9 kB
6
Indexable
%% 3.1
G = 1;
T0 = 2;
w0 = 2*pi/T0;
M = 20;

a = zeros(M,1);
for k=1:M
    if mod(k,2)
        a(k) = -2*G*1i/(k*pi);
    end
end
a0 = G;
t = -T0:0.001:2*T0;
x = zeros(size(t));
for k = 1:M
    x = x + a(k)*exp(1i*k*w0*t) + a(k)'*exp(-1i*k*w0*t);
end
x = x + a0;

figure(1)
clf
plot(t,x)
xlabel('t')
title('x(t)')

%% System a i figur 10
P = [-8.4853+8.4853i, -8.4853-8.4853i];
Z = [0 0];
K = 1;

b = zeros(M,1);
for k = 1:M
    w = k*w0;
    H = K*prod(Z-i*w)/prod(P-i*w);
    b(k) = a(k)*H;
end
b0 = a0*K*prod(Z)/prod(P);

t = -T0:0.001:2*T0;
y = zeros(size(t));
for k = 1:M
    y = y + b(k)*exp(1i*k*w0*t) + b(k)'*exp(-1i*k*w0*t);
end
y = y + b0;
figure(2)
clf
plot(t,y)
xlabel('t')
title('y(t)')

%% System b i figur 10
P = [-0.4000+9.3830i, -0.4000-9.3830i];
Z = [0];
K = 0.8;

b = zeros(M,1);
for k = 1:M
    w = k*w0;
    H = K*prod(Z-1i*w)/prod(P-1i*w);
    b(k) = a(k)*H;
end
b0 = a0*K*prod(Z)/prod(P);

t = -T0:0.001:2*T0;
y = zeros(size(t));
for k = 1:M
    y = y + b(k)*exp(1i*k*w0*t) + b(k)'*exp(-1i*k*w0*t);
end
y = y + b0;
figure(2)
clf
plot(t,y)
xlabel('t')
title('y(t)')

%% System c i figur 10
P = [-0.7237+3.0569i, -0.7237-3.0569i];
Z = [3.1415i, -3.1415i];
K = 1;

b = zeros(M,1);
for k = 1:M
    w = k*w0;
    H = K*prod(Z-1i*w)/prod(P-1i*w);
    b(k) = a(k)*H;
end
b0 = a0*K*prod(Z)/prod(P);

t = -T0:0.001:2*T0;
y = zeros(size(t));
for k = 1:M
    y = y + b(k)*exp(1i*k*w0*t) + b(k)'*exp(-1i*k*w0*t);
end
y = y + b0;
figure(2)
clf
plot(t,y)
xlabel('t')
title('y(t)')

%% System d i figur 10
P = [-2.4749+2.4749i, -2.4749-2.4749i];
Z = [];
K = 12.25;

b = zeros(M,1);
for k = 1:M
    w = k*w0;
    H = K*prod(Z-1i*w)/prod(P-1i*w);
    b(k) = a(k)*H;
end
b0 = a0*K*prod(Z)/prod(P);

t = -T0:0.001:2*T0;
y = zeros(size(t));
for k = 1:M
    y = y + b(k)*exp(1i*k*w0*t) + b(k)'*exp(-1i*k*w0*t);
end
y = y + b0;
figure(2)
clf
plot(t,y)
xlabel('t')
title('y(t)')
Editor is loading...