Khai báo mảng trong MATLAB
Để tìm hiểu về cách khai báo mảng trong MATLAB, trước hết bạn cần tìm hiểu các mảng đặc biệt trong MATLAB. Tham khảo tiếp bài viết dưới đây để tìm hiểu chi tiết. ...
Để tìm hiểu về cách khai báo mảng trong MATLAB, trước hết bạn cần tìm hiểu các mảng đặc biệt trong MATLAB. Tham khảo tiếp bài viết dưới đây để tìm hiểu chi tiết.
Mảng đặc biệt trong MATLAB
Trong phần đầu tiên này, Zaidap.com sẽ giới thiệu cho bạn một số hàm tạo các mảng đặc biệt. Trong số các hàm này, một tham số đơn tạo mảng vuông, 2 tham số tạo mảng hình chữ nhật.
Hàm zeros () tạo mảng của tất cả số 0.
Ví dụ:
zeros(5)
MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:
Hàm ones() tạo mảng tất cả số 1.
Ví dụ:
ones(4,3)
MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:
Hàm eye() tạo ma trận nhận diện.
Ví dụ:
eye(4)
MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:
Hàm rand () tạo mảng các số ngẫu nhiên được phân phối trên (0,1):
Ví dụ:
rand(3, 5)
MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:
Ma phương (magic square) trong MATLAB
Ma phương (magic square) trong MATLAB là hình vuông tạo ra với tổng số các số trên mỗi hàng, mỗi cột và trên hai đường chéo bằng nhau.
Hàm magic() tạo một mảng ma phương. Kích thước của hình vuông phải cùng một tham số duy nhất. Tham số phải là tích vô hướng lớn hơn hoặc bằng 3.
Ví dụ:
magic(4)
MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:
Mảng đa chiều trong MATLAB
Mảng có nhiều hơn 2 chiều được gọi là mảng đa chiều trong MATLAB. Mảng đa chiều trong MATLAB là phần mở rộng của ma trận 2 chiều thông thường.
Để tạo mảng đa chiều, trước hết bạn cần tạo mảng 2 chiều và mở rộng mảng đó.
Ví dụ dưới đây tạo mảng 2 chiều a.
a = [7 9 5; 6 1 9; 4 3 2]
MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:
Mảng a là mảng 3 cột 3 hàng, bạn có thể thêm chiều thứ ba vào mảng a, bằng cách cung cấp các giá trị dưới đây:
a(:, :, 2)= [ 1 2 3; 4 5 6; 7 8 9]
MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:
Ngoài ra bạn có thể tạo các mảng đa chiều bằng cách sử dụng các hàm ones(),zeros() hoặc hàm rand().
Ví dụ:
b = rand(4,3,2)
MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:
Bạn cũng có thể sử dụng hàm cat() để tạo các mảng đa chiều. Hàm này nối danh sách các mảng theo chiều không xác định.
Cú pháp của hàm cat():
B = cat(dim, A1, A2...)
Trong đó:
- B là mảng mới được tạo.
- A1, A2, ... là các mảng được nối.
- dim là kích thước dọc để nối các mảng.
Ví dụ: Tạo một file script và nhập đoạn mã dưới đây vào:
a = [9 8 7; 6 5 4; 3 2 1];
b = [1 2 3; 4 5 6; 7 8 9];
c = cat(3, a, b, [ 2 3 1; 4 7 8; 3 9 0])
Khi chạy file trên nó sẽ hiển thị kết quả dưới đây trên màn hình:
Các hàm mảng trong MATLAB
MATLAB cung cấp các hàm dưới đây để sắp xếp, xoay, hoán vị, thay đổi hình dạng hoặc thay đổi các nội dung mảng.
Ví dụ:
Dưới đây là các ví dụ minh họa cho khai báo mảng trong MATLAB với một số hàm đề cập ở trên.
- Hàm Length, Dimension và Number:
Tạo file script và nhập đoạn mã dưới đây vào:
Khi chạy file trên, nó sẽ hiển thị kết quả dưới đây:
- Dịch chuyển xung quanh các phần tử mảng:
Tạo file script và nhập đoạn mã dưới đây vào:
Khi chạy file trên, nó sẽ hiển thị kết quả dưới đây:
Phân loại mảng
Tạo file script và nhập đoạn mã dưới đây vào:
Khi chạy file trên, nó sẽ hiển thị kết quả dưới đây:
Mảng ô
Mảng ô trong MATLAB là các mảng của các ô được lập chỉ mục, trong đó mỗi ô có thể lưu trữ một mảng các kích thước và kiểu dữ liệu khác nhau.
Hàm cell được sử dụng để tạo mảng ô. Cú pháp hàm cell:
C = cell(dim)
C = cell(dim1,...,dimN)
D = cell(obj)
Trong đó:
- C là mảng ô.
- dim là số nguyên vô hướng hoặc vector của các số nguyên cụ thể xác định kích thước của mảng ô C.
- dim1, ..., dimN là số nguyên vô hướng xác định kích thước của C.
obj có thể là:
+ Mảng hoặc đối tượng Java.
+ Mảng .NET của System.String hoặc System.Object.
Ví dụ:
Tạo file script và nhập đoạn mã dưới đây vào:
c = cell(2, 5);
c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5}
Khi chạy file trên nó sẽ hiển thị kết quả dưới đây:
Truy cập dữ liệu trong mảng ô
Có 2 cách tham chiếu các phần tử của mảng ô:
- Đóng các chỉ số trong dấu () đầu tiên để tham chiếu tập hợp các ô.
- Đóng các chỉ sổ trong ngoặc {} để tham chiếu dữ liệu trong các ô riêng lẻ.
Khi đóng các chỉ số trong dấu ngoặc đầu tiên, nó tham chiếu tập hợp các ô.
Các chỉ số mảng ô trong dấy ngoặc vuông bao gồm các tập hợp các ô.
Ví dụ:
c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5};
c(1:2,1:2)
MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:
Ngoài ra bạn có thể truy cập nội dung các ô bằng cách lập chỉ mục bằng dấu ngoặc {}.
Ví dụ:
c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5};
c{1, 2:4}
MATLAB sẽ thực thi lệnh trên và trả về kết quả dưới đây:
ans = Blue
ans = Green
ans = Yellow
http://thuthuat.taimienphi.vn/khai-bao-mang-trong-matlab-32908n.aspx
Như vậy trên đây Zaidap.com vừa giới thiệu cho bạn về cách khai báo mảng trong MATLAB. Ngoài ra, bạn còn cần nắm một cách khai báo khác là khai báo biến trong MATLAB để phân biệt với khai báo mảng. Nếu có thắc mắc hoặc câu hỏi nào cần giải đáp, bạn có thể để lại ý kiến của mình trong phần bình luận bên dưới bài viết, Zaidap.com sẽ giải đáp các thắc mắc của bạn sớm nhất có thể.