Professional Documents
Culture Documents
Bai 4
Bai 4
Câu 1:
Câu 1. Chương trình sau đây mô phỏng hàm bước nhảy đơn vị u(t).
clear; % xóa tất cả các biến trong bộ nhớ Matlab
**Yêu cầu
a. Hãy gõ lại chương trình này trong file soạn thảo của Matlab và lưu lại với tên
step.m
b. Hãy ghi lời chú thích vào sau các dấu % của một số dòng lệnh (một số dòng đã
được làm mẫu).
0.8
Bien do
0.6
0.4
0.2
0
-10 -8 -6 -4 -2 0 2 4 6 8 10
Thoi gian lien tuc t
Dịch về dương ( phải ) là u=heaviside(t-2); // hàm ( t – x)
Dịch về âm ( trái ) là u=heaviside(t+2); // hàm ( t + x)
d. Hãy sửa lại chương trình Matlab mô phỏng hàm bước nhảy đơn vị u(t) để thực hiện
các yêu cầu sau đây:
- Mô phỏng hàm bước nhảy đơn vị khi dịch chuyển về phía trái 3 đơn vị.
clear; % xóa t?t c? các bi?n trong b? nh? Matlab
clf;
t=-10:0.001:10;
u=heaviside(t+3);
plot(t,u);
title('Ham buoc nhay don vi u(t)'); % tên tiêu ?? c?a ?? th?
xlabel('Thoi gian lien tuc t');
ylabel('Bien do'); %
axis([-10 10 0 1.2]); %
grid on;
0.8
Bien do
0.6
0.4
0.2
0
-10 -8 -6 -4 -2 0 2 4 6 8 10
Thoi gian lien tuc t
- Mô phỏng hàm bước nhảy đơn vị u(t – t0), u(t + t0) với t0 được nhập từ bàn phím.
clear; % xóa t?t c? các bi?n trong b? nh? Matlab
clf;
t0=input('Nhap vao gia tri t0=');
t=-10:0.001:10;
u=heaviside(t+t0);
plot(t,u);
title('Ham buoc nhay don vi u(t)'); % tên tiêu ?? c?a ?? th?
xlabel('Thoi gian lien tuc t');
ylabel('Bien do'); %
axis([-10 10 0 1.2]); %
grid on;
0.8
Bien do
0.6
0.4
0.2
0
-10 -8 -6 -4 -2 0 2 4 6 8 10
Thoi gian lien tuc t
clear; % xóa t?t c? các bi?n trong b? nh? Matlab
clf;
t0=input('Nhap vaoo gia tri t0=');
t=-10:0.001:10;
u=heaviside(t-t0);
plot(t,u);
title('Ham buoc nhay don vi u(t)'); % tên tiêu ?? c?a ?? th?
xlabel('Thoi gian lien tuc t');
ylabel('Bien do'); %
axis([-10 10 0 1.2]); %
grid on;
0.8
Bien do
0.6
0.4
0.2
0
-10 -8 -6 -4 -2 0 2 4 6 8 10
Thoi gian lien tuc t
>> syms t
>> int(u,t)
a. Hãy gõ đoạn lệnh trên vào cửa sổ Command Window và ghi lại kết quả.
Kết quả:
>> syms t
>> u=heaviside(t);
>> int(u,t)
Kết quả:
(t*(sign(t) + 1))/2
b. Viết chương trình Matlab mô phỏng hàm dốc đơn vị r(t) với tỉ lệ thời gian như hình
4.2 và vẽ lại đồ thị của hàm này lên hình 4.2.
clear;
t=-10:0.001:10;
r=t.*heaviside(t);
plot(t,r);
title('Ham doc don vi r(t)');
xlabel('Thoi gian lien tuc t');
ylabel('Bien do');
grid on;
Ham doc don vi r(t)
10
6
Bien do
0
-10 -8 -6 -4 -2 0 2 4 6 8 10
Thoi gian lien tuc t
c. Hãy sửa lại chương trình Matlab mô phỏng hàm dốc đơn vị r(t) để thực hiện các yêu
cầu sau đây:
- Thay đổi màu đồ thị thành màu đỏ và đường vẽ là đường chấm chấm.
clear;
t=-10:0.001:10;
t0=input('Nhap vao gia tri t0=');
r=(t+t0).*heaviside(t+t0);
plot(t,r,'r:');
title('Ham doc don vi r(t)');
xlabel('Thoi gian lien tuc t');
ylabel('Bien do');
grid on;
Ham doc don vi r(t)
15
10
Bien do
0
-10 -8 -6 -4 -2 0 2 4 6 8 10
Thoi gian lien tuc t
- Mô phỏng hàm dốc đơn vị r(t – t0), r(t + t0) với t0 được nhập từ bàn phím.
clear;
t=-10:0.001:10;
t0=input('Nhap vao gia tri t0=');
r=(t-t0).*heaviside(t-t0);
plot(t,r);
title('Ham doc don vi r(t)');
xlabel('Thoi gian lien tuc t');
ylabel('Bien do');
grid on;
4.5
3.5
3
Bien do
2.5
1.5
0.5
0
-10 -8 -6 -4 -2 0 2 4 6 8 10
Thoi gian lien tuc t
clear;
t=-10:0.001:10;
t0=input('Nhap vao gia tri t0=');
r=(t+t0).*heaviside(t+t0);
plot(t,r);
title('Ham doc don vi r(t)');
xlabel('Thoi gian lien tuc t');
ylabel('Bien do');
grid on;
Ham doc don vi r(t)
15
10
Bien do
0
-10 -8 -6 -4 -2 0 2 4 6 8 10
Thoi gian lien tuc t
>> syms t
>> u=heaviside(t);
>> diff(u,t)
**Yêu cầu
a. Hãy gõ đoạn lệnh trên vào cửa sổ Command Window và ghi lại kết quả.
b. Viết chương trình Matlab mô phỏng hàm phân bố Delta δ (t ) với tỉ lệ thời gian
như hình 4.3 và vẽ lại đồ thị của hàm này lên hình 4.3.
clear;
t=-10:0.1:10;
delta=dirac(t);
plot(t,delta);
title('Ham xung delta(t)');
xlabel('Thoi gian lien tuc t');
ylabel('bien do');
axis([-10 10 -1.2 1.2]);
grid on;
0.5
bien do
-0.5
-1
-10 -8 -6 -4 -2 0 2 4 6 8 10
Thoi gian lien tuc t
c. Hãy sửa lại chương trình Matlab mô phỏng hàm phân bố Delta δ (t ) để thực hiện
các yêu cầu sau đây:
- Độ rộng của đường thẳng vẽ đồ thị là 2 point
clear;
clf;
t=-10:0.1:10;
k=dirac(t);
plot(t,k,'LineWidth',2);
ylabel('bien do') ;
grid on;
Ham phan bo Delta (t)
1
0.8
0.6
0.4
0.2
bien do
-0.2
-0.4
-0.6
-0.8
-1
-10 -8 -6 -4 -2 0 2 4 6 8 10
Thoi gian lien tuc t
- Mô phỏng hàm phân bố Delta δ (t- t0) , δ (t+t0) với t0 được nhập từ bàn phím.
clf;
t=-10:0.1:10;
k=dirac(t-t0);
plot(t,k);
ylabel('bien do') ;
grid on;
nhập từ bàn phím t=5
0.8
0.6
0.4
0.2
bien do
-0.2
-0.4
-0.6
-0.8
-1
-10 -8 -6 -4 -2 0 2 4 6 8 10
Thoi gian lien tuc (t-t0)
clf;
t=-10:0.1:10;
k=dirac(t+t0);
plot(t,k);
ylabel('bien do') ;
grid on;
0.8
0.6
0.4
0.2
bien do
-0.2
-0.4
-0.6
-0.8
-1
-10 -8 -6 -4 -2 0 2 4 6 8 10
Thoi gian lien tuc (t+t0)
Câu 4.
a. Viết chương trình Matlab mô phỏng tín hiệu xung vuông và xung tam giác cơ bản
trên cùng một đồ thị
clear;
clf;
t=-2:0.001:2;
x=1*rectpuls(t,1);// xung vuông
y=1*tripuls(t,2); // xung tam giác
subplot(2,1,1); //2 hang 1 cot vi tri 1
plot(t,x);
title('ham xung vuong co ban');
xlabel('Thoi gian lien tuc t');
ylabel('bien do');
subplot(2,1,2);
plot(t,y);
title('ham xung tam giac co ban');
xlabel('Thoi gian lien tuc t');
ylabel('bien do');
grid on;
b. Vẽ lại đồ thị của các xung này với tỉ lệ thời gian như hình 4.4
0.5
0
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Thoi gian lien tuc t
ham xung tam giac co ban
1
bien do
0.5
0
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Thoi gian lien tuc t
c.
c. Hãy sửa lại chương trình Matlab trên để mô phỏng tín hiệu xung vuông và xung tam
giác cơ bản cùng dịch chuyển về phía trái 1 đơn vị.
clear;
clf;
t=-2:0.001:2;
subplot(2,1,1);
plot(t,x);
ylabel('bien do');
subplot(2,1,2);
plot(t,y);
ylabel('bien do');
grid on;
0.5
0
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Thoi gian lien tuc t
ham xung tam giac co ban
1
bien do
0.5
0
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Thoi gian lien tuc t
Câu 5.
a. Viết chương trình Matlab mô phỏng hàm Gausse với tỉ lệ thời gian như hình 4.5 và
vẽ lại đồ thị của hàm này lên hình 4.5.
clear;
clf;
t=-5:0.001:5;
x=gaussmf(t,[0.5 0]);
plot(t,x);
grid on;
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
b. Hãy sửa lại chương trình Matlab mô phỏng hàm Gausse để thực hiện các yêu cầu
sau đây:
- Mô phỏng hàm Gausse khi dịch chuyển về phía phải 3 đơn vị và độ rộng xung giảm
còn một nửa.
clear;
clf;
t=-5:0.001:5;
x=gaussmf(t,[0.25 3]);
plot(t,x);
grid on;
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
- Mô phỏng hàm Gausse dịch chuyển về phía phải 2 đơn vị và hàm Gausse dịch
chuyển về phía trái 3 đơn vị trên cùng một đồ thị.
clear;
clf;
t=(-5:0.001:5)';
x1=gaussmf(t,[0.5 2]);
x2=gaussmf(t,[0.5 -3]);
plot(t,[x1 x2]);
grid on;
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-5 -4 -3 -2 -1 0 1 2 3 4 5
Câu 6.
a. Viết một chương trình Matlab để tạo ra tín hiệu điều hòa x(t) = Asin(w0t + φ) và vẽ
tín hiệu này bằng lệnh plot. Các thông số sau đây được nhập từ bàn phím: biên độ
(A), tần số góc (ω0), pha ban đầu (φ).
clear;
clf;
A=input('bien do =');
omega=input('omega = ');
if((omega<0)|(omega>pi)),error('omega khong hop le');
end;
pha=input('pha =');
if((pha<0)|(pha>2*pi)),error('pha khong hop le');
end;
t=-5:0.001:5;
x=A*sin(omega*t+pha);
plot(t,x);
grid on;
2
1.5
0.5
-0.5
-1
-1.5
-2
-5 -4 -3 -2 -1 0 1 2 3 4 5
1.5
0.5
-0.5
-1
-1.5
-2
-5 -4 -3 -2 -1 0 1 2 3 4 5
Lưu ý: Nếu tần số góc và pha ban đầu nhập vào không thỏa mãn điều kiện thì chương
trình sẽ báo lỗi.
b. Hãy ghi lời chú thích vào sau các dấu % cho tất cả các dòng lệnh trong đoạn lệnh
trên.
clear; % xóa tất cả các biến trong bộ nhớ Matlab
end;
end;
x=A*sin(omega*t+pha);
plot(t,x);
grid on;
c. Vẽ lại đồ thị của tín hiệu này lên hình 4.6 với A = 1, ω0 = π và φ = 0
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
-5 -4 -3 -2 -1 0 1 2 3 4 5
Câu 7.
a. Viết một chương trình Matlab dùng các hàm square và sawtooth để tạo ra các dãy
xung vuông, dãy xung răng cưa. Các thông số sau đây có thể thay đổi bởi người
lập trình: tần số (f), biên độ (A).
clear;
clf;
f=input('tan so = ');
A=input('bein do =');
t=-0.05:0.0001:0.05;
x=A*square(2*pi*f*t);
y=A*sawtooth(2*pi*f*t);
subplot(2,1,1);
plot(t,x);
subplot(2,1,2);
plot(t,y);
grid on;
2
-1
-2
-0.05 -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 0.05
-1
-2
-0.05 -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 0.05
b. Hãy ghi lời chú thích vào sau các dấu % cho tất cả các dòng lệnh trong đoạn lệnh
trên.
c. Vẽ lại đồ thị của các dãy xung này lên hình 4.7 với f = 50Hz và A = 1.
1
0.5
-0.5
-1
-0.05 -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 0.05
0.5
-0.5
-1
-0.05 -0.04 -0.03 -0.02 -0.01 0 0.01 0.02 0.03 0.04 0.05
Câu 8.
a. Viết chương trình Matlab mô phỏng tín hiệu có phương trình tổng hợp sau đây:
clear;
clf;
t=-1:0.001:5;
ft=t.*(heaviside(t)-heaviside(t-2))+(6-2*t).*(heaviside(t-2)-heaviside(t-3));
b. Vẽ lại đồ thị của phương trình tổng hợp này lên hình 4.8.
2
1.8
1.6
1.4
1.2
0.8
0.6
0.4
0.2
0
-1 0 1 2 3 4 5