1. Cấu trúc dữ liệu tập hợp



tải về 0.64 Mb.
Chế độ xem pdf
trang8/8
Chuyển đổi dữ liệu25.05.2023
Kích0.64 Mb.
#54743
1   2   3   4   5   6   7   8
duy khanhh

2.4. Các phép toán trên kiểu tập hợp set trong Python 
Phép lấy hiệu hai tập hợp set trong Python 
Phép lấy hiệu hai tập hợp S1 và S2, sử dụng cú pháp S1-S2 hoặc S1.difference(S2). 
Kết quả trả về là một tập mới chứa các phần tử thuộc tập S1 và không thuộc tập S2. Một 
phép toán tương tự là S1.symmetric_difference(S2) hoặc S1^S2 có tác dụng như S2 – S1. 
>>> S1 = {1, 2, 3, 4, 5, 6} 
>>> S2 = {0, 2, 4, 6, 8, 10} 
>>> S1 – S2 
{1, 3, 5} #Hiệu của tập S1 và S2 
Phép lấy hợp hai tập hợp set trong Python 


16 
Sử dụng cú pháp S1|S2 hoặc S1.union(S2) để lấy hợp hai tập hợp S1 và S2. Kết quả 
trả về một tập mới chứa tất cả các phần tử thuộc tập S1 và tất cả các phần tử thuộc 
tập S2. Đương nhiên, nếu phần tử nào đó thuộc cả hai tập hợp thì chỉ được kể một lần. 
>>> S1 = {1, 2, 3, 4, 5, 6} 
>>> S2 = {0, 2, 4, 6, 8, 10} 
>>> S1|S2 
{0, 1, 2, 3, 4, 5, 6, 8, 10} #Hợp của S1 và S2 
Phép lấy giao hai tập hợp set trong Python 
Sử dụng cú pháp S1 & S2 hoặc S1.intersection(S2) để lấy giao hai tập hợp S1 và S2. 
Kết quả trả về một tập mới chứa tất cả các phần tử thuộc đồng thời cả hai tập S1 và S2.
Tức là các phần tử chung của hai tập hợp đó. 
>>> S1 = {1, 2, 3, 4, 5, 6} 
>>> S2 = {0, 2, 4, 6, 8, 10} 
>>> S1&S2 
{2, 4, 6} #Giao của S1 và S2 gồm ba phần tử 2, 4, 6 
Toán tử kiểm tra tập con 
Để kiểm tra tập S1 có là tập con của S2 hay không, ta sử dụng cú pháp S1<= 
S2 hoặc S1.issubset(S2). Kết quả trả về là kiểu Boolean True nếu đúng và False nếu sai. 
Nhắc lại rằng, tập S1 là tập con của S2 nếu mọi phần tử của S1 đều là phần tử của S2 (tức 
là cũng thuộc tập S2). 
>>> S1 = {1, 2, 3, 4, 5, 6, 7} 
>>> S2 = {1, 2, 5} 
>>> S3 = {1, 2, 5, 9} 
>>> S4 = set() 
>>> S1.issubset(S1) #Mọi tập đều là tập con của chính bản thân nó 
True 
>>> S2.issubset(S1) 
True 


17 
>>> S3.issubset(S1) 
False 
>>> S4.issubset(S1) #Tập rỗng là tập con của mọi tập hợp 
True 
Ngược lại của tập con, chúng ta có thể sử dụng S1 >= S2 hoặc S1.issupperset(S2) để 
kiểm tra S1 có là tập cha của (tức là có chứa) S2 hay không, trả về True nếu đúng 
và False nếu sai. Tập S1 là tập cha của S2 nếu mọi phần tử của S2 đều thuộc tập S1. 
>>> S1 = {1, 2, 3, 4, 5, 6, 7} 
>>> S2 = {1, 2, 5} 
>>> S3 = {1, 2, 5, 9} 
>>> S4 = set() 
>>> S1.issupperset(S1) #Mọi tập đều là tập cha của chính bản thân nó 
True 
>>> S1.issupperset(S2) 
True 
>>> S1.issupperset(S3) 
False 
>>> S1.issupperset(S4) 
True 
Tập con thực sự, tập cha thực sự 
Sử dụng cú phsp S1S2 để kiểm tra S1 có là tập con thực sự, tập cha thực sự 
của S2 hay không. Tập S1 là tập con thực sự của S2 nếu S1 là tập con 
của S1 nhưng S1 và S2 không bằng nhau. Tương tự đối với khái niệm tập cha thực sự. 
2.5. Viết một chương trình Scilab về tín hiệu điện tử 
// Định nghĩa tín hiệu điện tử 


18 
function y = electronic_signal(t)
y = 5 * sin(2 * %pi * 1e3 * t) + 3 * cos(2 * %pi * 5e3 * t); 
endfunction 
// Tạo dữ liệu cho trục thời gian 
t = linspace(0, 0.01, 1000); 
// Tính giá trị của tín hiệu điện tử tại các điểm thời gian 
signal = electronic_signal(t); 
// Vẽ đồ thị tín hiệu điện tử 
plot(t, signal) 
xlabel(‘Thời gian (s) ’) 
ylabe(‘Amplitude’) 
title(‘Biểu đồ tín hiệu điện tử’) 
// Hiển thị đồ thị
xs2png(0, ‘electronic_signal.png’)
2.6. Kết quả mô phỏng bằng Scilab 


19 


20 
KẾT LUẬN 
Trong tiểu luận này, chúng ta đã đi qua một tổng quan về lập trình hướng đối tượng 
trong Python và ứng dụng Scilab để thiết kế mô phỏng tín hiệu qua bộ lọc trung bình 
động trong điện tử viễn thông. Chúng ta đã khám phá các khái niệm cơ bản của lập trình 
hướng đối tượng như lớp, đối tượng, phương thức và thuộc tính, và hiểu cách chúng có 
thể được áp dụng để tạo ra các mô hình mô phỏng tín hiệu. Sau đó, chúng ta đã giới 
thiệu Scilab, một môi trường tính toán mã nguồn mở mạnh mẽ và linh hoạt. Scilab cung 
cấp các công cụ và chức năng để thiết kế, mô phỏng và phân tích tín hiệu trong điện tử 
viễn thông. Chúng ta đã thấy cách sử dụng Scilab để thực hiện quy trình thiết kế mô 
phỏng tín hiệu qua bộ lọc trung bình động. Qua quá trình mô phỏng, chúng ta đã có cái 
nhìn sâu hơn về cách bộ lọc trung bình động hoạt động và ảnh hưởng của nó đến tín 
hiệu. Chúng ta đã tạo ra tín hiệu nguồn, thêm tạp âm và nhiễu vào tín hiệu thu, sau đó áp 
dụng bộ lọc trung bình động để loại bỏ nhiễu và tái tạo tín hiệu gốc. Kết quả mô phỏng 
đã được hiển thị và phân tích trong miền thời gian và miền tần số.
Em xin cảm ơn TS. Lê Trọng Hiếu đã giảng dạy môn Kỹ thuật lập trình trong Điện tử Viễn 
thông để giúp em có những kiến thức để hoàn thành bài tiểu luận này. 


21 
TÀI LIỆU THAM KHẢO 
[1] Lê Trọng Hiếu, "Tài liệu môn học kỹ thuật lập trình trong Điện tử Viễn thông", Đại học 
Điện Lực.
[2] Nguyễn Văn Lương, "Lập trình Python - Các kiểu dữ liệu tập hợp trong Python. ", Nhà 
xuất bản Khoa học và Kỹ thuật, 2015.
[3] Lê Ngọc Thạch, "Python và Các kiểu dữ liệu tập hợp trong Python. ", Nhà xuất bản 
Thống kê, 2016. [4] Scilab Wiki
 

tải về 0.64 Mb.

Chia sẻ với bạn bè của bạn:
1   2   3   4   5   6   7   8




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương