Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> MATLAB

MATLAB: Menguasai Array Multidimensi dan Khusus

Semua variabel dari semua tipe data dalam MATLAB adalah array multidimensi. Sebuah vektor adalah array satu dimensi dan matriks adalah array dua dimensi.

Kami telah membahas vektor dan matriks. Dalam bab ini, kami akan membahas array multidimensi. Namun, sebelum itu, mari kita bahas beberapa jenis array khusus.

Array Khusus dalam MATLAB

Dalam bagian ini, kami akan membahas beberapa fungsi yang membuat beberapa array khusus. Untuk semua fungsi ini, satu argumen menciptakan array persegi, argumen ganda menciptakan array persegi panjang.

Fungsi zeros() menciptakan array yang semuanya nol −

Sebagai contoh −

Live Demo
 zeros(5) 

MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut −

 ans = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

Fungsi ones() menciptakan array yang semuanya satu −

Sebagai contoh −

Live Demo
 ones(4,3) 

MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut −

 ans = 1 1 1 1 1 1 1 1 1 1 1 1 

Fungsi eye() menciptakan matriks identitas.

Sebagai contoh −

Live Demo
 eye(4) 

MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut −

 ans = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 

Fungsi rand() menciptakan array angka acak yang terdistribusi secara seragam pada (0,1) −

Sebagai contoh −

Live Demo
 rand(3, 5) 

MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut −

 ans = 0.8147 0.9134 0.2785 0.9649 0.9572 0.9058 0.6324 0.5469 0.1576 0.4854 0.1270 0.0975 0.9575 0.9706 0.8003 

Bujur Sangkar Ajaib

Sebuah bujur sangkar ajaib adalah bujur sangkar yang menghasilkan jumlah yang sama ketika elemennya ditambah baris demi baris, kolom demi kolom, atau secara diagonal.

Fungsi magic() menciptakan array bujur sangkar ajaib. Ia mengambil satu argumen yang memberikan ukuran bujur sangkar. Argumen harus berupa skalar yang lebih besar atau sama dengan 3.

Live Demo
 magic(4) 

MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut −

 ans = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 

Array Multidimensi

Array yang memiliki lebih dari dua dimensi disebut array multidimensi dalam MATLAB. Array multidimensi dalam MATLAB adalah perluasan dari matriks dua dimensi normal.

Secara umum untuk menghasilkan array multidimensi, kita pertama-tama membuat array dua dimensi dan memperluasnya.

Sebagai contoh, buatlah array dua dimensi a.

Live Demo
 a = [7 9 5; 6 1 9; 4 3 2] 

MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut −

 a = 7 9 5 6 1 9 4 3 2 

Array a adalah array 3-by-3; kita dapat menambahkan dimensi ketiga ke a, dengan memberikan nilai seperti −

Live Demo
 a(:, :, 2)= [ 1 2 3; 4 5 6; 7 8 9] 

MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut −

 a = ans(:,:,1) = 0 0 0 0 0 0 0 0 0 ans(:,:,2) = 1 2 3 4 5 6 7 8 9 

Kita juga dapat membuat array multidimensi menggunakan fungsi ones(), zeros() atau rand().

Sebagai contoh,

Live Demo
 b = rand(4,3,2) 

MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut −

 b(:,:,1) = 0.0344 0.7952 0.6463 0.4387 0.1869 0.7094 0.3816 0.4898 0.7547 0.7655 0.4456 0.2760 b(:,:,2) = 0.6797 0.4984 0.2238 0.6551 0.9597 0.7513 0.1626 0.3404 0.2551 0.1190 0.5853 0.5060 

Kita juga dapat menggunakan fungsi cat() untuk membuat array multidimensi. Ia menggabungkan daftar array sepanjang dimensi yang ditentukan −

Sintaks untuk fungsi cat() adalah −

 B = cat(dim, A1, A2...) 

Di mana,

Contoh

Buat file skrip dan ketik kode berikut ke dalamnya −

Live Demo
 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]) 

Ketika Anda menjalankan file, itu menampilkan −

 c(:,:,1) = 9 8 7 6 5 4 3 2 1 c(:,:,2) = 1 2 3 4 5 6 7 8 9 c(:,:,3) = 2 3 1 4 7 8 3 9 0 

Fungsi Array

MATLAB menyediakan fungsi berikut untuk mengurutkan, memutar, memutasi, mengubah bentuk, atau menggeser konten array.

FungsiTujuan
lengthPanjang vektor atau dimensi array terbesar
ndimsJumlah dimensi array
numelJumlah elemen array
sizeDimensi array
iscolumnMenentukan apakah masukan adalah vektor kolom
isemptyMenentukan apakah array kosong
ismatrixMenentukan apakah masukan adalah matriks
isrowMenentukan apakah masukan adalah vektor baris
isscalarMenentukan apakah masukan adalah skalar
isvectorMenentukan apakah masukan adalah vektor
blkdiagMembangun matriks diagonal blok dari argumen masukan
circshiftMenggeser array secara melingkar
ctransposeTranspose konjugat kompleks
diagMatriks diagonal dan diagonal matriks
flipdimMembalik array sepanjang dimensi yang ditentukan
fliplrMembalik matriks dari kiri ke kanan
flipudMembalik matriks dari atas ke bawah
ipermuteMembalik permutasi dimensi array N-D
permuteMengatur ulang dimensi array N-D
repmatMereplikasi dan memasang array
reshapeMengubah bentuk array
rot90Memutar matriks 90 derajat
shiftdimMenggeser dimensi
issortedMenentukan apakah elemen himpunan dalam urutan yang diurutkan
sortMengurutkan elemen array secara ascending atau descending
sortrowsMengurutkan baris secara ascending
squeezeMenghapus dimensi singleton
transposeTranspose
vectorizeMengvektorisasi ekspresi

Contoh

Contoh berikut mengilustrasikan beberapa fungsi yang disebutkan di atas.

Panjang, Dimensi dan Jumlah elemen −

Buat file skrip dan ketik kode berikut ke dalamnya −

Live Demo
 x = [7.1, 3.4, 7.2, 28/4, 3.6, 17, 9.4, 8.9]; length(x) % length of x vector y = rand(3, 4, 5, 2); ndims(y) % no of dimensions in array y s = ['Zara', 'Nuha', 'Shamim', 'Riz', 'Shadab']; numel(s) % no of elements in s 

Ketika Anda menjalankan file, itu menampilkan hasil berikut −

 ans = 8 ans = 4 ans = 23 

Penggeseran Melingkar Elemen Array −

Buat file skrip dan ketik kode berikut ke dalamnya −

Live Demo
 a = [1 2 3; 4 5 6; 7 8 9] % the original array a b = circshift(a,1) % circular shift first dimension values down by 1. c = circshift(a,[1 -1]) % circular shift first dimension values % down by 1 % and second dimension values to the left % by 1. 

Ketika Anda menjalankan file, itu menampilkan hasil berikut −

 a = 1 2 3 4 5 6 7 8 9 b = 7 8 9 1 2 3 4 5 6 c = 8 9 7 2 3 1 5 6 4 

Mengurutkan Array

Buat file skrip dan ketik kode berikut ke dalamnya −

Live Demo
 v = [ 23 45 12 9 5 0 19 17] % horizontal vector sort(v) % sorting v m = [2 6 4; 5 3 9; 2 0 1] % two dimensional array sort(m, 1) % sorting m along the row sort(m, 2) % sorting m along the column 

Ketika Anda menjalankan file, itu menampilkan hasil berikut −

 v = 23 45 12 9 5 0 19 17 ans = 0 5 9 12 17 19 23 45 m = 2 6 4 5 3 9 2 0 1 ans = 2 0 1 2 3 4 5 6 9 ans = 2 4 6 3 5 9 0 1 2 

Cell Array

Cell arrays adalah array dari sel terindeks di mana setiap sel dapat menyimpan array dengan dimensi dan tipe data yang berbeda.

Fungsi cell digunakan untuk membuat cell array. Sintaks untuk fungsi cell adalah −

 C = cell(dim) C = cell(dim1,...,dimN) D = cell(obj) 

Di mana,

Contoh

Buat file skrip dan ketik kode berikut ke dalamnya −

Live Demo
 c = cell(2, 5); c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5} 

Ketika Anda menjalankan file, itu menampilkan hasil berikut −

 c = { [1,1] = Red [2,1] = 1 [1,2] = Blue [2,2] = 2 [1,3] = Green [2,3] = 3 [1,4] = Yellow [2,4] = 4 [1,5] = White [2,5] = 5 } 

Mengakses Data dalam Cell Arrays

Ada dua cara untuk merujuk elemen dari cell array −

Ketika Anda mengapit indeks dalam kurung pertama, itu merujuk ke himpunan sel.

Indeks cell array dalam kurung halus merujuk ke himpunan sel.

Sebagai contoh −

Live Demo
 c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5}; c(1:2,1:2) 

MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut −

 ans = { [1,1] = Red [2,1] = 1 [1,2] = Blue [2,2] = 2 } 

Anda juga dapat mengakses isi sel dengan mengindeks dengan kurung kurawal.

Sebagai contoh −

Live Demo
 c = {'Red', 'Blue', 'Green', 'Yellow', 'White'; 1 2 3 4 5}; c{1, 2:4} 

MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut −

 ans = Blue ans = Green ans = Yellow 

MATLAB

  1. Menguasai Array C#: Deklarasi, Inisialisasi, dan Operasi
  2. Menguasai Array Jagged C#: Deklarasi, Inisialisasi, dan Akses
  3. Teknik Salin Array Java: Panduan Lengkap
  4. Array C++ Dibongkar: Deklarasi, Inisialisasi, dan Teknik Pointer
  5. Menguasai Alokasi Array Dinamis C++: Panduan Praktis dengan Contoh Kode
  6. MATLAB: Tinjauan Komprehensif Lingkungan Komputasi Numerik Terkemuka
  7. Memahami Variabel dalam MATLAB: Dasar dan Contoh
  8. Perintah Esensial MATLAB untuk Komputasi Efisien
  9. Mahir Dasar Matriks MATLAB: Buat, Referensi, dan Manipulasi Data
  10. MATLAB – Angka: Tipe, Penyimpanan, dan Konversi