Các phép tính với mảng

Một phần của tài liệu Dự báo nhu cầu điện năng việt nam từ năm 2008 đến 2015 (Trang 67)

A, phần tử thứ hai là số cột của A.

3.1.2.6.Các phép tính với mảng

3.1.2.6.1. Tạo phương trình tuyến tính

Về cơ bản, MATLAB được viết đối với những ma trận và thực hiện phép toán số học tuyến tính đơn giản mà xuất hiện trong nhiều ứng dụng. Một vấn đề chung nhất của số học tuyến tính là việc giải trình. Ví dụ tạo phương trình: A.x = b

Biểu tượng phép nhân toán học (.) được định nghĩa trong phép toán trên, khác với kí hiệu ta dùng đối với mảng trước kia. Trong MATLAB phép nhân ma trận này được định nghĩa bằng dấu sao (*). Tiếp theo định nghĩa dấu bằng, ma trận tạo ra từ ma trận A và vector x bằng với vectorb. Giải pháp tồn tại cho sự cân bằng đề cập ở trên là những vấn đề cơ bản của số học tuyến tính. Thêm nữa, khi lời giải không tồn tại, có rất nhiều cách gần đúng để tìm kiếm giải pháp, như phép loại trừ Gaussian, sự tìm thừa số LU, hoặc tính trực tiếp A-1.b. Dưới đây chúng ta sẽ đề cập đến một số cách giải quyết như trên:

Nếu det(A) khác không, MATLAB có thể giải phương trình theo hai cách, một cách hay được dùng hơn, một cách ít sử dụng, nhưng trực tieeos hơn, phương pháp này là chuyển thành dạng x = A-1.b.

Dùng inv(A) là hàm của MATLAB dùng để tính A-1; và toán tử nhân (*), không có dấu chấm phía trước, đây là phép nhân ma trận. Phương pháp được dùng nhiều hơn là dùng toán tử chua ma trận trái.

Phương trình này sử dụng phương pháp tìm thừa số LU gần đúng và đưa ra câu trả lời như là phép chia trái A cho b. Toán tử chia trái (\) không có dấu chấm phía trước là một phép toán của ma trận, nó không phải là các phép toán giữa các phần tử của mảng. Phương pháp thứ hai này được sử dụng nhiều hơn do nhiều nguyên nhân, một trong những nguyên nhân đơn giản nhất là phương

pháp này dùng ít phép toán hơn và tốc độ nhanh hơn. Thêm vào đó, nhìn chung phương pháp này chính xác hơn cho những bài toán lớn. Trong trường hợp khác, nếu MATLAB không tìm thấy phương pháp giải hoặc không tìm thấy phương pháp chính xác, nó sẽ hiện thông báo lỗi.

Nếu ta nghiên cứu số học tuyến tính, ta biết rằng khi số phương trình và số biến khác nhau, thì không thể có một phương pháp duy nhất để giải. Trong MATLAB khi gặp những hệ phương trình có số phương trình lớn hơn số biến nó dùng toán tử chia trái hoặc chia phải, tự động giảm thấp nhất những phần tử thừa A.x - b. Cách này gọi là phương pháp vuông nhỏ nhất.

Mặt khác khi số phương trình ít hơn số biến tương tự như trường hợp không xác định, thì số nghiệm phương trình là vô tận. Đối với những nghiệm này MATLAB tính theo hai cách. Dùng toán tử chia đưa ra phương pháp mà có số phần tử 0 của x là cực đại. Như một sự lựa chọn, tính x = pinv(A)*b đưa ra phương pháp chiều dài hoặc tiêu chuẩn của x nhỏ hơn các phương pháp khác. Phương pháp này gọi là phương pháp tiêu chuẩn cực tiểu.

3.1.2.6.2. Các hàm của ma trận

cond(A) Số điều kiện ma trận

det(A) Định mức ma trận

Expm(A) Ma trận theo luật mũ

inv(A) Ma trận chuyển vị

Logm(A) Ma trận logarithm

lu(A) Tìm thừa số với phép khử Gaussian

luinc(A, droptol) Thừa số LU không đầy đủ

3.1.2.6.3. Các lệnh tạo ma trận đặc biệt [] Ma trận rỗng Compan Tạo ma trận rỗng Ones Ma trận 1 Zeros Ma trận không 3.1.2.7. Các phép tính logic và quan hệ

3.1.2.7.1. Toán tử quan hệ MATLAB bao gồm tất cả các phép so sánh

Toán tử quan hệ Ý nghĩa

<= nhỏ hơn hoặc bằng

> lớn hơn

>= lớn hơn hoặc bằng

== bằng

~= không bằng

3.1.2.7.2. Toán tử logic cung cấp một cách diễn đạt mối quan hệ phủ định hay tổ hợp

Toán tử logic MATLAB bao gồm:

Toán tử logic Ý nghĩa

& AND

 OR

~ NOT

3.1.2.8. Văn bản

Sự tiện ích của MATLAB là xử lý với các con số. Tuy nhiên chúng ta đã đề cập đến thao tác với văn bản (text), như khi đưa nhãn và tiêu đề vào trong đồ thị. Trong MATLAB biến text được dùng đến như là xâu lí tự, hoặc đơn giản là các xâu.

Xâu kí tự trong MATLAB là mảng của các giá trị ASCII mà quy ước của nó là các kí tự.

Hàm disp cho phép ta hiển thị xâu kí tự mà không có tên biến.

Ta cũng có thể dùng hàm char để tạo một mảng xâu từ các xâu, và nó tự thêm các kí tự trống để tạo ra một mảng đầy đủ.

Một phần của tài liệu Dự báo nhu cầu điện năng việt nam từ năm 2008 đến 2015 (Trang 67)