Làm thế nào để bạn viết một sản phẩm cartesian trong python?
Có thể tính tích cartesian của các vectơ trong NumPy không? . Chúng ta hãy xem các phương pháp khác nhau để tính tích cartesian của vectơ. Trước khi tiếp tục, chúng ta hãy lùi lại một bước và xác định ý nghĩa của sản phẩm cartesian Show Tích cartesian của X và Y, ký hiệu là X x Y, là tập hợp X x Y = {(a,b). a thuộc X và b thuộc Y}. (a,b) là các cặp phần tử được sắp xếp theo thứ tự (hoặc một cặp gồm hai số (hoặc biến) được viết trong ngoặc và được phân tách bằng dấu phẩy). Ví dụ: nếu X = {7,8} và Y = {1,2,4} thì tích cartesian của X và Y là X x Y = {(7,1),(7,2),(7,4 . Hiểu rồi? . X = {q,w,r} và Y = {0,1} cartesian của X và Y ký hiệu là X x Y = {(q,0), (q,1),(w,0),(w . Điều này nên rõ ràng bây giờ, phải không? . Hãy để chúng tôi tiếp tục Ghi chú. Tuyên bố từ chối trách nhiệm nhỏ. chúng tôi cho rằng bạn đã quen thuộc với các kỹ thuật Python như hiểu danh sách và được đào tạo bài bản về các hàm dựng sẵn của NumPy. Nếu bất kỳ khái niệm hoặc thuật ngữ nào được thảo luận trong bài viết này xa lạ với bạn, trước tiên vui lòng xem lại liên kết sau Có một số phương pháp để xác định tích cartesian của các vectơ, bao gồm
Bây giờ chúng ta hãy xem xét kỹ lưỡng từng cách tiếp cận đã nói ở trên Cách tiếp cận 1Chúng tôi sẽ sử dụng gói itertools trong phương thức này, gói này có một số phương thức liên quan đến tổ hợp & hoán vị. itertools. phương thức product() có thể được sử dụng để tính tích cartesian của "n" lần lặp. itertools. Phương thức product() chấp nhận iterables làm đối số đầu vào và trả về tích cartesian của iterables. Hãy để tôi minh họa điều này với một ví dụ Mã số
Cách tiếp cận 2Trong kỹ thuật này, chúng ta sẽ sử dụng một hàm sẵn có do gói NumPy cung cấp để tính tích cartesian của hai mảng NumPy. Để tính tích cartesian của hai mảng NumPy, chúng ta sẽ sử dụng phương thức meshgrid() từ thư viện NumPy. Các ma trận được truyền dưới dạng tham số đầu vào cho numpy. phương thức meshgrid(), trả về tích chéo của hai ma trận Để tính tích cartesian, chúng ta có thể sử dụng hàm numpy. phương thức meshgrid() theo hai cách. Với sự hỗ trợ của một ví dụ, chúng ta hãy khám phá phương pháp đầu tiên, trong đó chúng ta sẽ chỉ sử dụng numpy. hàm meshgrid() để tính tích cartesian Mã số
Cách tiếp cận 3Chúng tôi cũng sẽ sử dụng các chức năng sẵn có của NumPy trong phương pháp này. Các chức năng numpy. chuyển vị (), numpy. gạch() và numpy. repeat() sẽ được kết hợp. Để chuyển đổi mảng của chúng tôi, chúng tôi sử dụng numpy. chuyển vị(). cả numpy. gạch () và numpy. Các hàm repeat() tạo một mảng bằng cách sao chép nội dung mảng theo số lần được lập trình viên chỉ định làm đầu vào của hàm. Hãy để tôi minh họa điều này với một ví dụ Mã số
Cách tiếp cận 4Trình vòng lặp for-in là một cách đơn giản hơn để hoàn thành cùng một mục đích như hai cách tiếp cận trước đó. Trong Python, for-in iterator được sử dụng để lặp qua mọi phần tử trong một iterable. Kỹ thuật này không cần cài đặt bất kỳ gói hoặc thư viện bổ sung nào. Hãy để chúng tôi hiểu rõ hơn điều này bằng cách sử dụng một ví dụ Mã số ________số 8đầu ra
Ghi chú. Các phương pháp trên (cách tiếp cận 2, 3, & 4) phù hợp để tính tích cartesian của hai mảng Cách tiếp cận 5Chúng ta sẽ xem xét một số phương pháp do người dùng định nghĩa để tính tích cartesian của mảng n số theo cách tiếp cận này Hãy bắt đầu với hàm đầu tiên do người dùng định nghĩa, tính toán tích cartesian của n mảng số bằng cách sử dụng hàm numpy. Hàm result type() và phương pháp hiểu danh sách. các numpy. Phương thức result type() tạo ra kiểu dữ liệu bắt nguồn từ việc triển khai các nguyên tắc quảng cáo kiểu NumPy cho các tham số, trong trường hợp này là danh sách các mảng Mã số 0 |