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

MATLAB - Array

Semua variabel dari semua tipe data di MATLAB adalah array multidimensi. Vektor adalah larik satu dimensi dan matriks adalah larik dua dimensi.

Kita telah membahas vektor dan matriks. Dalam bab ini, kita akan membahas array multidimensi. Namun, sebelum itu, mari kita bahas beberapa tipe khusus dari array.

Array Khusus di MATLAB

Pada bagian ini, kita akan membahas beberapa fungsi yang membuat beberapa array khusus. Untuk semua fungsi ini, argumen tunggal membuat array persegi, argumen ganda membuat array persegi panjang.

nol() fungsi membuat larik semua nol

Misalnya

Demo Langsung
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

yang() fungsi membuat array semua yang −

Misalnya

Demo Langsung
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

mata() fungsi membuat matriks identitas.

Misalnya

Demo Langsung
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

rand() fungsi membuat larik bilangan acak terdistribusi seragam pada (0,1)

Misalnya

Demo Langsung
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

Kotak Ajaib

kotak ajaib adalah persegi yang menghasilkan jumlah yang sama, ketika elemen-elemennya ditambahkan berdasarkan baris, kolom, atau diagonal.

keajaiban() fungsi membuat array persegi ajaib. Dibutuhkan argumen tunggal yang memberikan ukuran persegi. Argumen harus berupa skalar yang lebih besar atau sama dengan 3.

Demo Langsung
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 perpanjangan dari matriks dua dimensi normal.

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

Sebagai contoh, mari kita buat array dua dimensi a.

Demo Langsung
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 larik 3-kali-3; kita dapat menambahkan dimensi ketiga ke a , dengan memberikan nilai seperti

Demo Langsung
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 one(), zeros() atau rand().

Misalnya,

Demo Langsung
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 bisa menggunakan cat() berfungsi untuk membangun array multidimensi. Ini menggabungkan daftar array di sepanjang dimensi yang ditentukan

Sintaks untuk fungsi cat() adalah

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

Dimana,

Contoh

Buat file skrip dan ketik kode berikut ke dalamnya

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

Saat Anda menjalankan file, ini akan 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-fungsi berikut untuk mengurutkan, memutar, mengubah, membentuk kembali, atau menggeser isi array.

Fungsi Tujuan
panjang Panjang vektor atau dimensi array terbesar
ndim Jumlah dimensi larik
angka Jumlah elemen larik
ukuran Dimensi larik
iscolumn Menentukan apakah input adalah vektor kolom
kosong Menentukan apakah array kosong
ismatrix Menentukan apakah input berupa matriks
isrow Menentukan apakah input adalah vektor baris
isscalar Menentukan apakah inputnya skalar
isvektor Menentukan apakah input adalah vektor
blkdiag Membangun matriks diagonal blok dari argumen input
circshift Menggeser array secara sirkuler
ctranspose Transpos konjugat kompleks
diag Matriks diagonal dan diagonal matriks
flipdim Membalik array sepanjang dimensi yang ditentukan
fliplr Membalik matriks dari kiri ke kanan
flipud Membalik matriks ke atas ke bawah
ipermute Membalikkan dimensi permutasi array N-D
permutasi Menata ulang dimensi larik N-D
repmat Replikasi dan susunan ubin
membentuk ulang Membentuk ulang array
rot90 Memutar matriks 90 derajat
shiftdim Menggeser dimensi
berbagai macam Menentukan apakah elemen yang disetel berada dalam urutan terurut
sort Mengurutkan elemen array dalam urutan menaik atau menurun
urutan Mengurutkan baris dalam urutan menaik
tekan Menghapus dimensi tunggal
transpose Transposisi
membuat vektor Vektorisasi 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

Demo Langsung
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

Saat Anda menjalankan file, ini akan menampilkan hasil berikut

ans =  8
ans =  4
ans =  23

Pergeseran Melingkar dari Elemen Array

Buat file skrip dan ketik kode berikut ke dalamnya

Demo Langsung
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.

Saat Anda menjalankan file, ini akan 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

Demo Langsung
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

Saat Anda menjalankan file, ini akan 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

Array Sel

Array sel adalah array sel yang diindeks di mana setiap sel dapat menyimpan array dengan dimensi dan tipe data yang berbeda.

sel fungsi digunakan untuk membuat array sel. Sintaks untuk fungsi sel adalah

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

Di mana,

Contoh

Buat file skrip dan ketik kode berikut ke dalamnya

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

Saat Anda menjalankan file, ini akan 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 Array Sel

Ada dua cara untuk merujuk ke elemen array sel

Saat Anda menyertakan indeks di kurung pertama, ini mengacu pada kumpulan sel.

Indeks array sel dalam tanda kurung halus mengacu pada kumpulan sel.

Misalnya

Demo Langsung
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 konten sel dengan mengindeks dengan kurung kurawal.

Misalnya

Demo Langsung
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. C# Array
  2. C# Array Bergerigi
  3. Java Salin Array
  4. Array di C++ | Nyatakan | Inisialisasi | Contoh Pointer ke Array
  5. C++ Alokasi Dinamis Array dengan Contoh
  6. MATLAB - Ikhtisar
  7. MATLAB - Variabel
  8. MATLAB - Perintah
  9. MATLAB - Matriks
  10. MATLAB - Angka