Tính toán với ma trận và vector

Một phần của tài liệu Báo cáo nhập môn CNTT Đại học Bách Khoa Hà Nội (Trang 52 - 55)

3 Scilab

3.2.2Tính toán với ma trận và vector

Khởi tạo ma trận:

• Khi tạo ma trận, dùng [ ] để bắt đầu và kết thúc một ma trận, các hàng ngăn cách nhau bởi dấu “;”, các phần tử ngăn cách nhau bởi dấu “,”.

• Các hàm khởi tạo ma trận đặc biệt:

- ones, zeros: ma trận trong đó tất cả các phần tử mang giá trị 1 hoặc 0. - eye: đường chéo của ma trận là 1.

- rand: tạo một ma trận ngẫu nhiên.

Truy cập ma trận

Với ma trận A cho trước :

• Để truy cập một phần tử : A(i,j) Trong đó i,j là chỉ số hàng và chỉ số cột.

• Để lấy một phần ma trận cú pháp: A(i:j,k:l)

Trong đó i,j là chỉ số hàng đầu, hàng cuối; k,l là chỉ số cột đầu cột cuối

Các phép toán trong ma trận

Bao gồm các phép toán + , – , * , / , tính định thức det(), tính ma trận nghịch đảo với ma trận vuông inv(), A’ ma trận chuyển vị . . .

Xây dựng và tính toán đa thức:

• Xây dựng đa thức: Ví dụ với đa thức x2 – 5x + 6 - Với v là vector chứa các hệ số từ thấp cao.

v=[6,-5,1], p=poly(v,’x’,’coeff’)

- Cách khác: khởi tạo một đa thức là “x” và áp dụng các phép toán để xây dựng đa thức phức tạp hơn.

• Xây dựng đa thức với nghiệm cho trước: Sử dụng hàm poly nhưng tham số cuối là "roots".

Ví dụ xây dựng đa thức có hai nghiệm 1 và 2: z=[1 2];

p=poly(z,’x’,’roots’);

Khi đó có: p= 2 - 3*x + xˆ2

• Tính toán với đa thức. Một số hàm như: - roots(p) để tìm nghiệm của đa thức p.

- horner(p,x) để tính giá trị của đa thức với giá trị x nào đó. - derivat(p,’x’) để tính đạo hàm của đa thức.

Xây dựng và giải hệ phương trình:

Ta có thể giải hệ bằng nhiều cách:

• Giải hệ phương trình tuyến tính dạng: A*x+b=0 (nên ta phải biến đổi hệ về dạng này). Dùng lệnh x= linsolve(A,b) để giải phương trình.

• Hoặc có thể giải hệ ở dạng A*x=b bằng cách dùng ma trận nghịch đảo với cú pháp x = inv(A)*b. - Với A, b là 2 ma trận chứa các hệ số. Ví dụ: Giải hệ phương trình x+y +z = 6 x+y = −1 x+y + 2z = 9

Một phần của tài liệu Báo cáo nhập môn CNTT Đại học Bách Khoa Hà Nội (Trang 52 - 55)