Tag Archives: sinh viên

Mô hình hóa hiện tượng vật lý bằng MATLAB

Được viết dành cho người mới học, cuốn sách này giới thiệu lập trình MATLAB và mô phỏng các hệ thống vật lý. Cuốn sách mở đầu với các giá trị vô hướng và dần dần nâng lên véc-tơ và ma trận. Các chủ đề được trình bày bao gồm biến và giá trị, đoạn mã lệnh, vòng lặp, phương trình vi phân thường, véc-tơ và hàm. MATLAB được dùng trọn vẹn trong cuốn này để giải quyết nhiều bài tập cuối chương. (trích thông tin từ Amazon.com)

Tác giả

Allen B. Downey là Phó giáo sư ngành Khoa học máy tính tại Franklin W. Olin College of Engineering. Ông đã viết một số cuốn sách, bao gồm Computational Modeling and Complexity Science, How to Think Like a Computer Scientist (Cách tư duy như nhà khoa học máy tính), The Little Book of Semaphores, Physical Modeling in MATLAB, và Learning Perl the Hard Way.

Mục lục

Chương 1: Các biến và giá trị
Chương 2: Mã lệnh chương trình
Chương 3: Vòng lặp

Chương 4: Véc-tơ
Chương 5: Hàm
Chương 6: Tìm nghiệm
Chương 7: Hàm số của véc-tơ
Chương 8: Phương trình vi phân thường
Chương 9: Hệ các PVT
Chương 10: Các hệ bậc hai
Chương 11: Tối ưu hóa và nội suy
Chương 12: Bây giờ véc-tơ mới thật là véc-tơ

Tiếp tục đọc

Advertisements

123 phản hồi

Filed under Mô hình hóa

Chương 3: Tích phân của các PVT (Phần 1)

Xem tiếp Phần 2 * Trở về Mục lục cuốn sách

Trong chương này, ta sẽ xét những kĩ thuật số trị thông dụng phục vụ cho việc lấy tích phân của hệ các phương trình vi phân thường (PVT). Sau đó ta sẽ dùng những kĩ thuật này để mô phỏng quỹ đạo của những đường bay khác nhau của quả bóng chày.

Theo định nghĩa, một phương trình vi phân thường, hay PVT, là một phương trình vi phân trong đó tất cả các biến phụ thuộc đều là hàm của một biến độc lập đơn lẻ. Còn PVT bậc n là phương trình sao cho khi tối giản, đạo hàm bậc cao nhất mà nó chứa là bậc n. Tiếp tục đọc

2 phản hồi

Filed under Vật lý tính toán

Nhập môn Vật lý tính toán

Dịch từ quyển sách “Introduction to Computational Physics” của Richard Fitzpatrick, GS Trường UT Austin. Dành cho người tự học và sinh viên các trường. Không dùng cho mục đích kinh doanh.

Mục lục

Chương 1: Giới thiệu chung
Chương 2: Lập trình khoa học bằng ngôn ngữ C
Chương 3: Tích phân của các PVT (Phần 1, Phần 2)
Chương 4: Con lắc hỗn loạn (Phần 1, Phần 2)
Chương 5: Phương trình Poisson (Phần 1, Phần 2)
Chương 6: Phương trình khuếch tán
Chương 7: Phương trình sóng (Phần 1, Phần 2)
Chương 8: Chương trình tính dùng phương pháp hạt-trong-ô
Chương 9: Phương pháp Monte-Carlo (Phần 1, Phần 2)

Tiếp tục đọc

13 phản hồi

Filed under Vật lý tính toán

Chương 8: Ước lượng

Trở về Mục lục cuốn sách

Trò chơi ước lượng

Ta hãy cùng tham gia một trò chơi. Tôi sẽ nghĩ trong đầu một dạng phân bố, còn bạn phải đoán xem đó là phân bố gì. Chúng ta sẽ bắt đầu một cách dễ dàng rồi sau đó sẽ khó dần lên.

Tôi đang nghĩ đến một dạng phân bố. Sau đây là hai lời gợi ý; đó là một phân bố chuẩn, và sau đây là một mẫu ngẫu nhiên được rút từ nó:

{0,441 ; 1,774 ; 0,101 ; 1,138 ; 2,975 ; 2,138}

Bạn thử đoán xem tham số trị trung bình, μ, của phân bố này bằng bao nhiêu? Tiếp tục đọc

2 phản hồi

Filed under Think Stats

Chương 3: Hàm phân bố lũy tích

Trở về Mục lục cuốn sách

Nghịch lý về số sinh viên trong lớp

Trong nhiều trường đại học Hoa Kỳ, tỉ lệ sinh viên so với giảng viên đều vào khoảng 10:1. Nhưng sinh viên thường ngạc nhiên khi biết rằng lớp học của họ trung bình đều hơn 10 sinh viên. Có hai lý do giải thích sự khác biệt này:

  • Sinh viên nói chung đều học 4–5 lớp mỗi kỳ, trong khi giáo sư thường chỉ dạy 1 hoặc 2 lớp.
  • Số sinh viên may mắn được học lớp vắng thì ít, còn sinh viên phải học lớp lớn thì (a hèm!) có rất nhiều.

Tiếp tục đọc

%(count) bình luận

Filed under Think Stats

Chương 2: Thống kê mô tả

Trở về Mục lục cuốn sách

Trị trung bình và kỳ vọng

Ở chương trước, tôi đã đề cập đến ba đặc trưng thống kê—trị trung bình, phương sai và trung vị—mà không giải thích ý nghĩa của chúng. Vì vậy, trước khi đi tiếp, ta sẽ làm rõ điều này. Nếu bạn có một mẫu gồm n giá trị, xi, thì giá trị trung bình, μ, là tổng của các giá trị trên chia cho số các giá trị; nói cách khác
μ = (1 / n)∑i xi
Tiếp tục đọc

5 phản hồi

Filed under Think Stats

Chương 1: Tư duy thống kê cần cho người lập trình

Dịch từ cuốn Think Stats: Probability and Statistics for Programmers của Allen B. Downey, NXB Green Tea Press. Sách điện tử được phát hành miễn phí theo giấy phép: Creative Commons Attribution-NonCommercial 3.0 Unported License. Trong quá trình phân phối bạn nên ghi rõ nguồn gốc cuốn sách.

Cuốn sách này bàn về việc chuyển đổi số liệu thành kiến thức. Số liệu thì rẻ, chí ít là so với kiến thức, vốn là thứ rất khó kiếm được.

Tôi sẽ trình bày ba mảng kiến thức liên quan đến nhau:

Xác suất
là môn học về các sự kiện ngẫu nhiên. Hầu hết chúng ta ai cũng có hiểu biết trực quan về xác suất ở một mức độ nào đó, vì vậy mà thường nói “dường như” mà chẳng cần ai dạy, nhưng ta sẽ nghiên cứu về cách lượng hóa những khẳng định đó bằng những con số.

Thống kê
là lĩnh vực trong đó dùng các mẫu số liệu để hỗ trợ cho nhận định về quần thể. Đa phần các phân tích thống kê đều dựa vào xác suất, đó là lý do tại sao hai mảng kiến thức này thường được trình bày cùng nhau.

Tính toán
là công cụ thích hợp để phân tích định lượng, và máy tính thường được dùng để xử lý bài toán thống kê. Ngoài ra, các thí nghiệm tính toán cũng giúp ích cho việc tìm hiểu các khái niệm trong xác suất và thống kê.

Tiếp tục đọc

3 phản hồi

Filed under Think Stats

Phụ lục: Gỡ lỗi

Trở về Mục lục cuốn sách

Những kiểu lỗi khác nhau có thể xảy ra trong chương trình, và việc phân biệt chúng rất có ích để giúp tìm được lỗi nhanh hơn:

  • Các lỗi cú pháp thường được Python báo khi nó dịch từ mã lệnh sang mã byte. Các lỗi loại này thường để chỉ rằng có điều gì đó không ổn trong cú pháp của chương trình. Chẳng hạn: Quên mất dấu hai chấm ở cuối dòng lệnh def sẽ cho ra một thông báo lỗi có phần dư thừa SyntaxError: invalid syntax.
  • Các lỗi thực thi được trình thông dịch báo nếu có điều không ổn khi chương trình đang chạy. Hầu hết các thông báo lỗi thực thi đều kèm theo thông tin về vị trí lỗi xảy ra và những hàm nào đã được thực hiện. Ví dụ: Một phép đệ quy vô hạn cuối cùng sẽ gây ra lỗi thực thi “maximum recursion depth exceeded”.
  • Các lỗi ngữ nghĩa là những vấn đề với chương trình được chạy mà không phát sinh thông báo lỗi nhưng không làm đúng công việc như đã định. Chẳng hạn: Một biểu thức không được tính theo thứ tự mà bạn trông đợi và cho kết quả không chính xác.

Tiếp tục đọc

8 phản hồi

Filed under Think Python

Chương 19: Nghiên cứu cụ thể: Tkinter

Trở về Mục lục quyển sách

GUI

Phần lớn chương trình ta đã gặp đều hoạt động trên nền chữ, nhưng cũng có nhiều chương trình dùng giao diện đồ họa người dùng, cũng được gọi là GUI.

Python cung cấp một số cách để viết chương trình GUI: dùng wxPython, Tkinter, và Qt. Mỗi cách đều có ưu và nhược điểm, đó cũng là lí do mà Python chưa có quy chuẩn cụ thể về mặt này.

Công cụ mà tôi trình bày trong chương này là Tkinter vì tôi nghĩ rằng đó là thứ dễ nhất mà chúng ta bắt đầu học. Đa số các khái niệm trong chương này cũng dùng được với các module GUI khác.

Tiếp tục đọc

2 phản hồi

Filed under Think Python

Chương 18: Thừa kế

Trở về Mục lục cuốn sách

Trong chương này ta sẽ xây dựng các lớp để biểu diễn cho quân bài tây, bộ bài, và phần bài của người chơi trong trò poker. Nếu không biết chơi poker, bạn có thể xem ở wikipedia.org/wiki/Poker, dù điều này không cần thiết vì tôi sẽ nói những điều cần để làm bài tập.

Thông tin về bộ bài tây thông dụng có ở wikipedia.org/wiki/Playing_cards.

Đối tượng lá bài (Card)

Có 52 lá bài trong một bộ, mỗi lá bài thuộc về một trong bốn chất và một trong 13 bậc. Các chất gồm Pích, Cơ, Rô, và Nhép (theo thứ tự giảm dần trong trò bridge). Các bậc gồm có A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, và K. Tùy theo trò chơi mà bạn quân A có thể cao hơn K hoặc thấp hơn 2.

Nếu bạn muốn định nghĩa một đối tượng mới để biểu diễn cho lá bài, rõ ràng các thuộc tính phải là: rank (bậc) và suit (chất). Còn việc chọn kiểu dữ liệu cho các thuộc tính lại không hiển nhiên. Một khả năng là dùng các chuỗi gồm những từ như 'Spade' (Pích) cho chất và 'Queen' cho bậc. Một vấn đề đặt ra với cách làm này là sẽ không dễ so sánh xem lá bài nào có bậc hoặc chất cao hơn. Tiếp tục đọc

3 phản hồi

Filed under Think Python