Category Archives: Sách

Chương 5: Câu lệnh điều kiện và đệ quy

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

5.1 Toán tử chia dư

Toán tử chia dư tính với các số nguyên và cho kết quả là phần dư của phép chia số thứ nhất cho số thứ hai. Trong Python, toán tử chia dư có kí hiệu là dấu phần trăm (%). Cú pháp cũng giống như các toán tử khác:

>>> thuong = 7 / 3
>>> print thuong
2
>>> sodu = 7 % 3
>>> print sodu
1

Tiếp tục đọc

Advertisements

2 phản hồi

Filed under Sách, Think Python

Chương 4: Nghiên cứu cụ thể: thiết kế giao diện

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

TurtleWorld

Kèm theo cuốn sách này, tôi có viết một bộ module có tên là Swampy. Một trong những module này là TurtleWorld; nó cung cấp một nhóm các hàm phục vụ cho việc vẽ các đường nét bằng cách điều khiển những “con rùa” chạy trên màn hình.

Bạn có thể tải về Swampy từ thinkpython.com/swampy; và thực hiện theo những chỉ dẫn cần thiết để cài đặt Swampy vào máy của mình. Tiếp tục đọc

10 phản hồi

Filed under Sách, Think Python

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 3: Hàm

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

Việc gọi các hàm

Trong lập trình, một hàm là một nhóm được đặt tên gồm các câu lệnh nhằm thực hiện một nhiệm vụ tính toán cụ thể. Khi định nghĩa hàm, bạn chỉ định tên của nó và tiếp theo là loạt các câu lệnh. Sau này, bạn có thể “gọi” hàm theo tên của nó.

Ta đã gặp một ví dụ của việc gọi hàm:

>>> type(32) 
<type 'int'> 

Tên của hàm này là type. Biểu thức ở trong cặp ngoặc đơn được gọi là đối số của hàm. Kết quả của hàm này là kiểu của đối số. Tiếp tục đọc

2 phản hồi

Filed under Sách, Think Python

Chương 2: Biến, biểu thức và câu lệnh

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

Giá trị và kiểu

Giá trị là một trong những cái cơ bản mà chương trình cần dùng đến, chẳng hạn như một chữ cái hoặc một con số. Các giá trị mà ta đã thấy đến giờ bao gồm 1, 2, và 'Hello, World!'.

Các giá trị này thuộc về hai kiểu khác nhau: 2 là một số nguyên, còn 'Hello, World!' là một chuỗi, được gọi như vậy vì nó là một chuỗi các kí tự ghép lại với nhau. Bạn (và trình thông dịch) có thể nhận ra các chuỗi vì chúng được đặt trong cặp dấu nháy. Tiếp tục đọc

4 phản hồi

Filed under Sách, Think Python

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 8: Phương trình vi phân thường

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

Phương trình vi phân

Phương trình vi phân là phương trình mô tả các đạo hàm của một hàm số chưa biết. “Giải phương trình vi phân” nghĩa là tìm một hàm số có các đạo hàm thỏa mãn phương trình đã cho.

Chẳng hạn, khi vi phuẩn sống trong môi trường đặc biệt thuận lợi thì tốc độ sinh trưởng tại bất kì thời điểm nào cũng tỉ lệ thuận với số vi khuẩn lúc đó. Có lẽ điều ta quan tâm là số vi khuẩn được biểu diễn dưới dạng hàm theo thời gian. Ta hãy định nghĩa f là hàm chiếu từ thời gian, t, đến số vi khuẩn, y. Dù không biết y bằng bao nhiêu, nhưng ta vẫn có thể viết một phương trình để mô tả nó:

df / dt = af

trong đó a là hằng số đặc trưng cho mức độ vi khuẩn tăng nhanh bao nhiêu. Tiếp tục đọc

11 phản hồi

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