Thứ Năm, 10 tháng 5, 2012

Chương trình Matlab giúp biến đổi hàm truyền liên tục sang rời rac (demo:D)

Vì tính toán biến đổi hàm truyền bằng tay rất lâu nên mình đã thử viết một chương trình Matlab để hỗ trợ việc biến đổi này.
Sử dụng hàm này rất đơn giản. Mọi người down về 1 thư mục rồi chỉnh lại đường dẫn của Matlab đến thư mục ấy.
Khi sử dụng chỉ cần cung cấp cho nó 2 vecto chứa hệ số của tử và mẫu (hệ số đa thức nhỏ dần).

VD    Biến đổi z của hàm truyền có dạng 
          1 
G= -------------- 
       2 
      s  + 10 s

khi đó chỉ cần nhập lệnh:

>> l2z(1,[1 10 0])
chương trình sẽ cho kết quả :

Ham truyen lien tuc: 

      1 
  --------- 
    2 
  s  + 10 s
Ham truyen roi rac: 

         (9 exp(10) + 1) z + exp(10) - 11 
  ------------------------------------------------------------------
                              2 
  100 exp(10) z  + (- 100 exp(10) - 100) z + 100

ở đây không biểu diễn chu kì trích mẫu, vì vậy các bạn phải nhân thêm chu kì trích mẫu T vào trong các hàm exp(). (Mình đã  thử sửa nhưng mãi không được :">)
Nhược điểm lớn nhất của hàm này là nếu đầu vào có dạng số thập phân thì chương trình sẽ tự động chuyển số thập phân đó về dạng phân số rồi tính toán. 
Do đó có thể kết quả sẽ rất dài, tuy nhiên mình thấy đề thầy ra chủ yếu là số chẵn nên hi vọng hàm này sẽ giúp mọi người kiểm tra lại kết quả tính toán bằng tay. 


Click để down chương trình Demo
update thêm chương trình có tính cả trễ. Hướng dẫn có trong ghi chú của file :D
Ver 1.1 :D

Không có nhận xét nào:

Đăng nhận xét