MATLAB ỨNG DỤNG TRONG VIỄN THÔNG - Trang 57

Đồ thị 2D và 3D

46

4.7. HÌNH ÑOÄNG

Trong MATLAB chúng ta có thể tạo ra hình chuyển động bằng cách tạo ra một chuỗi các
hình. Để hiểu cách tạo ra một hình động, phân tích đoạn chương trình sau đây với đồ thị của
hàm f(x) = sin(nx) trong đó x = [0, 2

π] và n = 1, …, 5.

N = 5;

M = moviein(N);

x = linspace (0,2*pi);

for n=1:N

plot (x,cos(n*x),'r-');

xlabel('x-axis')

if n > 1,

ss = strcat('cos(',num2str(n),'x)');

else

ss = 'cos(x)';

end

ylabel(ss)

title('Cosine functions cos(nx)','FontSize',12)

axis

tight

%

giới hạn các trục theo giá trị.

grid

M(:,n) = getframe;

pause(1.8)

end

movie(M)

%

chạy đoạn film.

Các lệnh được tô đậm ở trên là các thành phần chính để tạo nên một đoạn hình chuyển động
trong MATLAB.
Trong đoạn chương trình ở trên, cấu trúc vòng lặp for được sử dụng để tạo ra các khung ảnh
cho đoạn film. Chúng ta sẽ đề cập đến cấu trúc vòng lặp một cách chi tiết hơn ở phần sau.
Lệnh strcat dùng để nối các chuỗi lại với nhau, sử dụng lệnh help strcat để hiểu rõ hơn.
Khi chạy đoạn film, đầu tiên 5 frame được hiển thị và sau đó 5 frame xuất hiện lại với tốc độ
nhanh hơn. Lệnh moviein(M) báo với MATLAB rằng có một đoạn film gồm có M frame sẽ
được tạo ra. Các frame liên tiếp nhau sẽ được tạo ra bên trong vòng lặp. Với lệnh getframe,
các frame sẽ được lưu vào các cột của ma trận M. Lệnh movie(M) sẽ chạy đoạn film vừa tạo.
Lưu ý rằng việc tạo ra đoạn film yêu cầu khá nhiều bộ nhớ, do vậy khi kết thúc công việc nên
clear

M ra khỏi workspace.

#

Bài tập 4-15.

Viết chương trình tạo một đoạn film gồm có 5 frame là bề mặt của hàm f(x; y) =
sin(nx)sin(ny) với x,y = [0; 2

π] và n = 1 : 5. Thêm vào đoạn film tựa đề, miêu tả của các trục.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.