MATLAB - phần mềm nổi tiếng của Công ty MathWorks, là một ngôn ngữ hiệu năng cao cho tính toán kỹ thuật như được viết trong logo của phần mềm này. Nó tích hợp tính toán, hiển thị và lập trình trong một môi trường dễ
sử dụng. Các ứng dụng tiêu biểu của MATLAB bao gồm: - Hỗ trợ toán học và tính toán
- Phát triển thuật toán - Mô hình, mô phỏng
- Phân tích, khảo sát và hiển thị số liệu - Đồ họa khoa học và kỹ thuật
- Phát triển ứng dụng với các giao diện đồ họa.
Tên của phần mềm MATLAB bắt nguồn từ thuật ngữ “Matrix Laboratory”. Đầu tiên nó được viết bằng FORTRAN để cung cấp truy nhập dễ dàng tới phần mềm ma trận được phát triển bởi các dự án LINPACK và EISPACK. Sau đó nó được viết bằng ngôn ngữ C trên cơ sở các thư viện nêu trên và phát triển thêm nhiều lĩnh vực của tính toán khoa học và các ứng dụng kỹ thuật.
Ngoài MATLAB cơ bản với các khả năng rất phong phú sẽ được đề
cập sau, phần mềm MATLAB còn được trang bị thêm các ToolBox - các gói chương trình (thư viện) cho các lĩnh vực ứng dụng rất đa dạng như xử lý tín hiệu, nhận dạng hệ thống, xử lý ảnh, mạng nơ ron, logic mờ, tài chính, tối ưu hóa, phương trình đạo hàm riêng, sinh tin học,... Đây là các tập hợp mã nguồn
viết bằng chính MATLAB dựa theo các thuật toán mới, hữu hiệu mà người dùng có thể chỉnh sửa hoặc bổ sung thêm các hàm mới.
MATLAB được thiết kế để giải các bài toán bằng số chứ không nhằm mục đích chính là tính toán ký hiệu như MATHEMATICA và MAPLE. Tuy nhiên, trong MATLAB cũng có thể tính toán ký hiệu được nhờ các hàm trong Symbolic Math ToolBox.
3.1.1.1. Một sốđặc trưng chính của MATLAB
- MATLAB là ngôn ngữ thông dịch. Vì thế nó có thể làm việc ở hai chế độ: tương tác và lập trình. Trong chế độ tương tác MATLAB thực hiện từng lệnh được gõ trong cửa sổ lệnh sau dấu nhắc lệnh và kết quả tính toán được hiện ngay trong cửa sổ này, còn đồ thị được hiện trong một cửa sổ khác. Lệnh tương tác có thể là đơn giản, thí dụ tính sin(1,5) hoặc vẽ fplot('sin(1./x)', [0.01 0.1]), có thể là cấu trúc điều kiện, thí dụ if x<=0; y=0; else; y=1; end hoặc các cấu trúc lặp xác định và không xác định. Trong chế độ lập trình một tập lệnh
được soạn thảo và ghi thành một tệp đuôi .m (m-file). Các hàm cũng được tổ
chức thành các m-file. Một chương trình có thể gồm nhiều m-file. Để chạy chương trình chỉ cần gõ tên m-file chính trong cửa sổ lệnh rồi Enter.
- Các hàm trong MATLAB cơ bản (không kể các thư viện chuyên dụng
được gọi là các ToolBox) được chia làm 2 loại: hàm trong và hàm ngoài. Các hàm trong là các hàm được cài đặt sẵn (built-ins) tức là tồn tại dưới dạng mã nhị phân nên ta không thể xem được mã nguồn của chúng, thí dụ các hàm sin, sqrt, log, clear, clc,.... Đây là các hàm hay được sử dụng hoặc các hàm đòi hỏi nhiều thời gian xử lý. Các hàm ngoài là các hàm tồn tại dưới dạng mã nguồn mà người dùng có thể tham khảo hoặc chỉnh sửa, bổ sung khi cần thiết, thí dụ
log10, ode23, fzero,...
- Phần tử dữ liệu chính của MATLAB là các ma trận (mảng) mà kích thước của chúng không cần khai báo trước như trong các ngôn ngữ lập trình
khác. Tuy nhiên, để tăng tốc độ xử lý cần báo trước cho MATLAB biết kích thước tối đa của mảng để phân bổ bộ nhớ bằng một lệnh gán, chẳng hạn A(20,30)=0.
3.1.1.2. Các khả năng chính của MATLAB cơ bản
- Thực hiện các tính toán toán học bao gồm: ma trận và đại số tuyến tính, đa thức và nội suy, phân tích số liệu và thống kê, tìm cực trị của hàm một biến hoặc nhiều biến, tìm nghiệm của phương trình, tính gần đúng tích phân, giải phương trình vi phân.
- Đồ họa 2 chiều và 3 chiều: MATLAB cung cấp rất nhiều các hàm đồ
họa, nhờ đó ta có thể nhanh chóng vẽđược đồ thị của hàm bất kỳ 1 biến hoặc 2 biến, vẽ được các kiểu mặt, các contour, trường vận tốc,.... Ngoài ra, MATLAB còn vẽ rất tốt các đối tượng 3 chiều phức tạp như hình trụ, hình cầu, hình xuyến,... và cung cấp khả năng xử lý ảnh và hoạt hình.
- Xây dựng giao diện người dùng: với MATLAB 7 người dùng có thể
dễ dàng xây dựng giao diện gồm các thực đơn, nút lệnh, hộp thoại, hộp chọn,... mà không cần phải viết mã như các phiên bản trước đây.
Trong phạm vi của đề tài, với 3 phương pháp đã chọn ở chương 2 để
thực hiện việc tính toán dự báo nhu cầu điện năng Việt Nam thì việc sử dụng MATLAB như là công cụ hỗ trợ tích cực để giải quyết một cách nhanh chóng và chính xác các phép tính toán phức tạp liên quan đến ma trận nghịch đảo, ma trận chuyển vị.... Vì vậy, ở đây chúng ta chỉ tập trung nghiên cứu các nội dung liên quan đến các phép toán đơn giản, hàm thông thường, phép toán về