Python mảng 2 chiều ngẫu nhiên
Như chúng ta đã biết, Numpy là một thư viện Python nổi tiếng để hỗ trợ tính toán ma trận trong Python, cùng với một bộ sưu tập lớn các hàm toán học cấp cao để hoạt động trên các mảng vectơ, ma trận và tensor [1]. Matlab là ngôn ngữ lập trình và môi trường tính toán số, hỗ trợ tính toán ma trận, vẽ đồ thị hàm và dữ liệu, thực hiện thuật toán, tạo giao diện và giao tiếp với các chương trình viết bằng ngôn ngữ khác [2] Một đặc điểm chung của Numpy và Matlab là chúng được sử dụng rộng rãi trong tính toán ma trận và tính toán số. Tuy nhiên, chúng không hoàn toàn giống nhau. Trong bài đăng này, chúng tôi sẽ thảo luận về cách tạo số và mảng ngẫu nhiên trong cả Matlab và Numpy. Cụ thể, chúng tôi so sánh giữa Matlab và Numpy để tái tạo các số và mảng ngẫu nhiên giống nhau Số ngẫu nhiên và mảngCả Matlab và Numpy đều có thể tạo số và mảng ngẫu nhiên theo một lệnh nhất định. Có hai khái niệm quan trọng
Đối với phân phối số ngẫu nhiên, chúng ta thường tính đến phân phối đều và phân phối chuẩn (Gaussian). Trong Numpy, chúng ta có thể sử dụng sample = rand(1, 2) 4 để tạo các số ngẫu nhiên được phân phối đồng đều. Trong Matlab, chúng ta có thể sử dụng sample = rand(1, 2) 5 để tạo các số ngẫu nhiên phân bố đều. Dưới đây là một số ví dụ đơn giảnNumPy trong Python import numpy as npsample = np.random.rand(2) đầu ra là [0.70573498 0.8595017 ] matlab sample = rand(1, 2) đầu ra là ans = Các ví dụ trên là về các số ngẫu nhiên được phân phối đồng đều. Chúng ta có thể tạo các số ngẫu nhiên tuân theo phân phối chuẩn chuẩn
Có thể sử dụng một lệnh/hàm nhất định để tạo số ngẫu nhiên theo một phân phối cụ thể, nhưng mỗi khi chúng tôi tạo lại mã của mình, số ngẫu nhiên được tạo sẽ khác. Do đó, hạt giống ngẫu nhiên là một khái niệm quan trọng khác, cho phép người ta sửa các số ngẫu nhiên trong mỗi lần Ví dụ: mã Python sau ________số 8sẽ tạo ra những con số ngẫu nhiên này [0.77132064 0.02075195] Trong Matlab sample = rand(1, 2) 0chúng tôi có đầu ra sau sample = rand(1, 2) 1So sánh các hàm Rand trong Numpy và MatlabTrong cả Numpy và Matlab, chúng có thể xử lý các tính toán của các mảng khác nhau
Trong phần tiếp theo, chúng tôi sẽ cố gắng tạo các số ngẫu nhiên được phân phối đồng đều trong Numpy và Matlab, tương ứng. Chúng tôi cũng sẽ cố gắng tạo các số ngẫu nhiên giống nhau trong Numpy và Matlab Tạo mảng 1-DĐể có được các số ngẫu nhiên được phân phối đồng đều giống nhau trong Numpy và Matlab, chúng tôi đặt kích thước vectơ là 4 và hạt ngẫu nhiên là 10. Hãy để chúng tôi thử nó Nặng nề sample = rand(1, 2) 2Chạy nó, chúng tôi có sample = rand(1, 2) 3matlab [0.70573498 0.8595017 ] 0Chạy nó, chúng tôi có [0.70573498 0.8595017 ] 1Rõ ràng là cả hai vectơ ngẫu nhiên được tạo đều giống nhau Tạo mảng 2 chiềuĐầu tiên, chúng tôi đặt kích thước ma trận là 2 nhân 3 và hạt giống ngẫu nhiên là 10 Nặng nề [0.70573498 0.8595017 ] 2Chạy nó, chúng tôi có [0.70573498 0.8595017 ] 3matlab [0.70573498 0.8595017 ] 4Chạy nó, chúng tôi có [0.70573498 0.8595017 ] 5Các ma trận ngẫu nhiên phân phối đồng đều được tạo là giống nhau Tạo mảng 3-DĐầu tiên, chúng tôi đặt kích thước ma trận là 2 nhân 3 nhân 2 và hạt giống ngẫu nhiên là 10 Nặng nề [0.70573498 0.8595017 ] 6Chạy nó, chúng tôi có [0.70573498 0.8595017 ] 7matlab [0.70573498 0.8595017 ] 8Chạy nó, chúng tôi có [0.70573498 0.8595017 ] 9Các tenxơ ngẫu nhiên phân phối đồng đều được tạo là giống nhau Tạo các số ngẫu nhiên được phân phối bình thường trong Numpy và MatlabỞ trên, Numpy và Matlab có thể tạo các số ngẫu nhiên được phân phối đồng đều giống nhau nếu chúng ta sử dụng cùng một hạt giống ngẫu nhiên. Thật không may, vì Numpy và Matlab sử dụng các phép biến đổi khác nhau để tạo các mẫu từ phân phối chuẩn chuẩn, do đó chúng ta cần sử dụng cùng một phép biến đổi trong cả Numpy và Matlab Trong thực tế, vẫn có thể sao chép đầu ra của hàm randn() của Matlab giống như Numpy Nặng nề sample = rand(1, 2) 0Chạy nó, chúng tôi có sample = rand(1, 2) 1matlab sample = rand(1, 2) 2Chạy nó, chúng tôi có sample = rand(1, 2) 3Các ma trận ngẫu nhiên phân phối chuẩn được tạo giống nhau Người giới thiệu[1] Numpy trên Wikipedia. https. // vi. wikipedia. tổ chức/wiki/NumPy [2] Matlab trên Wikipedia. https. // vi. wikipedia. org/wiki/MATLAB [3] Logo Numpy là từ https. // chung. wikimedia. org/wiki/Tệp. NumPy_logo_2020. svg [4] Logo Matlab là từ https. //www. Google. com/url?esrc=s&q=&rct=j&sa=U&url=https. //1000logo. net/matlab-logo/&ved=2ahUKEwj24b7C7bvzAhUKoXIEHci3AdQQr4kDegQIEhAC&usg=AOvVaw2JKOiqdedKhhEEDnpm7AcW [5] Tái tạo số ngẫu nhiên trong Matlab và Python/NumPy. Trang web GitHub. https. //github. com/jonasrauber/randn-matlab-python [6] Có thể tạo lại randn() của MATLAB bằng NumPy không? . // stackoverflow. com/câu hỏi/3722138/is-it-possible-to-reproducte-randn-of-matlab-with-numpy [7] So sánh mã Matlab và Numpy sử dụng tạo số ngẫu nhiên. https. // stackoverflow. com/câu hỏi/18486241/so sánh-matlab-and-numpy-code-that-uses-random-number-generation |