Vẽ đồ thị Bode của hệ sau, đoạn code nào đúng *
Trả lời:
Đáp án đúng: B
Đoạn code đúng để vẽ đồ thị Bode của hệ thống sử dụng hàm `ss` (state-space) trong MATLAB/Octave phải đảm bảo các yếu tố sau:
1. **Cú pháp hàm `ss`:** Hàm `ss` được sử dụng để tạo một mô hình không gian trạng thái (state-space model). Cú pháp tổng quát là `sys = ss(A, B, C, D)`, trong đó:
* `A` là ma trận trạng thái.
* `B` là ma trận điều khiển.
* `C` là ma trận đầu ra.
* `D` là ma trận truyền trực tiếp.
2. **Kiểm tra các ma trận:** Trong các đáp án, ta cần kiểm tra xem các ma trận `B` và `C` đã được nhập đúng cách chưa. Ma trận `B` là một vector cột, và ma trận `C` là một vector hàng.
3. **Vẽ đồ thị Bode:** Sau khi tạo được đối tượng `sys` đại diện cho hệ thống, ta sử dụng hàm `bode(sys)` để vẽ đồ thị Bode.
**Phân tích các đáp án:**
* **A:** `ss([1 2 1;-1 0 2;2 1 3],[1 0 2],[2 0 0],[]);bode(sys);`
* Sai vì `[1 0 2]` phải là một vector cột, nhưng nó đang được nhập như một vector hàng cho ma trận `B`. Hơn nữa, `sys` không được định nghĩa trước khi sử dụng hàm `bode(sys)`.
* **B:** `sys= ss([1 2 1;-1 0 2;2 1 3],[1;0;2],[2 0 0],[]);bode(sys);`
* Đúng vì `[1;0;2]` là một vector cột, và hàm `ss` được sử dụng đúng cách để tạo `sys` trước khi vẽ đồ thị Bode.
* **C:** `ss([1 2 1;-1 0 2;2 1 3],[1 0 2],[2; 0; 0],[]);bode(sys);`
* Sai vì `[1 0 2]` phải là một vector cột cho ma trận `B`, và `[2; 0; 0]` phải là một vector hàng cho ma trận `C`.
* **D:** `G(s)= ss([1 2 1;-1 0 2;2 1 3],[1;0;2],[2 0 0],[]);bode(G(s));`
* Sai vì `G(s)` không phải là một cách hợp lệ để đặt tên cho biến trong MATLAB/Octave, và cách gọi `bode(G(s))` là không chính xác. Biến phải là `sys` hoặc một tên biến hợp lệ khác.
Vì vậy, đáp án đúng là B.





