Giả sử rằng bạn có một hệ thống PDE để giải quyết. Ít nhất là để đơn giản, giả sử nó độc lập về thời gian, bán tuyến tính (tuyến tính trong các đạo hàm của nó) được giải quyết trên một lưới hình chữ nhật trong không gian (x, y) và với các điều kiện biên được chỉ định xung quanh. Câu hỏi của tôi là tổng quát hơn, nhưng hãy bắt đầu ở đây.
Có thể có hai biến phụ thuộc là và v ( x , y ) . Phương trình tổng quát có thể có dạng:
trong đó tất cả các hàm từ đến e là ma trận 2x2, f là ma trận 2x1 và Y là
Giả sử rằng bạn muốn tính một xấp xỉ số khác nhau hữu hạn. Giả sử rằng các điểm lưới cách đều nhau theo x và y. Bạn có thể rời rạc thành N điểm và y thành M điểm. Và sau đó, bạn sẽ xây dựng một giải pháp như một vectơ cột 2 (nm).
Sau đó, bạn sẽ giải một số loại phương trình ma trận
trong đó các ma trận 2nm x 2nm từ đến E là các ma trận sai phân hữu hạn cho các toán tử vi phân tương ứng. Ma trận kết hợp trong ngoặc sẽ có một số loại cấu trúc dải khối. Giá trị cạnh của chúng có thể phức tạp do điều kiện biên.
Câu hỏi của tôi rất đơn giản: có cách nào dễ dàng (đặc biệt là trong Matlab ) để tạo ma trận từ đến E không? Hoặc ít nhất, một hướng dẫn đơn giản để tạo tất cả các ma trận cần thiết (ngoại trừ có lẽ các sửa đổi bạn cần cho các điều kiện biên, có thể là một đầu vào thủ công).
Vấn đề là tôi có thể làm điều này bằng tay, nhưng đó là (i) rất nhiều đại số; và (ii) chịu nhiều lỗi chính tả và lỗi khi bạn thực hiện.
Chẳng hạn, đây là một mã cung cấp cho bạn tất cả các vectơ cần thiết cho một "ma trận" hữu hạn 1D cho các thứ tự khác nhau của các công cụ phái sinh. Có sự tương tự cho các hệ thống PDE trên máy bay không?