Khai báo mảng trong MATLAB

  • Admin
  • 07-11-2020
  • 810 view
Tất cả các biến của tất cả các kiểu dữ liệu trong MATLAB là mảng đa chiều. Một vector là mảng một chiều và ma trận là mảng 2 chiều. Trong các bài viết trước Taimienphi.vn đã giới thiệu cho bạn về vector và ma trận, bài viết dưới đây Taimienphi.vn sẽ giới thiệu tiếp cho bạn khai báo mảng trong MATLAB để các bạn nắm rõ hơn.

Để 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.
Khai báo mảng trong MATLAB 0

Mảng đặc biệt trong MATLAB

Trong phần đầu tiên này, Taimienphi.vn 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:

Khai báo mảng trong MATLAB 1

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:

Khai báo mảng trong MATLAB 2

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:

Khai báo mảng trong MATLAB 3

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:

Khai báo mảng trong MATLAB 4

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:

Khai báo mảng trong MATLAB 5

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:

Khai báo mảng trong MATLAB 6

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:

Khai báo mảng trong MATLAB 7

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:

Khai báo mảng trong MATLAB 8

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:

Khai báo mảng trong MATLAB 9

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.

Khai báo mảng trong MATLAB 10

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:

Khai báo mảng trong MATLAB 11

Khi chạy file trên, nó sẽ hiển thị kết quả dưới đây:

Khai báo mảng trong MATLAB 12

- 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:

Khai báo mảng trong MATLAB 13

Khi chạy file trên, nó sẽ hiển thị kết quả dưới đây:

Khai báo mảng trong MATLAB 14

Phân loại mảng

Tạo file script và nhập đoạn mã dưới đây vào:

Khai báo mảng trong MATLAB 15

Khi chạy file trên, nó sẽ hiển thị kết quả dưới đây:

Khai báo mảng trong MATLAB 16

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:

Khai báo mảng trong MATLAB 17

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:

Khai báo mảng trong MATLAB 18

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


Như vậy trên đây Taimienphi.vn 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, Taimienphi.vn sẽ giải đáp các thắc mắc của bạn sớm nhất có thể.

Trên đây là tất cả những gì có trong Khai báo mảng trong MATLAB mà chúng tôi muốn chia sẻ với các bạn. Bạn ấn tượng với điều gì nhất trong số đó? Liệu chúng tôi có bỏ sót điều gì nữa không? Nếu bạn có ý kiến về Khai báo mảng trong MATLAB, hãy cho chúng tôi biết ở phần bình luận bên dưới. Hoặc nếu thấy bài viết này hay và bổ ích, xin đừng quên chia sẻ nó đến những người khác.

Facebook

Post Comment

(*) Lưu ý:
+ 1: Bạn phải sử dụng email thật, một email xác thực sẽ được gửi đi sau khi bạn gửi comment để xác nhận bạn không phải là người máy. Nếu bạn không xác nhận email, comment của bạn CHẮC CHẮN sẽ không được duyệt.
+ 2: Bạn chỉ cần xác thực email cho lần đầu tiên, những lần sau sẽ không cần xác thực
+ 3: Chúng tôi sẽ không hiển thị công cộng email của bạn