Tải bản đầy đủ (.pdf) (12 trang)

Ma trận và mảng trong Matlab

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (90.84 KB, 12 trang )

Chơng 3
Ma trận v mảng trong Matlab
3.1 Nhập ma trận trong Matlab
3.1.1 Các Cách nhập matrận trong Matlab
Matlab cung cấp một vi phơng tiện cho ngời sử dụng để tạo ra một matrận, mỗi
phơng tiện có những u điểm của nó v đợc sử dụng tuỳ theo từng yêu cầu bi toán.Nói
chung Matlab cung cấp ba phơng tiện.
Nhập Matrận trực tiếp từ cửa sổ command Window.
Nhập Matrận từ một file( sử dụng M-file hoặc load)
Nhập matrận từ những hm có sẵn trong Matlab.
a. Nhập Matrận trực tiếp từ cửa sổ command Window
Trong môn học toán cao cấp chúng ta đã biết nhập một matrận nh sau

A=

Đây l một ma trận có số hng m = 3 v số cột n= 3
1 2 3
4 5 6
7 8 9
Để nhập matrận trên trong Matlab ta nhập trực tiếp nh sau
Từ dòng nhắc lệnh trong cửa sổ command Window >> ta nhập
>> A=[ 1,2,3 ; 4 5 ,6;7 8 9]; hoặc >>A=[ 1 2 3
4 5 6
7 8 9];
Các hng đợc cách nhau bằng một dấu chấm phẩy (;) nh trên,các phần tử trong một
hng đợc cách nhau bằng dấu cách(thanh space) hoặc dấu phẩy(,) . Kết thúc dòng lệnh
có hoặc không có dấu ;
Nếu không có dấu chấm phẩy ở cuối dòng thì Matlab sẽ in ra kết quả matrận vừa nhập
Nh ví dụ trên:
>> A=[ 1,2,3 ; 4 5 ,6;7 8 9] nhấn Enter sẽ cho kết quả l
A=


1 2 3
4 5 6
Trong trờng hợp số phần tử trên một hng quá di ta có thể xuống dòng bằng dấu ba
chấm ...
Ví dụ >> b=[1,2,3,4,...
5 6 7 8 9] % đây matrận 9 hng v một cột
Trang 1
Lu ý rằng trong một số trờng hợp matrận hoặc mảng dữ liệu di thì việc không thêm
dấu chấm phẩy sau câu lệnh nhập, Matlab sẽ in ra số liệu di trong cửa sổ command
Window, gây khó nhìn cho ngời dùng
b. Nhập Matrận từ M-file
Ta có thể nhập một matrận bằng cửa sổ soạn thảo M-file, mở cửa sổ ny bằng cách vo
File- New- M-file. Một cửa sổ soạn thảo sẽ đợc hiện ra cho phép bạn soạn thảo dới
dạng text, do l cửa sổ soạn thảo dạng text cho nên bạn có thể soạn thảo từ file word sau
đó copy vo cửa sổ M-file.Để nhập matrận ta soạn thảo tơng tự nh trong cửa sổ
command window sau đó lu vo file nh sau:
Ví dụ:
A=[1 2 3 ; 4 5 6 ; 7, 8,9];% không có dấu chấm phẩy sẽ in ra kết quả
Cũng tơng tự nh trên nếu số phần tử trên một hng quá nhiều thì ta có thể xuống dòng
A=[1 2 3 4 ...
5 6 7 8 9 10];
Sau khi kết thúc soạn thảo ta lu vo tên_file .
Để thực thi các lệnh nhập trong M-file ta dùng lệnh sau trong command window nh
sau: >> ten_file ;
c. Nhập matrận từ các hm có sẵn
Matlab có một th viện các hm cho phép tạo ma trận.Sau đây l một số hm
ones(m,n) tạo ma trận m hng v n cột ,với các phần tử đều bằng 1, ones(m) tạo ma
trận vuông cấp m, với các phần tử đều l 1.
zeros(m,n) tạo ma trận kích thớc m x n, với các phần tử đều bằng 0, zeros(m) tạo ma
trận vuông cấp m.

eyes(m,n) tạo ma trận kích thớc m xn với các phần tử đều bằng 1, eyes(m) tạo ma
trận vuông cấp m .
ví dụ:
ones(2,3)
ans=
1 1 1
1 1 1
eyes(2,3)
ans=
1 0 0
0 1 0
zeros(2,3)
ans=
0 0 0
Trang 2
0 0 0
3.2 Ma trận số phức
Số phức trong matlab đợc viết nh sau:
Ví dụ số phức 3+4*i dùng i để chỉ số ảo
>> a=3+ 4*i
a=
3+ 4*i
Nếu muốn ii để chỉ số ảo
Ta định nghĩa ii= sqrt(-1)
Sau đó bạn viết:
>> a=3+ 4*ii
a=
3+ 4*i
>>A=[ 1+2*i , 3+4*i ; 5+6*i, 4+5*i ]
A=[ 1+2*i 3+ 4*i

5+6*i 4+5*i ]
3.3 Tạo vec tơ
Khi ta cần khảo sát đặc tính của đồ thị no đó trong một khoảng xác định, khoảng xác
định ny đợc biểu diễn dới dạng vectơ
Ví dụ khảo sát đặc tính đồ thị trong khoảng x=1 đên 100
>> x= 1:100; % x lấy giá trị từ 1 đên100, bớc tăng của x l 1
>>t=0: 0.1 : 10;% bớc nhảy l của t l 0.1
Công thức chung tạo vec tơ l X=Xmin : bớc_tăng: Xmax
3.4 Truy nhập các phần tử của ma trận
Đê truy nhập các phần tử của ma trận ta lm nh sau:
Giả sử ma trận

A=

Thì >> A(i,j) ; sẽ truy nhập đến phần tử hng thứ i v cột thứ j
1 2 3
4 5 6
7 8 9
Ví dụ để truy nhập đến phần tử thứ nhất ta :
>> A(1,1)
ans=
1
Đặc biệt để gọi ton bộ số hng hoặc ton bộ số cột dùng toán tử (:)
>> A(:,1) % gọi ton bộ số hng tơng ứng với cột 1
ans=
Trang 3
1
4
7
>>A(1,:) % gọi ton bộ số cột tơng ứng hng 1

ans=
2 3
>> A(1:2,1) % gọi hng 1 đến hng 2 tơng ứng với cột thứ nhất
ans=
1
4
>>A(1:2,:) % gọi hng 1 đến hng 2 tơng ứng với tất cả các cột
ans=
1 2 3
4 5 6

3.5 Phép tính ma trận v mảng
a. Phép tính ma trận
Phép tính cộng , phép tính trừ :Điều kiện hai ma trận A v B phải có cùng kích thớc
hoặc một trong hai l số vô hớng
ví dụ:
>>a=[1 2 3 ;4 5 6; 7 8 9];
>>b=[2 3 4; 5 6 7; 8 9 10];
>>a+b;
ans=
5 7
9 11 13
15 17 19
Nhân hai ma trận
A*B lu ý rằng số cột của ma trận A phải bằng số cột của ma trận B, ngoại trừ một trong
hai l số vô hớng
Chia trái ma trận (\)
X=A\B tơng đơng với việc giải hệ phơng trình tuyến tính A*X=B, gần tơng đơng
với X=inv(A)*B
Chia phải ma trận(/)

X=B/A tơng đơng với việc giải phơng trình tuyến tính
X*A=B gần tơng đơng với X= B*inv(A)
b. Phép tính dẫy
Trang 4
Cho hai mảng sau:
>>x=[1 2 3];
>>y=[2 3 4];
Phép tính cộng , trừ giống nh phép tính đối với ma trận
>>x+y
ans=
5 7
Phép tính nhân(.*)
>>x.*y
ans=
2 6 12
Phép tính chia(./ hoặc .\)
>> x./y
ans=
0.5 0.66 0.75
>>x .\y
ans= 2 1.5 0.75
3.6 Giải hệ phơng trình tuyến tính
3.6.1 Hệ phơng trình tuyến tính :
Xét hệ phơng trình sau:
a11*x1 + a12*x2+ . . . +a1n*xn=b1
a21*x2 + a22*x2+ . . . +a2n*xn=b2
.
.
am1*x1 + am2*x2+ . . . +amn*xn=bm
Bi toán đặt ra l tìm véc tor x=[x1;x2;x3....;xn] sao cho thoả mãn bi toán trên

3.6.2 Hệ Phơng trình tuyến tính không đồng nhất
Phơng trình nh sau gọi l phơng trình tuyến tính KĐN
a1*x1 + a2*x2 + . . . + an*xn = b
b đứng độc lập (nó không nhân với biến no cả)
Xét hệ thống sau:
a11*x1 + a12*x2+ . . . +a1n*xn=b1
a21*x2 + a22*x2+ . . . +a2n*xn=b2
.
.
am1*x1 + am2*x2+ . . . +amn*xn=bm
Viết theo ma trận A= [a11 a12...a1n; a21 a22...a2n,....am1 am2...amn]
Trang 5

×