Thực hiện tạo các script file hay function và lưu trữ trên MATLAB.. Biết được các công cụ cơ bản trên MATLAB... Ta Ơũốg Ơó ỗh ơỂốg ồỏỒỗyy đ ƠhỒ gỌẬ ỗổị ỗổẵố haỌ ỗổ Ơ y Ơó kỌ Ộ khẬƠ ốhaỘ
PH N M M MATL AB
KH I Đ NG MATLAB
MATLAB là môi trường lập trình và tính toán kỹ thuật mạnh mẽ, được thiết kế để xử lý ma trận, phân tích dữ liệu và trực quan hóa kết quả một cách nhanh chóng Với hệ sinh thái thư viện và toolbox phong phú, MATLAB hỗ trợ toàn diện cho chu trình phát triển thuật toán từ tiền xử lý dữ liệu, thiết kế và mô phỏng hệ thống cho đến tối ưu hóa và triển khai giải pháp Simulink cung cấp nền tảng mô hình hóa và mô phỏng đồ thị để phân tích động học và điều khiển, trong khi các công cụ machine learning và deep learning tích hợp sẵn giúp xây dựng, thử nghiệm và triển khai các mô hình một cách thuận tiện MATLAB được ứng dụng rộng rãi trong kỹ thuật, khoa học máy tính và giáo dục, giúp người dùng tiết kiệm thời gian, tăng hiệu suất làm việc và trình bày kết quả một cách rõ ràng.
C a s bỌ Ộ ỗ ốg Ơủa Ơh ốg ỗổìốh MATLAB:
Hình 1.1 - C a s kh Ọ đ ốg Ơủa MATLAB
Hình 1.2 – C a s ỏậỐ ộỌ Ơ Ơủa MATLAB x C a s l ốh (Command window):
Trong bài viết này, chúng ta khám phá cách làm việc với MATLAB từ các khái niệm cơ bản đến các kỹ thuật nâng cao, bao gồm cách khai báo và gán biến, thao tác với ma trận và vector, vẽ đồ thị, và chạy các hàm tùy chỉnh Bạn sẽ được hướng dẫn các bước cấu hình môi trường MATLAB, viết script và function, xử lý dữ liệu đầu vào, và cách tối ưu mã để tăng hiệu suất Ngoài ra, bài viết sẽ trình bày các ví dụ thực tế về phân tích dữ liệu, mô phỏng bằng MATLAB và cách debug, cùng với các mẹo tối ưu hóa khi làm việc với bộ nhớ và thời gian tính toán Dù bạn là người mới bắt đầu hay đã có kinh nghiệm, các phần giải thích từng bước và các đoạn mã mẫu sẽ giúp bạn nắm vững các khái niệm từ cơ bản đến ứng dụng chuyên sâu, giúp quá trình học MATLAB trở nên hiệu quả và thuận tiện hơn.
Hình 1.3 – C a s ƯơỌỗ đ sỒ ố sƠổỌồỗ ưỌỏƯ hay ưỘốƠỗỌỒố
Danh sách các file hỌ ố Ơó ỗổỒốg ỗh Ố Ơ hỌ ố hậốh
Workspace: các bỌ ố ỗổỒốg b ốh
CẬƠ ỏ ốh đử ỗh Ơ hỌ ố Nềỗ Sỗaổỗ: Ơhứa các toolbox
SaỘ đó ốh ồ ộậỒ đỒ ố Ơh ốg ỗổìốh saỘ:
% Chuong trinh trong M-file x= 0:pi/6:2*pi; y=sin(x); plot(x,y);
L Ộ Ơh ốg ỗổìốh ộ Ọ ỗẵố ưỌỏƯ plot_sin.m bằốg ƠẬƠh ốh ố Cỗổỏ+S hay ốh ố ộậỒ bỌ Ộ ỗ ốg SaộƯ
GỌ Ọ ỗhặƠh đỒ ố Ơh ốg ỗổìốh ỗổẵố: Dẽốg 1 ỏậ ơẽốg Ơhề ỗhặƠh, ƠẬƠ ƠhỘ Ọ ồhặa saỘ ơ Ộ
Trong bài viết này, có hai định nghĩa quan trọng được làm rõ để người đọc có thể nắm bắt nhanh khái niệm và áp dụng vào bài toán thực tế Định nghĩa thứ nhất giới thiệu cách xác định các tham số và mốc biến, trong khi định nghĩa thứ hai phân tích cách chuyển đổi dữ liệu thành các giá trị có ý nghĩa Tiếp theo, bài toán cho thấy một công thức cụ thể, ví dụ y = f(x), và các bước để thực hiện tính toán từ đầu vào đến đầu ra Cuối cùng, bạn sẽ nhận được kết quả và các lưu ý quan trọng khi áp dụng định nghĩa và công thức này vào các tình huống thực tế.
Th Ơ ỗhỌ Ơh ốg ỗổìốh ỗổẵố ỗổỒốg CỒỐỐaốơ ỚỌốơỒỚ bằốg ơẽốg ỏ ốh saỘ:
Trong bài viết này, chúng ta khám phá cách tối ưu hóa không gian làm việc để tăng năng suất và sức khỏe tinh thần người dùng Case Workspace Bố trí bàn làm việc hợp lý, ánh sáng tự nhiên và thông gió tốt là nền tảng giúp cải thiện sự tập trung và giảm thiểu mệt mỏi, đồng thời tiết kiệm thời gian tìm kiếm tài liệu Thiết kế Case Workspace tập trung vào luồng công việc rõ ràng và phân bổ các khu vực chức năng một cách hợp lý, đồng thời tích hợp công cụ hợp tác để đẩy mạnh giao tiếp và làm việc nhóm hiệu quả Các nguyên tắc cốt lõi gồm sắp xếp theo chức năng, tối ưu hóa dòng công việc từ khởi tạo đến hoàn tất và chọn nội thất cùng công nghệ phù hợp với nhu cầu người dùng Thực tiễn có thể triển khai bằng cách sử dụng ghế Ergonomic, ánh sáng chất lượng cao, hệ thống lưu trữ thông minh và công cụ quản lý dự án giúp tăng tốc độ làm việc, giảm căng thẳng và nâng cao chất lượng đầu ra Để tăng khả năng hiển thị trên công cụ tìm kiếm, bài viết nhấn mạnh từ khóa tối ưu không gian làm việc, Case Workspace, quản lý dự án và thiết kế văn phòng hiện đại, đồng thời trình bày nội dung rõ ràng, dễ đọc và có cấu trúc hợp lý.
Trong bài viết này, chúng tôi trình bày cách làm việc hiệu quả với phần mềm bằng hai thao tác căn bản: nhấn nút Start để khởi động quy trình và nhấn nút Exit để kết thúc một cách an toàn Bài viết từ thiết lập ban đầu, cách theo dõi tiến trình đến cách chỉnh sửa và lưu trữ kết quả một cách có hệ thống, đồng thời đưa ra các trường hợp thực tế để minh họa Đồng thời nêu rõ các lưu ý về tối ưu hóa hiệu suất, quản lý trạng thái và xử lý lỗi để người dùng có thể vận hành phần mềm một cách trơn tru và hiệu quả trong môi trường làm việc.
Lậ Ơ a s ơỂốg đ sỒ ố ỗh Ồ Ơh ốg ỗổìốh ứốg ơ ốg, đ Ơ kh Ọ đ ốg bằốg ỏ ốh ƯơỌỗ ỗổỒốg CỒỐỐaốơ WỌốơỒỚ Ch ốg ỗổìốh sỒ ố ỗh Ồ ỗổỒốg Ơ a s ƯơỌỗ Ơó 2 ơ ốg:
+ D ốg SƠổỌồỗ ưỌỏƯ : ỗ ồ h ồ ƠẬƠ ƠừỘ ỏ ốh ộỌ ỗ ơ Ọ ơ ốg ỏỌ ỗ kẵ, khẾốg Ơó bỌ ố ơ ỏỌ Ộ ộậỒ ộậ bỌ ố ổa
+ D ốg ưỘốƠỗỌỒố: Ơó bỌ ố ơ ỏỌ Ộ ộậỒ ộậ bỌ ố ổa.
CÁC V N Đ C B N
1.2.1 CứƠ ồhỰồ tỒứố ộậ tỒứố t
Các phép toán: + , - , * , / , \ (ƠhỌa ỗổẬỌ) , ^ (Ốũ) , ‘ (ƠhỘy ố ộị hay s ồhứƠ ỏỌẵố hỌ ồ)
CẬƠ ỗỒẬố ỗ ỔỘaố h : < , , >= , == , ẤCẬƠ ỗỒẬố ỗ ỏỒgỌƠ : & , ở (Ồổ) , Ấ (ốỒỗ)
Hình 1.5 – Nút Start i, j s Ồ eps saỌ s 2 -52 realmin s ỗh Ơ ốh ốh ỗ 2 -1022 realmax s ỗh Ơ ỏ ố ốh ỗ 2 1023 inf vô ƠỂốg ỏ ố
+ CứƠ l ốh k t thềƠ bằốg ơ Ộ Ơh Ố ồh Ờ, MATLAB s khẾốg th hỌ ố k t ỔỘ trên màn hình
+ CứƠ Ơhề thặƠh đ Ơ đ t ồhặa saỘ ơ Ộ %
+ TổỒốg ỔỘứ tổìốh ốh ồ ố Ộ ƠứƠ ồh ố t tổẵố Ố t hậốg ơậỌ ỔỘứ ta Ơó th ớỘ ốg ơẽốg bằốg tỒứố t ba Ơh Ố ( .)
- Phừố bỌ ỗ Ơh hỒa ộậ Ơh ỗh ốg
- KhẾốg Ơ ố ồh Ọ khaỌ bẬỒ kỌ Ộ bỌ ố
- Tẵố bỌ ố ồh Ọ bắỗ đ Ộ bằốg ký ỗ ộậ khẾốg đ Ơ Ơó khỒ ốg ỗổắốg
- KhẾốg đ ỗ ỗẵố ỗổỂốg ộ Ọ ƠẬƠ ỗẵố đ Ơ bỌ ỗ Ơủa MATLAB
- Đ khaỌ bẬỒ bỌ ố ỗỒậố Ơ Ơ (s ơ ốg đ Ơ ỗổỒốg ỗ ỗ Ơ Ơh ốg ỗổìốh ƠỒố), ồh Ọ ơỂốg ỗhẵỐ ỗ khỒẬ global ồhặa ỗổ Ơ
1.2.3 CứƠ l ốh th ốg ơỂốg
>>help tên_hàm % tham khảo help của hàm
>>lookfor ‘chuỗi’ %Tìm kiếm chuỗi
Ví dụ: >>lookfor ‘filter’ % Tìm các hàm có liên quan đến mạch lọc
>>clear tên_biến % Xoá biến
>>clear all %Xoá tất cả các biến
>>save % Lưu các biến hiện có trong bộ nhớ
>>load % Lấy nội dung các biến đã lưu
>>who % liệt kê các biến trong bộ nhớ
>>whos % liệt kê chi tiết các biến trong bộ nhớ
>>which % Xác định vị trí của hàm hay file
Ví dụ: >>which plot %Xác định vị trí của hàm plot
>>what % Liệt kê các file có trong một thư mục
L P TRÌNH TRONG MATLAB
1.3.1 CứƠ ồhứt bỌ Ộ đỌ Ộ kỌ ố Ọư, ƯlsƯ, ƯlsƯỌư
Cề ồhẬồ Ơủa Ọư: if
N Ộ ƠhỒ k ỗ ỔỘ đềốg ỗhì ồh ố ỏ ốh ỗổỒốg ỗhừố Ơủa Ọư đ Ơ ỗh Ơ hỌ ố CẬƠ ồhẬỗ bỌ Ộ ƯỏsƯ ộậ ƯỏsƯỌư Ơũốg ỗ ốg ỗ
Cề ồhẬồ Ơủa sỚỌỗƠh ốh saỘ: switch case n1
Vẽốg ỏ ồ ỚhỌỏƯ ơỂốg khỌ khẾốg bỌ ỗ ỗổ Ơ s ỏ ố ỏ ồ Cề ồhẬồ Ơủa ốó ốh saỘ: while
Vẽốg ỏ ồ ưỒổ ơỂốg khỌ bỌ ỗ ỗổ Ơ s ỏ ố ỏ ồ Cề ồhẬồ ốh saỘ: for =::
PhẬỗ bỌ Ộ bổƯak đ k ỗ ỗhềƠ ộẽốg ỏ ồ ưỒổ hay ỚhỌỏƯ Ốậ khẾốg ỔỘaố ỗừỐ đ ố đỌ Ộ kỌ ố k ỗ ỗhềƠ ộẽốg ỏ ồ đử ỗhỒ Ốửố hay Ơh a.
MA TR N
1.4.1 CứƠ thaỒ tứƠ tổẵố Ốa tổ ố
Ma ỗổ ố ỏậ Ố ỗ Ố ốg Ơó Ố hậốg ộậ ố Ơ ỗ Tổ ốg h ồ Ốa ỗổ ố Ơhỉ Ơó Ố ỗ ồh ố ỗ (Ốa ỗổ ố 1ớ1) ỗa Ơó Ố ỗ s Ma ỗổ ố Ơhỉ Ơó Ố ỗ Ơ ỗ hay Ố ỗ hậốg đ Ơ g Ọ ỏậ Ố ỗ ộƯƠỗỒổ
Ta Ơó ỗh ốh ồ Ốa ỗổ ố ộậỒ MATLAB bằốg ốhỌ Ộ ƠẬƠh:
• Nh ồ Ố ỗ ơaốh sẬƠh ƠẬƠ ồh ố ỗ ỗ bậố ồhặỐ
• T Ồ Ốa ỗổ ố ốh ƠẬƠ hậỐ Ơó s ố ỗổỒốg MATLAB
KhỌ ốh ồ Ốa ỗổ ố ỗ bậố ồhặỐ ỗa ồh Ọ ỗỘừố ỗhƯỒ ƠẬƠ ỔỘy địốh saỘ:
• Ngăố ƠẬƠh ƠẬƠ ồh ố ỗ Ơủa Ốa ỗổ ố bằốg ơ Ộ “,” hay khỒ ốg ỗổắốg
• BaỒ ƠẬƠ ồh ố ỗ Ơủa Ốa ỗổ ố bằốg Ơ ồ ơ Ộ ốgỒ Ơ ộỘẾốg [ ]
Bài viết này làm rõ các yếu tố then chốt để tạo nội dung chất lượng, vừa hữu ích với người đọc vừa tối ưu cho công cụ tìm kiếm Nội dung tập trung vào nghiên cứu từ khóa, bố cục bài viết, cách tối ưu tiêu đề và thẻ meta, cũng như xây dựng cấu trúc rõ ràng giúp người đọc dễ tiếp cận và tăng thời gian ở trang Quy trình biên tập được trình bày theo các bước: xác định mục tiêu, phân tích từ khóa, viết nội dung có giá trị, tối ưu tiêu đề, tối ưu mô tả và liên kết nội bộ, rồi đo lường hiệu quả bằng các công cụ phân tích Nhờ áp dụng chu trình này, bạn có thể tăng khả năng hiển thị trên SERP, cải thiện tỉ lệ nhấp chuột và chuyển đổi, đồng thời duy trì tính chuẩn xác và nhất quán ở mọi bài đăng.
Nh ộ y ộỌ ỗ A(8) Ơó ốghĩa ỏậ ỗhaỐ ƠhỌ Ộ ồh ố ỗ A(4, 2) (ố Ộ Ốa ỗổ ố Ơó 4 hậốg)
L Ộ ý ổằốg ƠẬƠ Ơhỉ s Ơủa Ốa ỗổ ố ỗh ốg bắỗ đ Ộ ỗ 1
TỒẬố ỗ “:” ỏậ Ố ỗ ỗỒẬố ỗ ỔỘaố ỗổ ốg Ơủa MATLAB Nó ớỘ ỗ hỌ ố ốhỌ Ộ ơ ốg khẬƠ ốhaỘ BỌ Ộ ỗhứƠ 1:10 ỏậ Ố ỗ ộƯƠỗỒổ hậốg Ơhứa 10 s ốgỘyẵố ỗ 1 đ ố 10
>>100:‐7:50 %tạo dãy số từ 100 đến 51, cách đều nhau 7
>>0: pi/4: pi %tạo một dãy số từ 0 đến S, cách đều nhau S/4
CẬƠ bỌ Ộ ỗhứƠ Ơhỉ s Ơó ỗh ỗhaỐ ƠhỌ Ộ ỗ Ọ Ố ỗ ồh ố Ơủa Ốa ỗổ ố A(1:k,ọ) ớẬƠ địốh k ồh ố ỗ đ Ộ ỗỌẵố Ơủa Ơ ỗ ọ NgỒậỌ ổa ỗỒẬố ỗ “:” ỗhaỐ ƠhỌ Ộ ỗ Ọ ỗ ỗ Ơ ƠẬƠ ồh ố ỗ Ơủa Ố ỗ hậốg hay Ố ỗ Ơ ỗ
>>B = A(:, [1 3 2 4]) %tạo ma trận B từ ma trận A bằng cách đổi thứ tự các cột từ [1 2 3 4] thành [1 3 2 4]
1.4.1.4 T Ồ Ốa tổ ố bằốg hậỐ Ơó s ố
MATLAB ƠỘốg Ơ ồ Ố ỗ s hậỐ đ ỗ Ồ ƠẬƠ Ốa ỗổ ố Ơ b ố:
- zeros ỗ Ồ ổa Ốa ỗổ ố Ốậ ƠẬƠ ồh ố ỗ đ Ộ ỏậ 0
- ones ỗ Ồ ổa Ốa ỗổ ố Ốậ ƠẬƠ ồh ố ỗ đ Ộ ỏậ 1
- rand ỗ Ồ ổa Ốa ỗổ ố Ốậ ƠẬƠ ồh ố ỗ ốg Ộ ốhỌẵố ồhừố b đ Ộ
- randn ỗ Ồ ổa Ốa ỗổ ố Ốậ ƠẬƠ ồh ố ỗ ốg Ộ ốhỌẵố ồhừố b ƠhỘ ố
- magic(n) ỗ Ồ ổa Ốa ỗổ ố Ơ ồ ố g Ố ƠẬƠ s ốgỘyẵố ỗ 1 đ ố ố 2 ộ Ọ ỗ ốg ƠẬƠ hậốg bằốg ỗ ốg ƠẬƠ Ơ ỗ ộậ bằốg ỗ ốg ƠẬƠ đ ốg ƠhỰỒ (ố t 3)
- pascal(n) ỗ Ồ ổa ỗaỐ gỌẬƠ PasƠaỏ
- eye(m,n) ỗ Ồ Ốa ỗổ ố đ ố ộị Ố ổ ốg
Ta Ơó ỗh ố Ọ ƠẬƠ Ốa ỗổ ố Ơó s ố ỗhậốh Ố ỗ Ốa ỗổ ố Ố Ọ Vặ ơ :
Ta Ơó ỗh ớỒẬ hậốg ộậ Ơ ỗ ỗ Ốa ỗổ ố bằốg ơỂốg ơ Ộ []
>>b(1:2:5) = []; % xoá các phần tử bắt đầu từ 1 đến 5 và cách 2 (1,3,5) rồi sắp xếp lại ma trận.
1.4.1.7 CứƠ l ốh ớ lý Ốa tổ ố
X = A.*B ốhừố ƠẬƠ ồh ố ỗ ỗ ốg ứốg ộ Ọ ốhaỘ, yẵỘ Ơ Ộ 2 Ốa ỗổ ố A ộậ B ồh Ọ Ơó ƠỂốg kặƠh ỗh Ơ
X=A./B ƠhỌa ƠẬƠ ồh ố ỗ ỗ ốg ứốg ộ Ọ ốhaỘ, 2 Ốa ỗổ ố A ộậ B Ơó ƠỂốg kặƠh ỗh Ơ LỘỹ ỗh a : X = A^2
Trong bài viết này, chúng ta tìm hiểu cách xử lý các phép biến đổi ma trận trong MATLAB, với một ví dụ điển hình là ma trận A kích thước 4 hàng và 4 cột Bài viết trình bày cách xác định X từ A bằng phép nghịch đảo ma trận X = inv(A) hoặc bằng cách giải hệ tuyến tính tương ứng, đồng thời giới thiệu những hàm MATLAB phù hợp như inv() và solve() để thu được nghiệm một cách nhanh chóng và chính xác Đồng thời nêu rõ điều kiện tồn tại nghịch đảo và cách diễn giải kết quả trong ngữ cảnh ứng dụng thực tế Ví dụ minh họa 4x4 đi kèm sẽ giúp người đọc áp dụng ngay vào bài toán thực tế, từ đó nắm được kiến thức cơ bản về ma trận và các phép biến đổi trong MATLAB.
>> size(A) Đ ỗổỘy ớỘ ỗ đ ố ỗ ốg ồh ố ỗ Ơủa Ốa ỗổ ố ỗa ơỂốg Ơhỉ s ồh ố ỗ ỗ ốg ứốg Vặ ơ , ồh ố ỗ hậốg ỗhứ 2, Ơ ỗ ỗhứ 3 Ơủa A ỏậ A(2,3)
Bài 1.1 ChỒ Ốa ỗổ ố A = [2 4 1; 6 7 2; 3 5 9], sỌốh ộỌẵố ơỂốg ƠẬƠ ỏ ốh Ơ ố ỗhỌ ỗ đ : a L y ơẽốg đ Ộ ỗỌẵố Ơủa Ốa ỗổ ố A b T Ồ Ốa ỗổ ố B bằốg 2 ơẽốg ƠỘ Ọ ƠỂốg Ơủa A Ơ Tặốh ỗ ốg ƠẬƠ ồh ố ỗ ỗổẵố ƠẬƠ Ơ ỗ Ơủa A (g Ọ ý: ỗặốh ỗ ốg ƠẬƠ ồh ố ỗ ỗổẵố Ơ ỗ 1: sum(A(:,1))) ơ Tặốh ỗ ốg ƠẬƠ ồh ố ỗ ỗổẵố ƠẬƠ ơẽốg Ơủa A
Bài 1.2 ChỒ Ốa ỗổ ố A = [2 7 9 7; 3 1 5 6; 8 1 2 5], sỌốh ộỌẵố gỌ Ọ ỗhặƠh k ỗ ỔỘ Ơủa ƠẬƠ ỏ ốh saỘ: a A' b A(:,[1 4]) c A([2 3],[3 1]) d reshape(A,2,6) e A(:) f [A;A(end,:)] g A(1:3,:) h [A ; A(1:2,:)] i sum(A) j sum(A') k [ [ A ; sum(A) ] [ sum(A,2) ; sum(A(:)) ] ]
Bài 1.3 GỌ Ọ h ồh ốg ỗổìốh saỘ:
VƯƠỗỒổ ỗh Ơ Ơh ỗ ỏậ Ốa ỗổ ố Ơó kặƠh ỗh Ơ ố ớ 1 hay 1 ớ ố, ốẵố ỗa Ơó ỗh ỗ Ồ ổa ộƯƠỗỒổ ốh ƠẬƠh ỗ Ồ ổa Ốa ỗổ ố NgỒậỌ ổa, Ơó ỗh ơỂốg Ố ỗ s ƠẬƠh saỘ:
>>y=linspace(1, 10, 20) % vector 20 phan tu cach deu nhau tu 1 den 10
>>z=rand(10,1) ; tạo 10 số ngẫu nhiên phân bố đều
Bài 1.5 ChỒ ộƯƠỗỒổ ớ = [3 1 5 7 9 2 6], gỌ Ọ ỗhặƠh k ỗ ỔỘ Ơủa ƠẬƠ ỏ ốh saỘ: a x(3) b x(1:7) c x(1:end) d x(1:end-1) e x(6:-2:1) f x([1 6 2 1 1]) g sum(x)
Bài 1.6 T Ồ Ố ỗ ộƯƠỗỒổ ớ Ơó 100 ồh ố ỗ , saỒ ƠhỒ: ớ(ố) = (-1) n+1 /(2n+1) ộ Ọ ố = 0 – 99
CẬƠ đa ỗhứƠ ỗổỒốg MATLAB đ Ơ ỐẾ ỗ bằốg ƠẬƠ ộƯƠỗỒổ hậốg ộ Ọ ƠẬƠ ồh ố ỗ Ơủa ộƯƠỗỒổ Ơhặốh ỏậ ƠẬƠ h s Ơủa đa ỗhứƠ, ớ ồ ỗhƯỒ ỗhứ ỗ s Ốũ gỌ Ố ơ ố Vặ ơ , đa ỗhứƠ Ố
>>m=[1 -1 4 -5 -1] Đ ớẬƠ địốh gỌẬ ỗổị Ơủa đa ỗhứƠ, ỗa ơỂốg hàm polyval Ví d , ớẬƠ địốh gỌẬ ỗổị Ơủa đa ỗhứƠ ỗ Ọ đỌ Ố s=2:
>>polyval(m,2) Đ ớẬƠ địốh ốghỌ Ố Ơủa đa ỗhứƠ, ỗa ơỂốg hàm roots Vặ ơ :
Bài 1.7 ChỒ ồh ốg ỗổìốh ax 2 +bx+c=0, gỌ Ọ ồh ốg ỗổìốh ơỂốg hậỐ roots
>>x=roots(m) Thay đ Ọ ƠẬƠ gỌẬ ỗổị khẬƠ ốhaỘ Ơủa a, b ộậ Ơ ỗ ốg ứốg ỗổỒốg 2 ƠẬƠh gỌ Ọ ỗổẵố
Bài 1.8 GỌ Ọ ồh ốg ỗổìốh ớ 3 - 2x 2 +4ớ+5=0 KỌ Ố Ơhứốg k ỗ ỔỘ ỗhỘ đ Ơ bằốg hậỐ polyval SỌốh ộỌẵố Ơó ốh ố ớỰỗ gì ộ k ỗ ỔỘ kỌ Ố Ơhứốg
Bài 1.9 L ồ ỏ Ọ bài 1.8 ƠhỒ ồh ốg ỗổìốh ớ 7 -2=0.
Đ HO
MATLAB hỗ trợ nhiều loại đồ thị nhằm trực quan hóa dữ liệu, nổi bật với plot để vẽ đồ thị 2-D, plot3 cho đồ thị 3-D và các chế độ thang log như loglog (trục x và trục y đều có thang log), semilogx (trục x có thang log) và semilogy (trục y có thang log) Bạn có thể dùng plot(x,y) cho đồ thị 2-D và plot3(x,y,z) cho đồ thị 3-D, tương ứng với các hàm loglog(x,y), semilogx(x,y) và semilogy(x,y) để xử lý dữ liệu có thang đo khác nhau Các loại đồ thị MATLAB này cho phép so sánh xu hướng, tăng trưởng và sự khác biệt giữa các tập dữ liệu một cách trực quan và hiệu quả cho người đọc.
Hàm plot Ơó ƠẬƠ ơ ốg khẬƠ ốhaỘ ồh ỗhỘ Ơ ộậỒ ƠẬƠ đ Ọ s đ a ộậỒ Vặ ơ ố Ộ y ỏậ Ố ỗ ộƯƠỗỒổ ỗhì ồỏỒỗ(y) ỗ Ồ ổa Ố ỗ đ ốg ỔỘaố h gỌ a ƠẬƠ gỌẬ ỗổị Ơủa y ộậ Ơhỉ s Ơủa ốó
N Ộ ỗa Ơó 2 ộƯƠỗỒổ ớ ộậ y ỗhì ồỏỒỗ(ớ,y) ỗ Ồ ổa đ ỗhị ỔỘaố h gỌ a ớ ộậ y
>>plot(t,y); % Vẽ hình sin từ 0->2S
Ta Ơó ỗh ơỂốg ƠẬƠ kỌ Ộ đ ốg ộ khẬƠ ốhaỘ khỌ ộ hìốh
>>plot(t,y,’.‘) % vẽ bằng đường chấm chấm Đ ớẬƠ địốh ỐậỘ ộậ kặƠh ỗh Ơ đ ốg ộ , ỗa ơỂốg ƠẬƠ ỗhaỐ s saỘ:
LineWidth : đ ổ ốg đ ốg ỗhẳốg, ỗặốh bằốg s đỌ Ố
MarkerEdgeColor : ỐậỘ Ơủa ƠẬƠ Ơ ốh Ơủa kh Ọ đẬốh ơ Ộ
MarkerFaceColor : ỐậỘ Ơủa kh Ọ đẬốh ơ Ộ
MarkerSize : kặƠh ỗh Ơ Ơủa kh Ọ đẬốh ơ Ộ
MậỘ đ Ơ ớẬƠ địốh bằốg ƠẬƠ ỗhaỐ s : r: red m magenta g: green y: yellow b: blue k: black c: cyan w: white
CẬƠ ơ ốg đ ốg ỗhẳốg ớẬƠ địốh bằốg:
- đ ốg ỏỌ ố đ ốg đứỗ ốỰỗ
: đ ốg Ơh Ố Ơh Ố - đ ốg Ơh Ố g Ơh
CẬƠ ơ ốg đỌ Ố đẬốh ơ Ộ ớẬƠ địốh bằốg:
+ ơ Ộ Ơ ốg đỌ Ố o vòng tròn x Ơh ỗh ồ * ơ Ộ saỒ s hình vuông d h ỗ kỌỐ Ơ ốg v ỗaỐ gỌẬƠ h ốg ớỘ ốg
^ ỗaỐ gỌẬƠ h ốg ỏẵố < tam giác sang trái
> ỗaỐ gỌẬƠ saốg ồh Ọ h ỏ Ơ gỌẬƠ p ốgũ gỌẬƠ
>>plot(x,y,ʹ‐‐rs’,ʹLineWidthʹ,2,ʹMarkerEdgeColorʹ,ʹkʹ, ʹMarkerFaceColorʹ,ʹgʹ,ʹMarkerSizeʹ,10) Đ ộ haỌ hậỐ ỗổẵố ƠỂốg Ố ỗ đ ỗhị, ỗa ơỂốg ỏ ốh:
Hàm plotyy ƠhỒ ồhỰồ ỗ Ồ Ố ỗ đ ỗhị Ơó haỌ ỗổ Ơ y Ta Ơũốg Ơó ỗh ơỂốg ồỏỒỗyy đ ƠhỒ gỌẬ ỗổị ỗổẵố haỌ ỗổ Ơ y Ơó kỌ Ộ khẬƠ ốhaỘ ốhằỐ ỗỌ ố sỒ sẬốh
>>[haxes, hline1, hline2] = plotyy(t,z1,t,z2,ʹsemilogyʹ,ʹplotʹ);
N Ộ ớ, y, ờ ỏậ 3 ộƯƠỗỒổ Ơó ƠỂốg đ ơậỌ ỗhì ồỏỒỗ3 s ộ đ ốg ƠỒốg 3D
Dùng hàm subplot đ ộ ốhỌ Ộ ỗổ Ơ ỗỒ đ
>>subplot(2,3,5) %2,3: xác định có 2 hàng, 3 cột
% 5: chọn trục thứ 5 (đếm từ trái sang phải, trên xuống dưới)
>>title(‘Ham y = $${sin \pi x \over \pi x}$$','interpreter','latex');
Trong MATLAB, để quản lý trục đồ thị, ta dùng axis để thiết lập giới hạn trục hoặc cho phép tự động điều chỉnh, ví dụ axis([xmin xmax ymin ymax]) Để chỉnh sửa và đọc các thuộc tính của trục, ta có thể dùng get và set hoặc truy cập nhanh qua gca (get current axis) để lấy handle của trục hiện tại và thay đổi các đặc tính như XLim, YLim, FontSize, LineWidth, XColor, YColor hoặc TickLength Các thuộc tính của axes như DataAspectRatio và PlotBoxAspectRatio cho phép điều chỉnh tỉ lệ và hình dạng đồ thị Nói ngắn gọn, axis điều chỉnh phạm vi và hành vi của trục; get/set và gca cung cấp cách tiếp cận linh hoạt để cấu hình các thuộc tính của axes theo yêu cầu hiển thị và tối ưu hóa SEO từ khóa liên quan đến MATLAB.
1.5.7.1 GỌ Ọ h ố Ơ a tổ Ơ ộậ ƠhỌa ộ Ơh tổẵố tổ Ơ
Trong MATLAB, việc kiểm soát khung nhìn của đồ thị rất quan trọng để làm nổi bật dữ liệu Bạn có thể thiết lập giới hạn cho trục x và trục y bằng hàm axis với cú pháp axis([xmin xmax ymin ymax]) Ví dụ axis([0 100 -20 20]) giới hạn trục x từ 0 đến 100 và trục y từ -20 đến 20, giúp tập trung vào các khu vực quan tâm và dễ so sánh các mẫu dữ liệu Việc thiết lập giới hạn trục này áp dụng cho mọi đồ thị, hỗ trợ phân tích trực quan và truyền tải nội dung một cách rõ ràng trong các bài viết về MATLAB và axis.
MATLAB chỌa ộ Ơh ỗổẵố ỗổ Ơ ơ a ỗổẵố ồh Ố ộỌ ơ ỏỌ Ộ ộậ ƠhỌa đ Ộ Ta Ơó ỗh ỐẾ ỗ ƠẬƠh ƠhỌa ốh ỗhẾốg s ớỗỌƠk ộậ yỗỌƠk bằốg Ố ỗ ộƯƠỗỒổ ỗăốg ơ ố
>>set(gca,ʹxtickʹ,‐pi:pi/2:p);
>>set(gca,ʹxticklabelʹ,{ʹ‐piʹ,ʹ‐pi/2ʹ,ʹ0ʹ,ʹpi/2ʹ,ʹpiʹ})
1.5.7.2 GhỌ ốhửố lẵố ƠứƠ tổ Ơ tỒ đ
To create and annotate a plot in MATLAB, start by setting the title to convey the overall message, then label the axes with xlabel for the x-axis, ylabel for the y-axis, and zlabel for the z-axis Add a legend to distinguish data series, and place annotations using text for precise, position-specific notes or gtext for interactive clicking These elements together make your figure informative and accessible, suitable for reports or blog posts, with clear labeling and descriptive captions that improve reader understanding and search visibility.
>>title(ʹ\it{Gia tri cua sin tu zero đến 2 pi}ʹ,ʹFontsizeʹ,16)
Ta có ỗh ỗhẵỐ ộăố b ố ộậỒ b ỗ kỳ Ơh ốậỒ ỗổẵố hìốh ộ ốh hậỐ ỗƯớỗ
>>text(3*pi/4,sin(3*pi/4),ʹ\leftarrowsin(t)=0.707ʹ,ʹFontSizeʹ,1
Ta Ơó ỗh s ơ ốg đ Ọ ỗ ốg ộăố b ố đ ghỌ Ơhề ƠẬƠ ỗổ Ơ ộị ỗổặ b ỗ kỳ MATLAB địốh ộị ộăố b ố ỗhƯỒ đ ố ộị ơ ỏỌ Ộ ỗổẵố ỗổ Ơ Vặ ơ đ ộ hậỐ y = AƯ D t ộ Ọ A = 0.25, ỗ = 0 đ ố 900 ộậ D= 0.005:
>>plot(t,0.25*exp(‐0.005*t)) Đ ỗhẵỐ ghỌ Ơhề ỗ Ọ đỌ Ố ỗ = 300, ỗa ộỌ ỗ:
’\bullet\leftarrow\fontname{times}0.25{\ite}^(‐0.005{\itt}} at,
{\itt}00’,ʹFontSize’,14) ThaỐ s HỒổỌờỒốỗaỏAỏỌgốỐƯốỗ ộậ VƯổỗỌƠaỏAỏỌgốỐƯốỗ địốh ộị ộăố b ố sỒ ộ Ọ ƠẬƠ ỗỒ đ ớ, y, ờ đử ƠhỒ Đ ỗhẵỐ ƠẬƠ ký ỗ đ Ơ bỌ ỗ, ỗa ơỂốg ưỒổỐaỗ ơ ốg TƯớ:
\sl — Oblique font (rarely available)
CẬƠ Ơhỉ s ỗổẵố ộậ ơ Ọ ỗh Ơ hỌ ố bằốg ^ ộậ _
>>title('\ite^{i\omega_0\tau} = cos(\omega_0\tau) + i sin(\omega_0\tau)')
K ỗ ỔỘ : � �� � = cos � � + ���� � � Đ ỗhẵỐ ƠẬƠ ƠẾốg ỗhứƠ ỗỒẬố h Ơ, ỗa ơỂốg ơ ốg LaTƯX M ỗ s ộặ ơ :
['$$\hbox {magic(3) is } \left( {\matrix{ 8 & 1 & 6 \cr' '3 & 5 & 7 \cr 4 & 9 & 2 } } \right)$$']);
['$$\left[ {\matrix{\cos(\phi) & -\sin(\phi) \cr'
'\sin(\phi) & \cos(\phi) \cr}} \right]'
'$$\int_{0}^{\infty} x^2 e^{-x^2} dx \frac{\sqrt{\pi}}{4}$$');
CẬƠ khaỌ bẬỒ Ơ ỗh ỗhaỐ kh Ồ ỗ Ọ: hỗỗồ://ỚỚỚ.ỏaỗƯớ-project.org/
1.5.8.1 Kh Ọ ộậ vùng Đ hỒ kh Ọ ộậ ộỂốg bỌ Ộ ơỌ ố s ỏỌ Ộ ỏậ ộƯƠỗỒổ hay Ốa ỗổ ố MATLAB ƠỘốg Ơ ồ ƠẬƠ hậỐ đ hỒ kh Ọ ộậ ộỂốg: bar hỌ ố ỗhị ƠẬƠ Ơ ỗ Ơủa Ốa ỗổ ố Ố*ố ốh ỏậ Ố ốhóỐ, Ố Ọ ốhóỐ Ơó ố baổ barh hỌ ố ỗhị ƠẬƠ Ơ ỗ Ơủa Ốa ỗổ ố Ố*ố ốh ỏậ Ố ốhóỐ, Ố Ọ ốhóỐ Ơó ố baổ ốằỐ ngang bar3 hỌ ố ỗhị ƠẬƠ Ơ ỗ Ơủa Ốa ỗổ ố Ố*ố ốh ỏậ Ố ốhóỐ, Ố Ọ ốhóỐ Ơó ố baổ ơ ốg 3D bar3h hỌ ố ỗhị ƠẬƠ Ơ ỗ Ơủa Ốa ỗổ ố Ố*ố ốh ỏậ Ố ốhóỐ, Ố Ọ ốhóỐ Ơó ố baổ ơ ốg 3D ốằỐ ốgaốg
M Ơ địốh, Ố Ọ ồh ố ỗ Ơủa Ốa ỗổ ố đ Ơ bỌ Ộ ơỌ ố bằốg Ố ỗ baổ
>>bar(y) SaỘ đó ốh ồ ỏ ốh bar3(y) ỗa Ơó đ ỗhị 3D
Ta Ơó ỗh ớ ồ Ơh ốg s ỏỌ Ộ ỗổẵố đ ỗhị ỗhaốh bằốg ƠẬƠh ỗ Ồ ổa Ố ỗ ỗổ Ơ khẬƠ ỗổẵố ƠỂốg Ố ỗ ộị ỗổặ ộậ ốh ộ y ỗa Ơó Ố ỗ ỗổ Ơ y đ Ơ ỏ ồ ộ Ọ b s ỏỌ Ộ khẬƠ
>>ylabel(ʹNhiet do (^{o}C)ʹ) Đ ớ ồ Ơh ốg Ố ỗ s ỏỌ Ộ ỏẵố Ố ỗ đ ỗhị ỗhaốh ỗổẵố, Ơó ỗổ Ơ ỗhứ 2 ƠỂốg ộị ỗổặ ốh ỗổ Ơ ỗhứ ốh ỗ ỗa ộỌ ỗ :
>>h1 = gca; ộậ ỗ Ồ ỗổ Ơ ỗhứ 2 ộị ỗổặ ỗổ Ơ ỗhứ ốh ỗ ỗổ Ơ ốh ỗ ộ b s ỏỌ Ộ ỗhứ 2
>>plot(days,TCE,ʹLineWidthʹ,3) Đ ỗổ Ơ ỗhứ 2 khẾốg gừy ỗổ ốg Ọ ƠhỒ ỗổ Ơ ỗhứ ốh ỗ ỗa ộỌ ỗ :
>>set(h2,ʹYAxisLocationʹ,ʹrightʹ,ʹColorʹ,ʹnoneʹ,ʹXTickLabelʹ,[])
>>set(h2,ʹXLimʹ,get(h1,ʹXLimʹ),ʹLayerʹ,ʹtopʹ) Đ ghỌ Ơhề ỏẵố đ ỗhị ỗa ộỌ ỗ:
>>text(11,380,ʹMat doʹ,ʹRotationʹ,‐‐55,ʹFontSizeʹ,16)
>>ylabel(ʹTCE Mat do (PPM)ʹ)
>>title(ʹXep chong do thiʹ,ʹFontSizeʹ,16)
Trong bài viết này, chúng ta tìm hiểu về hàm diện tích và cách áp dụng nó để tính diện tích của các hình và khu vực khác nhau Hàm diện tích cho phép chuyển từ các tham số hình học sang giá trị diện tích bằng công thức phù hợp, từ hình chữ nhật, hình tròn cho tới các hình phẳng phức tạp bằng công thức tích phân hoặc các phương pháp xấp xỉ Hiểu rõ cách xây dựng công thức, điều kiện áp dụng và giới hạn của từng trường hợp giúp tối ưu hóa tính toán và ứng dụng trong các lĩnh vực như thiết kế, mô phỏng, đồ họa máy tính và tối ưu hóa không gian Bài viết đề xuất các bước thực hiện: xác định hình dạng, chọn công thức diện tích phù hợp, tính toán và kiểm tra kết quả, đồng thời lưu ý về độ chính xác và hiệu suất, kèm theo các ví dụ minh họa và mẹo tối ưu để người đọc nắm bắt nhanh chóng và áp dụng hiệu quả vào thực tế.
1.5.8.4 Đ thị ồỌƯ Đ ỗhị pie hỌ ố ỗhị ỗhƯỒ ỗỉ ỏ ồh ố ỗổăỐ Ơủa Ố ỗ ồh ố ỗ Ơủa Ố ỗ ộƯƠỗỒổ hay Ố ỗ ma ỗổ ố sỒ ộ Ọ ỗ ốg ƠẬƠ ồh ố ỗ pie và pie3 ỗ Ồ ổa đ ỗhị 2D ộậ 3D
Trong đồ họa máy tính 3D, mesh và surf (bề mặt) là hai khía cạnh cốt lõi giúp mô hình hóa và hiển thị hình dạng một đối tượng Mesh (lưới) được tạo thành từ tập hợp đỉnh, cạnh và đa giác (thường là tam giác hoặc tứ giác), đóng vai trò nền tảng để mô phỏng bề mặt và tính chất hình học một cách hiệu quả cho pipeline render Surfaces (bề mặt liên tục) mô tả hình dạng bằng các hàm toán học hoặc các cấu trúc lưới mềm hơn, cho phép chỉnh sửa mượt mà và độ chính xác cao khi làm việc với các chi tiết phức tạp Các hàm và thuật toán liên quan đến mesh và surf bao gồm tối ưu lưới, phục hồi bề mặt (surface reconstruction), marching cubes, Poisson surface reconstruction và subdivision surfaces, giúp chuyển đổi dữ liệu thô thành lưới sạch hoặc tạo ra bề mặt trơn tru Ứng dụng phổ biến của mesh và surf trong mô hình hóa 3D, đồ họa máy tính, phát triển trò chơi, thiết kế CAD/CAM và in 3D phụ thuộc vào việc cân bằng giữa chi phí tính toán và chất lượng hình ảnh, với các kỹ thuật như texture mapping, tối ưu topology và quy trình render ảnh hưởng trực tiếp đến kết quả cuối cùng.
1.5.9.2 Đ thị ƠứƠ hậỐ haỌ bỌ ố
Văn bản bạn gửi đang bị lỗi mã hóa khiến nhiều chữ Việt bị sai và không thể hiểu được ý Bạn có thể gửi lại nội dung gốc hoặc cho tôi biết chủ đề, mục tiêu SEO (từ khóa chính, độ dài mong muốn) để tôi viết một đoạn văn ngắn, súc tích và có ý nghĩa cho bài viết?
Ma ỗổ ố ổ Ơhứa khỒ ốg ƠẬƠh ỗ ỗừỐ Ơủa Ốa ỗổ ố TỌ ồ ỗhƯỒ ỗa ơỂốg hậỐ ỐƯsh đ ộ hàm
Bài 1.10 V đ ỗhị hậỐ s y1=sỌốớ.ƠỒs2ớ ộậ hậỐ s y2=sỌốớ 2 trong [0-2S], trên ƠỂốg h ỗổ Ơ ỗ a đ , ỗa ỏ ố ỏ ỗ ỗh Ơ hỌ ố ốh saỘ:
>>y1=sin(x).*cos(2*x); %nhan tuong ung tung phan tu
>>grid on %hien thi luoi SaỘ khỌ ỗhỘ đ Ơ đ ỗhị hậỐ y1, đ ộ y2 ỗổẵố ƠỂốg đ ỗhị, ỗa ỗh Ơ hỌ ố:
>>hold on %giu hinh, mac nhien la hold off
>>y2=sin(x.^2); %luy thua tung phan tu
>>plot(x,y2,’k’) %duong ve co mau den
>>axis([0 4*pi –1.25 1.25]) %dinh lai toa do hien thi
Ta Ơó ỗh đ ỗ ốhửố ƠhỒ ƠẬƠ ỗổ Ơ Ơũốg ốh ỗỌẵỘ đ ƠhỒ đ ỗhị:
>>title(‘y1=sinx.cos2x and y2=sin(x^2)’)
Bài 1.11 Th Ơ hỌ ố ốh ỗổẵố ốh ốg ơỂốg ƠẬƠ hậỐ sƯỐỌỏỒgớ, sƯỐỌỏỒgy, ỏỒgỏỒg ỗhay ỗh ƠhỒ ồỏỒỗ
Bài 1.12 Th Ơ hỌ ố ốh ỗổẵố ƠhỒ hậỐ s y = � −�
Bài 1.13 V hậỐ s r = sin (5T) ỗổỒốg ỗỒ đ Ơ Ơ:
Bài 1.16 DỂốg hậỐ ỗƯớỗ ớỘ ỗ ƠẬƠ ƠẾốg ỗhứƠ saỘ ổa ỗổ Ơ ỗỒ đ :
- MATLAB ƠỘốg Ơ ồ ốhỌ Ộ hậỐ ộ đ ỗhị 3D, Ơhẳốg h ố: plot3 - ơỂốg đ ộ ƠẬƠ đ ốg ỗổỒốg khẾốg gỌaố 3 ƠhỌ Ộ; mesh và surf - ơỂốg đ ộ ộ ỗ ỗh 3D
Bài 1.17 V đ ỗhị 3D bằốg hậỐ plot3 :
Bài 1.18 V Ố ỗ ồaổabỒỏỒỌơ ờ=ớ 2 +y 2 ỗổỒốg khẾốg gỌaố 3 ƠhỌ Ộ:
Bài 1.19 Nh ố ớỰỗ ộ ƠẬƠ hậỐ ộ ỗổẵố
Bài 1.20 V Ố ỗ � = ��� √� +� √� +� dùng hàm surf và mesh
CÁC FILE VÀ HÀM
KịƠh b ố ỏậ M‐ưỌỏƯ đ ố gỌ ố ốh ỗ, khẾốg Ơó đ Ọ s Nó ơỂốg khỌ ỗhỌ hậốh Ố ỗ ỏỒ ỗ ỏ ốh MATLAB ỗhƯỒ Ố ỗ ỗổìốh ỗ ốh ỗ địốh Ta ớỰỗ ộặ ơ ỗ Ồ ổa ƠẬƠ s FỌbỒốacƠỌ ốh h ố 1000 f = [1 1]; i = 1; while(f(i)+f(i+1))>fplot(@(x)[tan(x),sin(x),cos(x)], 2*pi*[-1 1 -1 1]) c TìỐ Ơ Ơ tỌ Ộ Ơ a hậỐ
ChỒ Ố ỗ hậỐ ỗỒẬố h Ơ Ố ỗ bỌ ố, ỗa Ơó ỗh ơỂốg hậỐ fminbnd Ơủa MATLAB đ ỗìỐ Ơ Ơ ỗỌ Ộ địa ồh ốg Ơủa hậỐ ỗổỒốg khỒ ốg đử ƠhỒ
Hàm fminsearch ỗ ốg ỗ hậỐ fminbnd ơỂốg đ ỗìỐ Ơ Ơ ỗỌ Ộ địa ồh ốg Ơủa hậỐ nhi u bi n
Ta có hàm three_var.m : function b = three_var(v) x = v(1); y = v(2); z = v(3); b = x.^2 + 2.5*sin(y) ‐ z^2*x^2*y^2;
Vậ bừy gỌ ỗìỐ Ơ Ơ ỗỌ Ộ đ Ọ ộ Ọ hậỐ ốậy bắỗ đ Ộ ỗ ớ = -0.6, y = -1.2; z = 0.135
>>a = fminsearch(ʹthree_varʹ,v) d TìỐ đỌ Ố ờƯổỒ
Hàm fzero ơỂốg đ ỗìỐ đỌ Ố không Ơủa hậỐ Ố ỗ bỌ ố Vặ ơ đ ỗìỐ gỌẬ ỗổị khẾốg Ơủa hậỐ ỏừố Ơ ố gỌẬ ỗổị -0.2, ta vi t:
1.6.5 Th Ơ hậốh tổẵố sƠổỌồt ộậ ưỘốƠtỌỒố
MATLAB là môi trường tính toán và trực quan hóa dữ liệu mạnh mẽ, được thiết kế để xử lý ma trận, mô phỏng và phân tích dữ liệu một cách nhanh chóng Với ngôn ngữ lập trình MATLAB, bạn có thể viết mã ngắn gọn cho các thuật toán xử lý tín hiệu, hình ảnh, học máy và tối ưu hóa, đồng thời tận dụng các thao tác vectorization để tăng hiệu suất MATLAB đi kèm nhiều toolboxes chuyên sâu cho xử lý tín hiệu, ảnh số, thống kê và đồ họa, cùng với tài nguyên học tập và ví dụ MATLAB giúp người dùng bắt đầu từ các bài toán cơ bản đến phức tạp Bạn có thể tạo đồ thị 2D và 3D chất lượng cao để trực quan hóa kết quả, kiểm thử mã trên dữ liệu thực tế và triển khai giải pháp trên nhiều nền tảng Bài viết này giới thiệu khái niệm căn bản, hướng dẫn cài đặt và mẹo tối ưu hóa mã MATLAB để nâng cao hiệu suất và tiết kiệm thời gian cho nghiên cứu và phát triển.
% Phần viết sau dấu ‘%’ ở đây dùng cho lệnh help
% Thông thường phần này mô tả chức năng, cách sử dụng,
% ví dụ minh họa hay những lưu ý đặc biệt mà tác giả mong muốn trợ
% giúp cho người sử dụng
[global tênbiến1, tênbiến2,… ] % Khai báo biến toàn cục % (nếu có)
% phần trình bày câu lệnh
T Ồ Ố ỗ sƠổỌồỗ ưỌỏƯ Ơó ỗẵố vd.Ố, ộ Ọ ố Ọ ơỘốg ốh saỘ:
% Doan script file nay hien thi loi chao trong 2s Sau do hien thi logo cua MATLAB roi thoat close all
% - Tao mot cua so do hoa - figure('Color',[0 0 0],
'Name','Welcome to MATLAB Experiments',
% - Hien thi loi chao - text( 'String','Welcome to MATLAB',
'FontAngle','italic'); text( 'String','Welcome to MATLAB',
'FontAngle','italic'); axis off; pause(2); % dung trong 2 giay
% Hien thi logo cua MATLAB - logo clear all close
% ket thuc script file SaỘ khỌ ỏ Ộ ưỌỏƯ ốậy, ỗ Ơ a s ỏ ốh Ơủa MATLAB, ốh ồ:
>>help vd Đ ỗhỌ hậốh sƠổỌồỗ ưỌỏƯ ộ a sỒ ố, ốh ồ:
1.6.5.2 S ơ ốg ƠứƠ tỒỒl ớâỜ ơ ốg s ố
MATLAB là nền tảng tính toán khoa học với hệ sinh thái toolbox phong phú, cho phép xử lý dữ liệu, mô phỏng, phân tích và trực quan hóa ở nhiều lĩnh vực Để khai thác tối đa các chức năng của một toolbox, người dùng có thể xem tài liệu và danh sách hàm có sẵn bằng lệnh help hoặc tra cứu trên tài liệu trực tuyến Ví dụ, với các toolbox phổ biến như Statistics and Machine Learning Toolbox, Curve Fitting Toolbox, Image Processing Toolbox và Symbolic Math Toolbox, bạn sẽ tìm thấy các hàm mẫu, tham số và cú pháp gọi hàm phù hợp cho từng tác vụ Việc nắm vững cách sử dụng lệnh trợ giúp giúp rút ngắn thời gian tra cứu, tăng hiệu quả làm việc và dễ dàng tích hợp các toolbox vào dự án MATLAB của bạn.
>>help control % liet ke ham cua control toolbox
Ta Ơó ỗh ỗìỐ kỌ Ố ƠẬƠ hậỐ ỏỌẵố ỔỘaố bằốg ƠẬƠh ƠỘốg Ơ ồ ƠhỒ hậỐ lookfor Ơủa MATLAB Ố ỗ ỗ khóa: lookfor
>>lookfor filter % tìm các hàm liên quan đến mạch lọc
Có thể cho mình bản gốc rõ hơn được không? Đoạn bạn gửi hiện đang bị sai chữ và không thể xác định ý chính để viết lại theo tiêu chí SEO Nếu bạn gửi một phiên bản có dấu Việt chuẩn hoặc cho biết chủ đề và 3 ý bạn muốn nhấn mạnh, mình sẽ tạo một đoạn văn ngắn gọn, có ý nghĩa và tối ưu SEO, gồm các câu súc tích chứa nội dung cốt lõi Bạn cũng có thể cho biết từ khóa chính bạn muốn nhắm tới để mình tích hợp hợp lý vào paragraph.
- Tẵố hậỐ ồh Ọ đ Ơ đ ỗ ỗổỂốg ộ Ọ ỗẵố ưỌỏƯ ỏ Ộ ỗổ
- Ph Ọ Ơó ỗ khóa function ơẽốg đ Ộ tiên
- TổỒốg Ố ỗ hậỐ Ơó ỗh ớừy ơ ốg ốhỌ Ộ hậỐ ƠỒố (đỌ Ộ ốậy khẾốg Ơó ỗổỒốg sƠổỌồỗ ưỌỏƯ) function [out1,out2,…]=tenham(in1,in2,…)
% Hiển thị khi người sử dụng dùng lệnh help tenham
[global ] %khai báo biến toàn cục (nếu có)
out1=kết quả 1 %kết quả trả về của hàm out2=kết quả 2
% Các hàm con (nếu có) function [subout1,subout2,…]=tenhamcon(subin1,subin2,…)
Bài 1.21 Xừy ơ ốg hậỐ gptb2 đ gỌ Ọ ồh ốg ỗổìốh b Ơ haỌ aớ 2 +bớ+Ơ=0 N Ọ ơỘốg hậỐ ốh saỘ: function [x1,x2]=gptb2(a,b,c)
% Giai phuong trinh bac hai ax^2+bx+c=0
% a, b, c la 3 he so cua phuong trinh if narginx = randn(size(n)); %Tín hiệu x ngẫu nhiên
>>n1 = [n 11:14]; % Bổ sung them giá trị cho n
K ỗ ỏỘ ố ộ ỗặốh Ơh ỗ b ỗ bỌ ố ỗhƯỒ ỗh Ọ gỌaố Ơủa y(ố) = ốớ(ố)
Bài 2.9 XẬƠ địốh ỗặốh Ơh ỗ b ỗ bỌ ố ỗhƯỒ ỗh Ọ gỌaố Ơủa h ỗh ốg Ơó ồh ốg ỗổìốh y(ố)
>>x1 = randn(size(n)); %Tín hiệu x1 ngẫu nhiên
>>x2 = randn(size(n)); %Tín hiệu x2 ngẫu nhiên
K ỗ ỏỘ ố ộ ỗặốh Ơh ỗ ỗỘy ố ỗặốh Ơủa y(ố) = ốớ(ố)
Bài 2.11 XẬƠ địốh ỗặốh Ơh ỗ ỗỘy ố ỗặốh Ơủa h ỗh ốg Ơó ồh ốg ỗổìốh y(ố) = ớ 2 (n) và y(n) = x(n 2 )
H LTI
Ph ốg ỗổìốh saỌ ồhừố:
Bài 2.12 XỰỗ h ỗh ốg Ơó ồh ốg ỗổìốh saỌ ồhừố: y(ố) = 0.3ớ(ố) + 0.2ớ(ố – 1) – 0.3x(n – 2) -0.9y(n – 1) + 0.9y(n – 2) XẬƠ địốh đẬồ ứốg ớỘốg đ ố ộị Ơủa h ỗh ốg
>>h = impz(num,den,N);% N: số lượng mẫu tính toán
XẬƠ địốh ốgỀ ổa khỌ bỌ ỗ đẬồ ứốg ớỘốg ộậ ốgỀ ộậỒ:
Bài 2.13 KỌ Ố ỗổa ỗặốh gỌaỒ hỒẬố ộậ k ỗ h ồ:
Bài 2.14 KỌ Ố ỗổa ỗặốh gỌaỒ hỒẬố ộậ k ỗ h ồ Ơủa haỌ h ỗh ốg ghỰồ ỏỌẵố ỗ ốg saỘ:
Bài 2.15 XẬƠ địốh ốgỀ ổa Ơủa h ỗh ốg saỘ:
Bài 2.16 XẬƠ địốh đẬồ ứốg ớỘốg ỗ ốg đ ốg Ơủa h ỗh ốg saỘ: h1 = {1,0,-1,3}; h2 = {2,-2,1}; h3 = {3,4,-1,1}; h4 = {-3,5,6,-1,1} n n n n
VỌ ỗ Ơh ốg ỗổìốh ớẬƠ địốh ốgỀ ổa Ơủa h ỗh ốg khỌ ốgỀ ộậỒ ỏậ ớ(ố) = (-2) n u(n) (ỗặốh ỗỒẬố ƠhỒ gỌẬ ỗổị ố ỗ -20 đ ố 20): a DỂốg ỗhƯỒ s đ ỗổẵố b DỂốg đẬồ ứốg ớỘốg ỗ ốg đ ốg h1(n) h2(n) h3(n) x(n) y(n) h4(n)
BI N Đ I Z
CÁC ĐI M C C VÀ ĐI M KHÔNG
DỒ N(ờ) ộậ D(ờ) ỏậ ƠẬƠ đa ỗhứƠ ỗhƯỒ ờ ốẵố Ơó ỗh bỌ Ộ ơỌ ố ốh saỘ:
�= Đ bỌ Ộ ơỌ ố ỗổẵố đ ỗhị, đỌ Ố Ơ Ơ đ Ơ đẬốh ơ Ộ bằốg ớ ộậ đỌ Ố khẾốg đ Ơ đẬốh ơ Ộ bằốg Ồ
Bài 3.1 XẬƠ địốh đỌ Ố Ơ Ơ ộậ khẾốg ơ a ộậỒ hậỐ ờồỏaốƯ:
Ta Ơó ỗh ộ ƠẬƠ đỌ Ố Ơ Ơ ộậ đỌ Ố khẾốg ố Ộ đử bỌ ỗ đỌ Ố Ơ Ơ ộậ đỌ Ố khẾốg bằốg ƠẬƠh đ a ỗhẾốg s ộậỒ hậỐ ờồỏaốƯ ơ ốg ộƯƠỗỒổ Ơ ỗ:
Trong MATLAB, bạn có thể vẽ mặt phẳng z bằng cách sử dụng zplane(zero', pole') để hiển thị vị trí của các zero và pole của một hệ thống Để chuyển đổi một hàm truyền từ dạng tử/mẫu sang dạng zeros-poles-gain, dùng tf2zp với cú pháp [z, p, k] = tf2zp(num, den), trong đó num và den là vector hệ số tử và mẫu của hàm truyền; tf2zp sẽ trả về các zero và pole từ các đa thức tử và mẫu và k là hệ số khuếch đại Kết quả cho phép bạn phân tích ổn định, đánh giá đáp ứng theo tần số và trực quan hoá đặc tính của hệ thống nhằm tối ưu thiết kế bộ lọc hoặc hệ thống điều khiển.
N Ộ đử ƠhỒ đỌ Ố Ơ Ơ ộậ đỌ Ố khẾốg, ỗa Ơó ỗh ớẬƠ địốh ỏ Ọ bỌ Ộ ỗhứƠ Ơủa bỌ ố đ Ọ ờ bằốg hậỐ zp2tf : [num,den] = zp2tf(z,p,k) (ờ, ồ ơ ốg ộƯƠỗỒổ Ơ ỗ)
>>[num,den] = zp2tf(zero’,pole’,k)
Bài 3.2 XẬƠ địốh ộậ ộ đỌ Ố Ơ Ơ, đỌ Ố khẾốg Ơủa ƠẬƠ hậỐ h ỗh ốg saỘ:
T đó ớẬƠ địốh ƠẬƠ ỐỌ ố h Ọ ỗ Ơó ỗh Ơó SỒ sẬốh ộ Ọ ỏý ỗhỘy ỗ
Bài 3.3 XẬƠ địốh bỌ Ộ ỗhứƠ Ơủa bỌ ố đ Ọ ờ Ơó ƠẬƠ đỌ Ố Ơ Ơ 0.5; 0.75; 1+ọ0.5; 1-j0.5 ộậ ƠẬƠ đỌ Ố khẾốg 0.3; 0.1; 2-ọ2; 2+ọ2 ộ Ọ h s khỘ Ơh đ Ọ k = 0.7
PHÂN TÍCH DÙNG PH NG PHÁP TH NG D
Phừố ỗặƠh ỗhậốh ƠẬƠ ỗh a s ỗhƯỒ ồh ốg ồhẬồ ỗh ốg ơ :
Bài 3.4 XẬƠ địốh ƠẬƠ h s Ơủa bỌ Ộ ỗhứƠ bỌ ố đ Ọ ờ bằốg hậỐ residuez :
Ta Ơũốg Ơó ỗh ơỂốg hậỐ residuez đ ớẬƠ địốh ỏ Ọ ỗ s ộậ Ố Ộ s :
GhỌ ỏ Ọ ƠẾốg ỗhứƠ bỌ ố đ Ọ ộậ sỒ sẬốh ộ Ọ k ỗ ỔỘ baố đ Ộ
Bài 3.5 Phừố ỗặƠh bỌ Ộ ỗhứƠ saỘ ơỂốg ồh ốg ồhẬồ ỗh ốg ơ :
+ � − − � − Tặốh ỗỒẬố ỏ Ọ k ỗ ỔỘ ỗhƯỒ ỏý ỗhỘy ỗ
Bài 3.6 ChỒ h ỗh ốg Ơó ồh ốg ỗổìốh ộậỒ / ổa ỏậ ồh ốg ỗổìốh saỌ ồhừố h s hằốg: y(n) = x(n) – 2x(n – 2) + 0.81y(n – 1) XẬƠ địốh H(ờ), ỗ đó ộỌ ỗ Ơh ốg ỗổìốh: a XẬƠ địốh ộậ ộ ƠẬƠ đỌ Ố Ơ Ơ, khẾốg b Phừố ỗặƠh ơỂốg ồh ốg ồhẬồ ỗh ốg ơ
BI N Đ I Z VÀ Z NG C
XỰỗ h LTI bỌ Ộ ơỌ ố bằốg ồh ốg ỗổìốh saỌ ồhừố h s hằốg:
HậỐ h ỗh ốg Ơủa h LTI bỌ Ộ ơỌ ố bằốg ồh ốg ỗổìốh saỌ ồhừố h s hằốg:
�= Đ ỗặốh ỗhậốh ồh ố Ơẽố ỏ Ọ, ỗa ồhừố ỗặƠh ỗhậốh ƠẬƠ ỗh a s ỗhƯỒ ồh ốg ồhẬồ ỗh ốg ơ :
N Ộ ƠẬƠ gỌẬ ỗổị ồj = … = ồm ỗhì ƠhỘy ố ƠẬƠ s h ốg ỗ Aj đ ố Am thành:
Bài 3.7 Dùng hàm ztrans đ bỌ ố đ Ọ ờ ơ ốg ƠẾốg ỗhứƠ:
Bài 3.8 XẬƠ địốh bỌ ố đ Ọ ờ Ơủa ƠẬƠ hậỐ saỘ: a x(n) = (-2) n-1 u(n) b x(n) = n3 n u(n) c x(n) = n 2 4 n u(n)
Bài 3.9 BỌ ố đ Ọ ờ ốg Ơ ỗhƯỒ gỌẬ ỗổị bằốg hậỐ ỌỐồờ
>>L = 50; %Số lượng mẫu cần tính
>>x = impz(num,den,L) % x là biến đổi z ngược
>>impz(num,den,L); % Vẽ trên đồ thị
Bài 3.10 XẬƠ địốh ộậ ộ 100 Ố Ộ đ Ộ ỗỌẵố Ơủa bỌ ố đ Ọ ờ ốg Ơ Ơủa hậỐ:
Bài 3.11 Th Ơ hỌ ố ỏ Ọ bậỌ 3.10 ộ Ọ k ỗ ỔỘ ơ ốg ƠẾốg ỗhứƠ Đ ớẬƠ địốh bỌ ố đ Ọ ờ ốg Ơ ơ ốg ƠẾốg ỗhứƠ, ỗa ơỂốg hậỐ residuez đ ồhừố ỗặƠh ỗhậốh ơ ốg bỌ Ộ ỗhứƠ đ ố gỌ ố ộậ ơỂốg ƠẬƠ k ỗ ỔỘ bỌ ố đ Ọ ốg Ơ đ ớẬƠ địốh
Bài 3.12 Ta Ơũốg Ơó ỗh ớẬƠ địốh bỌ ố đ Ọ ờ ốg Ơ bằốg ƠẬƠh ơỂốg hậỐ Ọờỗổaốs
Bài 3.13 XẬƠ địốh bỌ ố đ Ọ ờ ốg Ơ Ơủa ƠẬƠ hậỐ saỘ:
BI N Đ I FOURIER R I R C
TÍNH DTFT
BỌ ố đ Ọ FỒỘổỌƯổ ổ Ọ ổ Ơ (DTFT) ỐẾ ỗ ốh saỘ:
Bài 4.1 Tặốh ộậ ộ DTFT Ơó ơ ốg:
>>w = linspace(-4*pi,4*pi,512); % Tạo 512 giá trị từ -4S đến 4S
>>title(‘Pho bien do |X(e^{j\omega})|’);
>>title(‘Pho pha arg(X(e^{j\omega}))’); Đ kh Ồ sẬỗ ƠhỘ Ọ ớ(ố) h Ộ h ố, ỗa ƠhỒ ỗhẾốg s ỗhứ 2 Ơủa hậỐ freqz là 1
Bài 4.2 Tặốh ộậ ộ DTFT ỗổỒốg khỒ ốg [-S,S]:
Bài 4.3 Kh Ồ sẬỗ DTFT Ơủa ớ(ố) = [1 -2 2 -3 3 4 0 -1] ỗổỒốg khỒ ốg [-S,S]
Tặốh Ơh ỗ ơịƠh ỗh Ọ gỌaố:
Bài 4.4 Kh Ồ sẬỗ ỗặốh Ơh ỗ ơịƠh ỗh Ọ gỌaố: Tặốh ộậ ộ DTFT ỗổỒốg khỒ ốg [-S,S] Ơủa x(n - 3) ộ Ọ ớ(ố) ƠhỒ ốh bậỌ 4.3
Bài 4.5 Kh Ồ sẬỗ ỗặốh Ơh ỗ ơịƠh ỗ ố s : Tặốh ộậ ộ DTFT ỗổỒốg khỒ ốg [-S,S] Ơủa x(n)e-ọ3ố ộ Ọ ớ(ố) ƠhỒ ốh bậỌ 4.3
Bài 4.6 Kh Ồ sẬỗ ỗặốh Ơh ỗ đ Ồ ỗh Ọ gỌaố: Tặốh ộậ ộ DTFT ỗổỒốg khỒ ốg [-S,S] Ơủa x(-ố) ộ Ọ ớ(ố) ƠhỒ ốh bậỌ 4.3 Dùng hàm fliplr đ ƠhỘy ố ớ(ố) ỗhậốh ớ(-n) và nhân thêm h s Ư jZ(L-1) khỌ bỌ ố đ Ọ
Bài 4.7 Th Ơ hỌ ố ỏ Ọ ỗ 4.3 đ ố 4.6 ộ Ọ ớ(ố) ƠhỒ ốh bậỌ 4.2.
FFT VÀ CÁC TÍNH CH T
Bài 4.8 Dùng hàm fft và ifft đ ỗặốh DFT ộậ IDFT Ơủa ớ(ố):
>>title([‘FFT(n,’ N ‘)’]);xlabel(‘k’);ylabel(‘Bien do’);
>>title([‘FFT(n,’ N ‘)’]); xlabel(‘k’);ylabel(‘Pha’);
Bài 4.9 XẬƠ địốh ộậ ộ FFT 16 đỌ Ố Ơủa ớ(ố) ƠhỒ ỗỂy ý
Bài 4.10 T Ồ ưỘốƠỗỌỒố cshift đ ơịƠh ộẽốg Ố ỗ ƠhỘ Ọ Ố gỌẬ ỗổị: function out = cshift(x,m) m0 = m; if abs(m0) > length(x) m0 = rem(m0,length(x)); end while (m0>x1 = cshift(x,m); %Có thể thay bằng hàm circshift như sau: x1
Bài 4.11 VỌ ỗ Ơh ốg ỗổìốh kh Ồ sẬỗ ỗặốh Ơh ỗ ơịƠh ộẽốg ỗổẵố ỐỌ ố ỗ ố s
Bài 4.12 VỌ ỗ Ơh ốg ỗổìốh kh Ồ sẬỗ ỗặốh Ơh ỗ Ơh ồ ộẽốg DỂốg hậỐ ƠƠỒốộ đ ỗặốh ỗặƠh Ơh ồ ộẽốg
Bài 4.13 VỌ ỗ Ơh ốg ỗổìốh kh Ồ sẬỗ ỗặốh Ơh ỗ đ Ồ ỗổẵố ỐỌ ố ỗh Ọ gỌaố.
B L C S FIR
CÁC LO I B L C
ĐỌ Ộ kỌ ố đ Ọ ớứốg ộậ ồh ố đ Ọ ớứốg Ơủa Ố Ơh ỏ Ơ: h(n) = r h(M – 1 – n)
D a ỗổẵố ỗặốh Ơh ỗ đ Ọ ớứốg hay ồh ố đ Ọ ớứốg Ơủa ƠhỘ Ọ đẬồ ứốg ớỘốg ộậ ƠhỌ Ộ ơậỌ N Ơủa ƠhỘ Ọ đẬồ ứốg ớỘốg, ốg Ọ ỗa ồhừố ỏỒ Ọ b ỏ Ơ FIR ỏậỐ 4 ỏỒ Ọ saỘ:
• B ỏ Ơ FIR ỏỒ Ọ 3: h(ố) ồh ố đ Ọ ớứốg, M ỏẻ, β = S/2, D = (M – 1)/2
• B ỏ Ơ FIR ỏỒ Ọ 4: h(ố) ồh ố đ Ọ ớứốg, M Ơh ố, β = S/2, D = (M – 1)/2 ĐẬồ ứốg ỗ ố s Ơủa FIR ƠhỒ ỗ ốg ỏỒ Ọ:
Bài 5.1 XẬƠ địốh đẬồ ứốg ỗ ố s Ơủa b ỏ Ơ FIR ỏỒ Ọ 1 ỗ ƠhỘ Ọ đẬồ ứốg ớỘốg T Ồ ưỘốƠỗỌỒố FIR_ỗ1 ốh saỘ: function [a,w,L,Hr] = FIR_t1(h)
L Ộ ưỌỏƯ ộ Ọ ỗẵố FIR_t1.m Th Ơ hỌ ố ỗặốh ỗỒẬố ộ Ọ đẬồ ứốg ớỘốg h1 = [1.5 -2.5 3 -2.5 1.5]:
Bài 5.2 XẬƠ địốh đẬồ ứốg ỗ ố s ƠhỒ b ỏ Ơ FIR ỏỒ Ọ 2: VỌ ỗ ưỘốƠỗỌỒố FIR_t2 Th Ơ hỌ ố ỗặốh ỗỒẬố ộ Ọ đẬồ ứốg ớỘốg h2 = [1.5 -2.5 3 3 -2.5 1.5]
Bài 5.3 XẬƠ địốh đẬồ ứốg ỗ ố s ƠhỒ b ỏ Ơ FIR ỏỒ Ọ 3: VỌ ỗ ưỘốƠỗỌỒố FIR_t3 Th Ơ hỌ ố ỗặốh ỗỒẬố ộ Ọ đẬồ ứốg ớỘốg h3 = [1.5 -2.5 3 2.5 -1.5]
Bài 5.4 XẬƠ địốh đẬồ ứốg ỗ ố s ƠhỒ b ỏ Ơ FIR ỏỒ Ọ 4: VỌ ỗ ưỘốƠỗỌỒố FIR_t4 Th Ơ hỌ ố ỗặốh ỗỒẬố ộ Ọ đẬồ ứốg ớỘốg h4 = [1.5 -2.5 3 -3 2.5 -1.5]
Bài 5.5 ChỒ đẬồ ứốg ớỘốg Ơủa b ỏ Ơ FIR ốh saỘ: h = [-1 2 1.3 -2.2 0.6 3 0.6 -2.2
1.3 2 -1] ĐẬồ ứốg ớỘốg h(ố) đ Ọ ớứốg ộ Ọ M ỏẻ ốẵố đừy ỏậ b ỏ Ơ FIR ỏỒ Ọ 1 a BỌ Ộ ơỌ ố đẬồ ứốg ớỘốg:
>>title(‘Dap ung xung’);xlabel(‘n’);ylabel(‘h(n)’); b CẬƠ h s Ơủa b ỏ Ơ:
>>title(‘Cac he so a(n)’);xlabel(‘n’);ylabel(‘a(n)’); c ĐẬồ ứốg ỗ ố s :
>>title(‘Dap ung tan so’);xlabel(‘\omega’);ylabel(‘H(\omega)’); d Phừố b Ơ Ơ - không:
>>title(‘Bieu do cuc – khong’);xlabel(‘Thuc’);ylabel(‘Ao’);
Bài 5.6 Th Ơ hỌ ố ỏ Ọ bậỌ 5.5 ộ Ọ đẬồ ứốg ớỘốg h = [-1 2 1.3 -2.2 0.6 3 3 0.6 -2.2 1.3
Bài 5.7 Th Ơ hỌ ố ỏ Ọ bậỌ 5.5 ộ Ọ đẬồ ứốg ớỘốg h = [-1 2 1.3 -2.2 0.6 3 -0.6 2.2 -1.3 -2
Bài 5.8 Th Ơ hỌ ố ỏ Ọ bậỌ 5.5 ộ Ọ đẬồ ứốg ớỘốg h = [-1 2 1.3 -2.2 0.6 3 -3 -0.6 2.2 -1.3
PH NG PHÁP C A S
Bài 5.9 T Ồ hậỐ ideal_lp ớẬƠ địốh đẬồ ứốg ớỘốg Ơủa b ỏ Ơ ỗhẾốg ỗh ồ ỏý ỗ ốg ỗhƯỒ ỗ ố s Ơắỗ Z c ộậ ƠhỌ Ộ ơậỌ ƠhỘ Ọ đẬồ ứốg ớỘốg function hd = ideal_lp(wc,M) alpha = (M-1)/2; n = [0:1:(M-1)]; m = n - alpha + eps; hd = sin(wc*m)./(pi*m);
Bài 5.10 T Ồ hậỐ freqz_m ỗặốh ỗỒẬố đ ỏ ố ộậ ồha Ơủa đẬồ ứốg ỗ ố s , hậỐ ỗổ ốhóỐ function [db,mag,pha,grd,w] = freqz_m(b,a)
% db = Do lon tuong doi theo dB tren doan tu 0 den pi
% mag = Do lon tuyet doi tren doan tu 0 den pi
% pha = Dap ung pha tren doan tu 0 den pi
% grd = Tre nhom tren doan tu 0 den pi
% w = Cac mau tan so doan tu 0 den pi
% b = Cac he so da thuc tu so cua H(z) (voi FIR: b=h)
% a = Cac he so da thuc mau so cua H(z)(voi FIR: a=[1]) [H,w] = freqz(b,a,1000,'whole');
H = (H(1:1:501))'; w = (w(1:1:501))'; mag = abs(H); db = 20*log10((mag+eps)/max(mag)); pha = angle(H); grd = grpdelay(b,a,w);
Bài 5.11 ThỌ ỗ k b ỏ Ơ ỗhẾốg ỗh ồ ỗhƯỒ ồh ốg ồhẬồ Ơ a s HaỐỐỌốg ộ Ọ ƠẬƠ ỗhaỐ s ốh saỘ:
Để nội dung trở nên thu hút và tối ưu cho công cụ tìm kiếm, bạn cần xây dựng bài viết thành một dòng chảy có ý nghĩa từ tiêu đề đến phần kết luận, đảm bảo mỗi đoạn chứa một ý chính rõ ràng và các từ khóa được tích hợp tự nhiên Mở đầu bài bằng một câu mở bài sắc bén, theo sau là các đoạn văn ngắn dễ đọc, kèm các tiêu đề phụ (H2, H3) phân chia logic Nội dung nên cung cấp thông tin hữu ích, dữ liệu hoặc ví dụ thực tế, và kết thúc bằng một lời kêu gọi hành động cụ thể Ngoài ra, chú ý tối ưu thẻ meta description, alt text cho hình ảnh và tốc độ tải trang, đồng thời duy trì giọng văn nhất quán, phù hợp với đối tượng độc giả và mục đích bài viết Tránh nhồi nhét từ khóa và đảm bảo bài viết mang tính giá trị, dễ chia sẻ và có khả năng xếp hạng cao trên các cụm từ khóa liên quan.
CẬƠ ỗhaỐ s ỗh ốg đ Ơ ƠhỒ ơ Ọ ơ ốg đ ố ộị dB:
• Đ sỘy gỌ Ố ơ Ọ Ơhắố ỗhƯỒ ơB:
Các hàm Ơ a s ỗổỒốg MATLAB: boxcar hay rectwin, bartlett, hanning, hamming, blackman, Kaiser
>>[db,mag,pha,grd,w] = freqz_m(h,[1]);
>>Rp = -(min(db(1:1:wp/delta_w+1)))
>>As = -round(max(db(ws/delta_w+1:1:501))) a ĐẬồ ứốg ớỘốg:
>>title('Dap ung xung ly tuong');xlabel('n'); ylabel('h_d(n)'); b C a s HaỐỐỌốg:
>>title('Cua so Hamming');xlabel('n'); ylabel('w(n)'); c ĐẬồ ứốg ỗ ố s :
>>title('Dap ung tan so');xlabel('n'); ylabel('h(n)'); d ĐẬồ ứốg ỗ ố s ỗhƯỒ ơB:
>>title('Dap ung tan so theo dB');xlabel('\omega'); ylabel('dB');
Bài 5.12 ThỌ ỗ k b ỏ Ơ ỗhẾốg ơ Ọ ỗhƯỒ ồh ốg ồhẬồ Ơ a s BỏaƠkỐaố ộ Ọ ƠẬƠ ỗhaỐ s ốh saỘ:
Do nội dung gốc bị mã hóa sai, bài viết có thể được tóm tắt thành các ý chính sau: trình bày mục tiêu và phạm vi nghiên cứu, phân tích các yếu tố ảnh hưởng và đưa ra giải pháp hoặc khuyến nghị có thể áp dụng thực tế; sắp xếp logic từ mô tả vấn đề đến kết quả và kết luận Bài viết nhấn mạnh tính cụ thể và khả thi của các ý tưởng, đồng thời đề xuất các bước triển khai rõ ràng, kèm ví dụ minh họa và tham chiếu khi có thể Để tối ưu SEO, văn bản tập trung vào từ khóa liên quan, tiêu đề hấp dẫn, cấu trúc rõ ràng với các thẻ tiêu đề phù hợp, và xây dựng liên kết nội bộ/ngoài có chất lượng Kết luận nhấn mạnh tầm quan trọng của việc nắm bắt ý tưởng cốt lõi và trình bày chúng một cách mạch lạc, có bằng chứng và dẫn chứng hỗ trợ để tăng độ tin cậy và giá trị cho người đọc.
PH NG PHÁP L Y M U T N S
XỰỗ đẬồ ứốg ớỘốg h(ố) Ơủa h ỗh ốg LTI Ơó đẬồ ứốg ỗ ố s ỏậ:
Ta Ơhỉ địốh Ố ỗ ỗ ồ ỗ ố s ốh saỘ:
T ồ h ồ ƠẬƠ gỌẬ ỗổị ỞH(k + α)ả g Ọ ỏậ ƠẬƠ Ố Ộ ỗ ố s Ơủa H(Z) TổỒốg ỗổ ốg h ồ α = 0, ỞH(k)ả ỗ ốg ứốg ộ Ọ DFT M đỌ Ố Ơủa h(ố)
Bài 5.13 ThỌ ỗ k b ỏ Ơ ỗhẾốg ỗh ồ ỗhƯỒ ồh ốg ồhẬồ ỏ y Ố Ộ ỗ ố s ộ Ọ ƠẬƠ ỗhaỐ s ốh saỘ:
Trong bài phân tích này, quá trình được đánh giá trên miền thời gian [0, 2S) với các ngưỡng liên quan đến 0.2S, nhằm nhận diện sự biến đổi của tín hiệu Quá trình so sánh các ngưỡng cho thấy hai tham số quan trọng T1 và T2 có giá trị lần lượt là 0.5925 và 0.1099, từ đó xác định cách thiết lập ngưỡng tối ưu để phân loại hoặc xử lý tín hiệu hiệu quả Kết quả cho thấy cấu trúc ngưỡng và các tiêu chí đánh giá đã được hiệu chỉnh để đạt hiệu suất mong muốn trong các bài toán liên quan.
% Dap ung tan so mau ly tuong
% Dap ung tan so ly tuong de bieu dien do thi
>>angH = [-alpha*(2*pi)/M*k1, alpha*(2*pi)/M*(M-k2)];
>>[db,mag,pha,grd,w] = freqz_m(h,1);
>>subplot(221); plot(wl(1:31)/pi,Hk(1:31),'o',wdl,Hdr);
>>title('Cac mau tan so: M`, T2 = 0.5925, T1 = 0.1099');
>>xlabel(f[*\pi]'); ylabel('Hr(k)'); b ĐẬồ ứốg ớỘốg Ơủa b ỏ Ơ ỗh Ơ ỗ :
>>xlabel('n'); ylabel('h(n)'); c BỌẵố đ Ơủa đẬồ ứốg ỗ ố s :
>>subplot(223); plot(ww/pi,Hr,wl(1:31)/pi,Hk(1:31),'o');
>>title('Bien do cua dap ung tan so');
>>xlabel('f[*\pi]'); ylabel('Hr(w)'); d BỌẵố đ Ơủa đẬồ ứốg ỗ ố s theo dB:
>>title('Bien do cua dap ung tan so ');
Bài 5.14 ThỌ ỗ k b ỏ Ơ ỗhẾốg ơ Ọ ỗhƯỒ ồh ốg ồhẬồ ỏ y Ố Ộ ỗ ố s ộ Ọ ƠẬƠ ỗhaỐ s ốh saỘ:
Trong bài viết này, quá trình được phân tích diễn ra từ 0 đến 2 giây, với giai đoạn đầu kéo dài 0,3 giây và gồm 7 bước thực hiện Các tham số cho thấy đặc tính động học của hệ thống, nổi bật bởi hai thời gian đặc trưng T1 = 0.109021 và T2 = 0.59417456 Những giá trị này giúp định lượng hiệu suất và độ ổn định của quá trình, đồng thời cung cấp cơ sở để tối ưu hóa quy trình và đánh giá kết quả trong các bài toán mô phỏng hoặc thí nghiệm.
(9 s 0) QỘẬ ỗổìốh ỗh Ơ hỌ ố ỗ ốg ỗ bậỌ 5.13.
PH NG PHÁP L P
ĐẬồ ứốg ỗ ố s Ơủa 4 ỏỒ Ọ b ỏ Ơ FIR:
H(Z) = P(Z)Q(Z) HậỐ saỌ s gỌ a b ỏ Ơ ỗh Ơ ỗ ộậ b ỏ Ơ ỏý ỗ ốg:
Bài viết này tập trung vào cách xây dựng nội dung chất lượng cho người đọc và tối ưu hóa cho công cụ tìm kiếm Đầu tiên xác định từ khóa trọng tâm dựa trên ý định của người tìm kiếm và tích hợp chúng một cách tự nhiên vào tiêu đề, mô tả meta, phần mở bài và nội dung chính Tiếp đó, bố trí nội dung thành các đoạn ngắn, có tiêu đề phụ rõ ràng và câu chữ dễ hiểu để tăng khả năng đọc và trải nghiệm người dùng Viết theo một dòng logic dẫn dắt từ giới thiệu đến kết luận, đảm bảo mỗi đoạn truyền tải một ý chính và liên kết mượt mà với đoạn kế tiếp Những yếu tố kỹ thuật như thẻ tiêu đề, mô tả meta chuẩn SEO, tối ưu hình ảnh và tốc độ tải trang cũng được đề cập để cải thiện thứ hạng Cuối cùng, kết bài bằng một lời kêu gọi hành động phù hợp và gợi ý độc giả xem thêm nội dung liên quan hoặc chia sẻ bài viết.
1 XẬƠ địốh ỏỒ Ọ b ỏ Ơ, ỗặốh gỌẬ ỗổị R ộậ ớừy ơ ốg ƠẬƠ hậỐ W(ω), Q(ω)
2 Xừy ơ ốg bậỌ ỗỒẬố g ố đềốg bằốg ƠẬƠh ớẬƠ địốh ƠẬƠ hậỐ �̂ � , �� �
3 S ơ ốg ỗhỘ ỗ ỗỒẬố ỗổaỒ đ Ọ RƯỐƯờ đ ỗìỐ ổa hậỐ ỗ Ọ Ộ P(ω) c Ch ố ỏ y R+2 đỌ Ố ổ Ọ ổ Ơ, gỌ s đó ỏậ ƠẬƠ Ơ Ơ ỗổị Ơủa hậỐ saỌ s d Tổẵố Ơ s ỗ Ọ R+2 đỌ Ố ổ Ọ ổ Ơ ốóỌ ỗổẵố, hậỐ E(ω) ỏỘừố ồhỌẵố đ Ọ ơ Ộ ộậ Ơó ỗổị ỗỘy ỗ đ Ọ bằốg Ố ỗ gỌẬ ỗổị δ ốậỒ đó, ỗặốh ố Ọ sỘy ỏ Ọ gỌẬ ỗổị δ ộậ hậỐ P(ω), ỗ đó ỗặốh ổa hậỐ saỌ s E(ω), ỗặốh đ Ơ Ơ Ơ ỗổị ỗh Ơ Ơủa hậỐ saỌ s e XƯỐ ớỰỗ ớƯỐ ƠẬƠ gỌẬ ỗổị ổ Ọ ổ Ơ đ Ơ Ơh ố baố đ Ộ Ơó ỗh Ơ s ỏậ ƠẬƠ đỌ Ố Ốậ hậỐ saỌ s E(ω) đ ỗ Ơ Ơ ỗổị ộậ Ơó ỗổị ỗỘy ỗ đ Ọ bằốg ốhaỘ hay khẾốg N Ộ khẾốg, ỗìỐ ƠẬƠ đỌ Ố ỗ Ọ đó E(ω) đ ỗ Ơ Ơ ỗổị f TổỒốg ƠẬƠ đỌ Ố Ơ Ơ ỗổị Ơủa E(ω) ỏ y ổa R+2 đỌ Ố ộậ ỔỘay ộ ỏ ồ ỏ Ọ ỗ b Ơ 2 g L ồ ỏ Ọ ƠẬƠ b Ơ 2, 3, ộậ 4 ƠhỒ đ ố khỌ ỗ ồ h ồ ƠẬƠ đỌ Ố ổ Ọ ổ Ơ h Ọ ỗ h T ỗ ồ ƠẬƠ đỌ Ố ổ Ọ ổ Ơ ƠỘ Ọ ƠỂốg, ỗặốh ổa hậỐ P(ω), ỗ đó ỗặốh ổa ƠẬƠ h s Ơủa P(ω)
4 Tặốh ƠẬƠ gỌẬ ỗổị Ơủa ƠhỘ i đẬồ ứng xung h(n)
Dữ liệu bạn gửi có nhiều ký tự bị sai lệch và chữ ghép khiến nội dung không thể hiểu được và không thể viết lại thành một đoạn văn có nghĩa cũng như tối ưu SEO Để tôi có thể tóm gọn ý chính, chọn câu mang ý nghĩa cốt lõi và tối ưu từ khóa cho bài viết, xin vui lòng cung cấp lại văn bản ở dạng rõ ràng hoặc cho bạn bản làm sạch Khi có văn bản chuẩn, tôi sẽ trả về một đoạn văn ngắn gọn, mạch lạc, chứa các ý chính và tối ưu hóa SEO với từ khóa phù hợp, tiêu đề hấp dẫn và cấu trúc nội dung rõ ràng.
Rp) M ỗ ƠẾốg ỗhứƠ ỏ a Ơh ố baố đ Ộ ƠhỒ ƠhỌ Ộ ơậỌ M Ơủa đẬồ ứốg ớỘốg ỏậ:
Trong MATLAB, ỗìỐ đẬồ ứốg ớỘốg Ơủa b ỏ Ơ ỗ Ọ Ộ ộ Ọ gỌẬ ỗổị M ộậ hậỐ đẬồ ứốg ỗ ố s ỏý ỗ ốg ƠhỒ ỗổ Ơ đ Ơ ỗh Ơ hỌ ố b Ọ hậỐ firpm
Bài 5.15 T Ồ sƠổỌồỗ ưỌỏƯ saỘ đ bỌ Ộ ơỌ ố b ỏ Ơ ỗổẵố đ ỗhị: wp = 0.2*pi; ws =0.3*pi; Rp = 0.25; As = 50; delta_w = 2*pi/1000; wsi = ws/delta_w+1; delta1 = (10^(Rp/20)-1)/(10^(Rp/20)+1); delta2 = (1+delta1)*(10^(-As/20)); deltaH = max(delta1,delta2); deltaL = min(delta1,delta2); weights = [delta2/delta1 1]; deltaf = (ws-wp)/(2*pi);
M = ceil((-20*log10(sqrt(delta1*delta2))-13)/(14.6*deltaf)+1) f = [0 wp/pi ws/pi 1]; m = [1 1 0 0]; h = firpm(M-1,f,m,weights);
[db,mag,pha,grd,w] = freqz_m(h,[1]);
Asd = -max(db(wsi:1:501)) while Asd 0
% Omegac = tan so cat theo don vi radians/sec [z,p,k] = cheb1ap(N,Rp); a = real(poly(p)); aNn = a(N+1); p = p*Omegac; a = real(poly(p)); aNu = a(N+1); k = k*aNu/aNn;
HậỐ s ỐẾ ỗ ỗổẵố ỗổ ộ hậỐ ỗổỘy ố ộ Ọ b Ơ N ƠhỒ ỗổ Ơ B Ơ Ơủa b ỏ Ơ Ơó ỗh ỏ a Ơh ố ƠhỒ ồhỂ h ồ ỗ Ọ Ộ ộ Ọ ƠẬƠ Ơhỉ ỗỌẵỘ kỹ ỗhỘ ỗ yẵỘ Ơ Ộ đ Ộ ộậỒ
Bài 6.3 T Ồ hậỐ afd_chb1 ỗổ ộ ỗhỌ ỗ k b ỏ Ơ ỗhẾốg ỗh ồ ỗ ốg ỗ , địốh ơ ốg
ChƯbyshƯộ Ơó b Ơ ỗ Ọ Ộ: function [b,a] = afd_chb1(Wp,Ws,Rp,As)
% Analog Lowpass Filter Design: Chebyshev-1
% [b,a] = afd_chb1(Wp,Ws,Rp,As)
% b = cac he so da thuc tu so cua Ha(s)
% a = cac he so da thuc mau so cua Ha(s)
% Wp = tan so cat dai thong theo don vi rad/sec; Wp >0
% Ws = tan so cat dai chan theo don vi rad/sec; Ws>Wp >0
% Rp = Do gon dai thong theo don vi dB; (Rp > 0)
In this design snippet, As denotes the stopband attenuation in decibels and Rp the passband ripple in decibels; Wp is the passband edge frequency and Ws the stopband edge The code enforces that Wp > 0, Ws > Wp, and that Rp > 0 and As > 0; otherwise it raises errors indicating that the passband frequency must be positive, the stopband edge must exceed the passband edge, and the ripple and attenuation must be positive When the specifications are valid, it computes ep = sqrt(10^(Rp/10) - 1), the epsilon ripple factor used in Chebyshev-type filter design.
OmegaR = Ws/Wp; g = sqrt(A*A-1)/ep;
N = ceil(log10(g+sqrt(g*g-1))/log10(OmegaR+sqrt(OmegaR*OmegaR- 1))); fprintf('\n*** Bac cua bo loc Chebyshev-1 = %2.0f\n',N);
Bài 6.4 ThỌ ỗ k b ỏ Ơ ỗhẾốg ỗh ồ ỗ ốg ỗ , địốh ơ ốg ChƯbyshƯộ-I ộ Ọ ƠẬƠ ỗhaỐ s đ Ộ ộậỒ ốh saỘ:
VỌ ỗ Ơh ốg ỗổìốh ỗặốh ộậ bỌ Ộ ơỌ ố ỗổẵố đ ỗhị: a Đ ỏ ố Ơủa đẬồ ứốg ỗ ố s b ĐẬồ ứốg ồha Ơủa b ỏ Ơ c Đ ỏ ố ỗ ốg đ Ọ ỗặốh ỗhƯỒ ơB Ơủa đẬồ ứốg ỗ ố s d ĐẬồ ứốg ớỘốg Ơủa b ỏ Ơ ỗ ốg ỗ
THI T K B L C S
BỌ ố đ Ọ sỒốg ỗỘy ố ỗặốh ỏậ ồhỰồ Ậốh ớ ỗ Ố ỗ ồhẳốg s saốg Ố ỗ ồhẳốg ờ địốh ốghĩa ốh saỘ:
V Ọ b ỏ Ơ ỗ ốg ỗ ƠhỒ ỗổ Ơ Ơó hậỐ h ỗh ốg Ha(s), b ỏ Ơ s đ Ơ ỗhỌ ỗ k ốh saỘ:
Bài 6.5 ChỘy ố đ Ọ b ỏ Ơ ộ Ọ ƠẬƠ ỗhaỐ s đử ƠhỒ bài 6.4 saốg b ỏ Ơ s bằốg ồh ốg ồhẬồ bỌ ố đ Ọ sỒốg ỗỘy ố HậỐ bilinear cho phép ỗh Ơ hỌ ố ộỌ Ơ ƠhỘy ố đ Ọ ốậy
T Ồ sƠổỌồỗ ưỌỏƯ bai605.m ốh saỘ: wp =0.2*pi; % digital Passband freq in Hz ws =0.3*pi; % digital Stopband freq in Hz
Rp = 1; % Passband ripple in dB
As = 15; % Stopband attenuation in dB
T = 1; Fs =1/T; % Dat T=1 OmegaP = (2/T)*tan(wp/2);
% Tinh toan bo loc tuong tu:
[cs, ds] = afd_chb1(OmegaP,OmegaS,Rp,As);
% Bien doi song tuyen tinh:
Using freqz_m(b,a), the frequency response of the filter is computed and displayed in a 2x2 subplot grid The first subplot shows the magnitude response |H_r(ω)| versus the normalized frequency w/π, with axis ranges [0,1] for frequency and [0,1.2] for magnitude, a grid, and the title “Frequency Response,” with axis labels f[*π] and |H_r(ω)| The second subplot presents the magnitude in decibels across the same frequency range, with axis [0,1] and [-30,10] dB, titled “Frequency Response in dB,” and labels f[*π] and dB The third subplot plots the phase response Angle(H_r(ω)) versus w/π, with axis [0,1] and [-1,1], grid enabled, titled “Phase Response,” and labels f[*π] and Angle(H_r(ω)) The fourth subplot shows the group delay in samples across the frequency axis, with axis [0,1] and [0,15], grid on, titled “Group Delay,” and labels f[*π] and Samples Together these plots summarize the filter’s amplitude, phase, and timing behavior over the normalized frequency range. -**Support Pollinations.AI:** -🌸 **Ad** 🌸Powered by Pollinations.AI free text APIs [Support our mission](https://pollinations.ai/redirect/kofi) to keep AI accessible for everyone.
>>bai605 ỗ Ọ Ơ a s ỏ ốh đ kỌ Ố ỗổa k ỗ ỔỘ
Ph ốg ồhẬồ b ỗ bỌ ố ớỘốg ỗh Ơ hỌ ố ỏ y Ố Ộ b ỏ Ơ ỗ ốg ỗ đ ỗ Ồ ổa b ỏ Ơ s : h(n) = ha(nT) ĐẬồ ứốg ỗ ố s Ơủa b ỏ Ơ s Ơó ỔỘaố h ộ Ọ đẬồ ứốg ỗ ố s Ơủa b ỏ Ơ ỗ ốg ỗ ốh sau:
Bài 6.6 Th Ơ hỌ ố yẵỘ Ơ Ộ Ơủa bài 6.5 ỗhƯỒ ồh ốg ồhẬồ b ỗ bỌ ố ớỘốg, ơỂốg hậỐ impinvar Ơủa MATLAB SỒ sẬốh k ỗ ỔỘ ỗhỘ đ Ơ ộ Ọ ƠừỘ ỗổẵố
Bài 6.7 T Ồ hậỐ zmapping ỗh Ơ hỌ ố ộỌ Ơ ƠhỘy ố đ Ọ băốg ỗ ố s , ỗổ ộ hậỐ ỗổỘy ố Ơủa b ỏ Ơ Ố Ọ ộ Ọ ỗhaỐ s đ Ộ ộậỒ ỏậ hậỐ ỗổỘy ố đ ỗ Ơủa b ỏ Ơ ỗhẾốg ỗh ồ, hậỐ đa ỗhứƠ ỗh hỌ ố ồhỰồ đ Ọ bỌ ố s đ Ơ ỏ ồ:
The zmapping function computes the numerator and denominator coefficient vectors bz and az from the input coefficient vectors bZ, aZ and the zero and pole polynomials Nz and Dz It first determines the polynomial orders bzord and azord as bzord = (length(bZ)−1)·(length(Nz)−1) and azord = (length(aZ)−1)·(length(Dz)−1) It then builds bz by looping k from 0 to bzord, forming pln as the k-th prefix convolution of Nz with [1] and pld as the (bzord−k)-th prefix convolution of Dz with [1], and accumulating bz(k+1) times conv(pln, pld) In parallel, az is built in the same fashion using aZ and the same convolution structure, again using Nz for the prefix and Dz for the suffix Finally, the function normalizes both polynomials by az1 = az(1) and divides az and bz by az1, yielding the normalized transfer-function coefficient vectors.
Bài 6.8 VỌ ỗ Ơh ốg ỗổìốh ƠhỘy ố đ Ọ ỗ b ỏ Ơ ỗhẾốg ỗh ồ ỗhƯỒ ỗhỌ ỗ k Ơủa bài 6.5 saốg b ỏ Ơ ỗhẾốg ƠaỒ Ơó ỗ ố s Ơắỗ ωc=0.6S Tặốh ộậ bỌ Ộ ơỌ ố ỗổẵố đ ỗhị: a Đ ỏ ố Ơủa đẬồ ứốg ỗ ố s b HậỐ đẬồ ứốg ồha Ơủa b ỏ Ơ Ơ HậỐ đ ỏ ố ỗ ốg đ Ọ ỗặốh ỗhƯỒ ơB Ơủa đẬồ ứốg ỗ ố s ơ Tổ ốhóỐ ỗhƯỒ ỗ ố s