Tag Archives: mô hình

Chương 4: Con lắc hỗn loạn (Phần 1)

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

Giới thiệu

Cho đến giờ, chúng ta chủ yếu gặp những bài toán có thể giải được bằng cách giải tích (do vậy có thể dễ dàng kiểm tra lời giải số trị). Bây giờ ta hãy tìm hiểu một bài toán vốn không thể giải được theo cách giải tích, và chỉ có thể tiến hành nghiên cứu đúng nghĩa bằng phương pháp số.

Xết một con lắc đơn gồm vật nặng coi là chất điểm có khối lượng m, ở cuối một thanh nhẹ có chiều dài l, gắn vào một chốt cố định, không có ma sát cho phép thanh (và vật nặng) có thể chuyển động tự do dưới tác dụng của trọng lực trong mặt phẳng đứng. Một con lắc như vậy được phác họa trên Hình cf1. Ta hãy tham số hóa vị trí tức thời của con lắc bằng góc θ mà thanh làm với chiều thẳng đứng hướng xuống. Giả sử rằng con lắc tự do quay được cả 360 độ. Vì vậy, θθ+2π đều tương ứng với cùng một vị trí của con lắc. Tiếp tục đọc

Advertisements

%(count) bình luận

Filed under Vật lý tính toá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

123 phản hồi

Filed under Mô hình hóa

E-book mới: Mô hình hóa các hiện tượng vật lý bằng MATLAB / Octave

Như tôi đã đề cập trong một phản hồi trước đây, việc phổ biến các phần mềm nguồn mở làm công cụ học tập rất có ích lợi; để truyền đạt ý tưởng trong cuốn sách “Physical Modeling in MATLAB” của tác giả Allen B. Downey, thật tuyệt vời nếu ta có phần mềm có thể tải về mọi lúc, mọi nơi, kể cả máy PC ở nhà của bạn, laptop của bạn, PC ở văn phòng hoặc một server chạy Linux đặt tại một đát nước xa xôi như Mỹ. Bạn có thể đọc tài liệu, thực hành trên phầm mềm danh chính ngôn thuận và e-book phát hành tự do.

Cuốn sách này không chỉ thich hợp với sinh viên mà các học sinh THPT có thể tự học. Không phải lập trình Pascal hay C vốn dành cho những kĩ sư công nghệ thông tin tương lai, bạn có thể dùng những kĩ năng MATLAB/Octave để giải quyết các bài toán nảy sinh trong mọi lĩnh vực: kinh tế, xây dựng, môi trường… Bạn được lựa chọn môn học mình thấy cần, thay vì theo một khung chương trình cứng nhắc đã được hoạch định cho cả trường bạn phải dạy và học theo.

Và đây là bản sơ thảo của cuốn sách Mô hình hóa các hiện tượng vật lý bằng Octave!

Cập nhật: một phiên bản dành cho ngôn ngữ gần giống: Mô hình hóa các hiện tượng vật lý bằng Scilab.

3 phản hồi

Filed under MatLab, Mô hình hóa

Chương 3: Định nghĩa lại sinh thái học có sử dụng dữ liệu

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

James R. Hunt | University of California, Berkeley and the Berkeley Water Center
Dennis D. Baldocchi | University of California, Berkeley
Catharine van Ingen | Microsoft Research

Sinh thái học là ngành nghiên cứu về sự sống và tương tác của nó với môi trường vật lý xung quanh. Vì tình hình biến đổi khí hậu yêu cầu sự thích nghi nhanh chóng, nên các công cụ phân tích mới đóng vai trò thiết yếu để định lượng những thay đổi đó trong số những biến động tự nhiên vốn có. Sinh thái là ngành khoa học trong đó nghiên cứu thường được thực hiện bởi nhóm nhỏ các cá nhân, với dữ liệu ghi chép trong sổ tay. Nhưng ngày nay các nghiên cứu tổng hợp cỡ lớn đang được nỗ lực thực hiện bởi sự hợp tác giữa hàng trăm nhà khoa học. Những nỗ lực lớn hơn này là rất cần thiết vì hiện giờ có hai sự phát triển: một là khoa học được thực hiện bằng cách nào, và hai là những câu hỏi về quản lý tài nguyên được đặt ra. Dù những nghiên cứu tổng hợp có sự hợp tác vẫn còn đang trong giai đoạn hình thành nhưng tầm quan trọng ngày càng tăng của chúng đã rõ ràng. Sự hỗ trợ của máy tính luôn gắn liền với những hình thức hợp tác như vậy và là then chốt đối với quá trình nghiên cứu. Tiếp tục đọc

%(count) bình luận

Filed under Mẫu hình IV

Chương 2. Ngành khoa học mới bắt nguồn từ những ứng dụng trong lĩnh vực môi trường

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

Jeff Dozier | University of California, Santa Barbara
William B. Gail | Microsoft

Khoa học về Trái đất và môi trường đã trưởng thành qua hai giai đoạn chính và đang bước vào giai đoạn thứ ba. Trong giai đoạn đầu tiên, vốn đã kết thúc cách đây hai thập kỉ, khoa học Trái đất và môi trường đa phần là mang tính chuyên môn và tập trung vào việc phát triển kiến thức về địa chất, hóa học khí quyển, hệ sinh thái, và các lĩnh vực khác của hệ Trái đất. Đến thập niên 1980, cộng đồng khoa học đã nhận ra sự ràng buộc chặt chẽ giữa các chuyên môn này và bắt đầu nghiên cứu chúng như những thành tố của một hệ thống đơn nhất. Trong suốt giai đoạn thứ hai này, mẫu hình của khoa học hệ thống Trái đất đã xuất hiện. Đi cùng nó là khả năng hiểu được các hiện tượng phức tạp, có tính hệ thống như biến đổi khí hậu, vốn kết nối giữa các khái niệm về khoa học khí quyển, sinh học, và hành vi loài người. Điều cốt yếu để nghiên cứu các hệ thống tương tác trên Trái đất là khả năng tiếp nhận, xử lý, và làm các dữ liệu từ vệ tinh trở nên sẵn có; và đồng thời, các mô hình mới đã được xây dựng để thể hiện những ý tưởng đang phát triển của chúng ta về các quá trình phức tạp bên trong hệ thống Trái đất đầy biến động [1]. Tiếp tục đọc

%(count) bình luận

Filed under Mẫu hình IV, Sách

Chương 12: Bây giờ véc-tơ mới thật là véc-tơ

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

Véc-tơ là gì?

Từ “véc-tơ” có thể mang những nghĩa khác nhau đối với từng người. Trong MATLAB, véc-tơ là một ma trận chỉ có một hàng, hoặc một cột. Cho đến giờ, ta đã dùng các véc-tơ của MATLAB để biểu diễn:

dãy:
Dãy là một tập hợp các giá trị được nhận diện bởi các chỉ số nguyên; theo cách làm tự nhiên ta có thể lưu các phần tử của dãy như những phần tử của một véc-tơ trong MATLAB.

véc-tơ trạng thái:
Véc-tơ trạng thái là một tập hợp các giá trị để mô tả trạng thái của một hệ vật lý. Khi gọi ode45, bạn cho nó các điều kiện ban đầu dưới dạng một véc-tơ trạng thái. Sau đó, khi ode45 gọi hàm tốc độ mà bạn lập nên, nó sẽ trả kết quả là một véc-tơ trạng thái khác.

ánh xạ rời rạc:
Nếu có trong tay hai véc-tơ cùng độ dài, bạn có thể hình dung chúng như một phép ánh xạ từ những phần tử của một véc-tơ này sang các phần tử thuộc véc-tơ kia. Chẳng hạn, ở Mục {Chuột}, kết quả thu được từ ode45 là các véc-tơ, TY; chúng biểu diễn một phép ánh xạ từ các giá trị thời gian của T sang các giá trị số lượng chuột có trong Y.

Trong chương này ta sẽ xét đến một công dụng khác của véc-tơ trong MATLAB: để biểu diễn các véc-tơ không gian. Một véc-tơ không gian là một giá trị nhằm biểu diễn một đại lượng vật lý nhiều chiều, như vị trí, vận tốc, gia tốc, hoặc lực1. Tiếp tục đọc

8 phản hồi

Filed under Mô hình hóa, Sách

Chương 11: Tối ưu hóa và nội suy

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

Các sự kiện dùng trong hàm ODE

Thường thì khi gọi ode45, bạn đều phải chỉ ra các thời điểm bắt đầu và kết thúc. Nhưng trong nhiều trường hợp, bạn không biết trước lúc nào việc mô phỏng cần kết thúc. Thật may là MATLAB cung cấp một cơ chế xử lý vấn đề này. Điều không hay là cơ chế này hơi lủng củng một chút. Sau đây là cách hoạt động:

  1. Trước khi gọi ode45 bạn dùng odeset để tạo ra một đối tượng có tên options để chứa các giá trị quy định cách hoạt động của ode45:
    options = odeset('Events', @events);
    

    Trong trường hợp này, tên của tùy chọn (option) là Events còn giá trị là một chuôi hàm. Khi ode45 hoạt động, nó sẽ gọi events sau mỗi bước thời gian. Bạn có thể gọi hàm này bằng bất cứ tên gọi nào, nhưng cái tên events thường được chọn theo thông lệ. Tiếp tục đọc

5 phản hồi

Filed under Mô hình hóa, Sách

Chương 10: Các hệ bậc hai

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

Hàm lồng ghép

Trong Mục ví dụ bài toán con vịt, ta đã thấy một ví dụ của tập tin M với hơn một hàm:

function res = duck()
    error = error_func(10)
end

function res = error_func(h)
    rho = 0.3;      % density in g / cm^3
    r = 10;         % radius in cm
    res = ...
end

Tiếp tục đọc

4 phản hồi

Filed under Mô hình hóa, Sách

Chương 9: Hệ các PVT

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

Ma trận

Ma trận là dạng hai chiều của một véc-tơ. Cũng như véc-tơ, ma trận gồm có các phần tử được phân biệt bởi chỉ số. Sự khác biệt với véc-tơ là ở chỗ các phần tử ma trận được xếp theo hàng và cột, vì vậy cần có hai chỉ số để xác định được một phần tử.

Một trong những cách tạo ra ma trận là dùng hàm magic, vốn trả lại một ma trận kì ảo với kích cỡ cho trước:

>> M = magic(3)

M =  8     1     6
     3     5     7
     4     9     2

Tiếp tục đọc

4 phản hồi

Filed under Mô hình hóa, Sách

Chương 6: Tìm nghiệm

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

Trong chương này ta sẽ thảo luận một chút về cách dùng hàm, qua đó lập mối quan hệ giữa toán và MATLAB. Tiếp theo là ứng dụng tìm nghiệm của một phương trình, một bài toán hay gặp trong thực tế.

Tại sao lại cần dùng hàm?

Chương vừa rồi đã giải thích một số ưu điểm của hàm, bao gồm

  • Mỗi hàm có không gian làm việc riêng của nó, vì vậy dùng hàm sẽ tránh được xung đột về tên.
  • Các hàm rất hợp với cách phát triển tăng dần: bạn có thể gỡ lỗi phần thân của hàm trước (dưới dạng tập tin lệnh), rồi gói nó vào trong một hàm, sau đó khái quát hóa bằng cách thêm các biến đầu vào.
  • Hàm cho phép ta chia một vấn đề lớn thành những phần nhỏ để xử lý từng phần một, rồi lắp ghép trở lại thành lời giải hoàn chỉnh.
  • Một khi đã có hàm chạy được, bạn có thể quên đi những chi tiết về cách hoạt động của nó, mà chỉ cần biết nó làm gì. Quá trình trừu tượng hóa này là một cách thức quan trọng để ta quản lý được sự phức tạp của những chương trình lớn.

Một lý do khác khiến bạn phải cân nhắc việc dùng hàm là nhiều công cụ quan trọng của MATLAB yêu cầu bạn phải viết hàm. Chẳng hạn, ở chương này ta sẽ dùng fzero để tìm nghiệm của phương trình phi tuyến. Sau đó ta sẽ dùng ode45 để tìm nghiệm xấp xỉ của các phương trình vi phân. Tiếp tục đọc

3 phản hồi

Filed under Mô hình hóa, Sách