Matriks pada pekerjaan nyata jarang diketik elemen demi elemen. MATLAB menyediakan fungsi pembangkit yang menghasilkan pola umum dalam satu panggilan: zeros untuk matriks nol, ones untuk matriks satu, eye untuk matriks identitas, dan linspace untuk vektor berjarak tetap. Topik ini membahas bentuk pemanggilan tiap fungsi beserta keluarannya, lalu menunjukkan situasi yang menjadikan masing-masing sebagai pilihan yang tepat, mulai dari praalokasi tempat penyimpanan data sampai pembuatan grid pengukuran.
Matriks nol dan matriks satu#
Fungsi zeros(m, n) menghasilkan matriks dengan baris dan kolom yang seluruh elemennya bernilai nol. Fungsi ones(m, n) bekerja dengan cara yang sama tetapi mengisi seluruh elemennya dengan nilai satu. Kedua fungsi menerima dua bilangan bulat sebagai argumen ukuran dan mengembalikan matriks yang siap digunakan tanpa perlu penyusunan manual.
Z = zeros(2, 3)
S = ones(2, 3)Z =
0 0 0
0 0 0
S =
1 1 1
1 1 1Keluaran tersebut memperlihatkan matriks untuk masing-masing fungsi. Nilai nol berperan sebagai titik awal yang netral bagi penjumlahan, sedangkan nilai satu berperan sebagai bilangan awal bagi penghitung dan penanda. Ketika matriks yang diinginkan berbentuk persegi, bentuk pemanggilan satu argumen tersedia: zeros(n) menghasilkan matriks persegi , dan ones(n) mengikuti aturan yang sama. Kombinasi keduanya juga lazim, misalnya ones(1, 7) menandai tujuh hari sebagai hari piket aktif lebih dahulu sebelum hari tertentu diubah menjadi nol.
Matriks identitas dengan eye#
Fungsi eye(n) menghasilkan matriks identitas persegi , yaitu matriks dengan angka satu pada diagonal utama dan nol di tempat lain. Matriks identitas berperan sebagai elemen netral perkalian matriks: mengalikan matriks apa pun dengan identitas yang berukuran tepat menghasilkan matriks itu kembali, sebagaimana bilangan dikalikan satu.
Z_persegi = zeros(3)
I = eye(3)Z_persegi =
0 0 0
0 0 0
0 0 0
I =
Diagonal Matrix
1 0 0
0 1 0
0 0 1Pemanggilan eye(m, n) juga sah dan menghasilkan matriks persegi panjang dengan angka satu pada diagonal utamanya, misalnya eye(2, 3) untuk data dua baris tiga kolom. Bentuk seperti ini digunakan pada konstruksi tertentu di aljabar linear, sedangkan penggunaan sehari-hari hampir selalu cukup dengan bentuk persegi. Ukuran identitas yang tepat ditentukan oleh matriks lain dalam perkalian, sehingga menyamakan ukuran identitas dengan jumlah kolom data menjadi pedoman yang mudah diingat.
Vektor berjarak tetap dengan linspace#
Fungsi linspace(a, b, n) menghasilkan vektor baris berisi titik dari sampai dengan jarak yang sama antar titik. Jarak ini dihitung dari kedua ujung rentang, yakni , sehingga titik pertama selalu dan titik terakhir selalu .
x = linspace(0, 1, 5)x =
0 0.2500 0.5000 0.7500 1.0000Kelima titik tersebut berjarak 0,25 karena . Perhatikan bahwa argumen ketiga menetapkan jumlah titik, bukan besar langkah, dan kedua ujung rentang selalu termasuk. Apabila besar langkah perlu ditentukan sendiri, gunakan operator titik dua yang dibahas pada topik slicing. Pada praktiknya, linspace menjadi alat baku untuk menyiapkan sumbu pengukuran yang halus, misalnya titik waktu saat data sensor direkam setiap seperempat detik.
Apabila argumen ketiga dilewatkan, seratus titik digunakan sebagai bawaan. Jumlah bawaan ini sering lebih halus daripada kebutuhan, sehingga menuliskan jumlah titik secara eksplisit tetap menjadi kebiasaan yang baik agar keluaran tidak membengkak tanpa sengaja. Hasil linspace selalu berupa vektor baris, sehingga data hasilnya siap digunakan sebagai sumbu atau sebagai baris pada tabel pengukuran.
Kapan tiap fungsi digunakan#
Setiap fungsi pembangkit memiliki peran khas dalam alur kerja. Matriks nol menjadi tempat penyimpanan yang disiapkan sebelum data tersedia, matriks satu menjadi nilai awal penghitung, matriks identitas menjadi komponen aljabar, dan linspace menjadi sumbu grid data. Peran yang paling sering dijumpai pemula adalah praalokasi: tempat data disiapkan lebih dulu dengan zeros, lalu nilai diisi seiring datangnya hasil pengukuran.
suhu = zeros(1, 5);
suhu(3) = 36.5suhu =
0 0 36.5000 0 0Vektor suhu bermula sebagai lima buah nol, kemudian posisi ketiga diisi dengan satu hasil pengukuran. Cara mengakses dan mengisi elemen lewat indeks dibahas tuntas pada topik pengindeksan. Skrip berikut merangkum keempat fungsi pembangkit dalam satu berkas yang dapat dijalankan utuh.
% matriks_khusus.m: membangun matriks siap pakai dan vektor berjarak tetap
Z = zeros(2, 3); % matriks nol 2 x 3
S = ones(3); % matriks satu persegi 3 x 3
I = eye(2); % matriks identitas 2 x 2
x = linspace(0, 10, 6); % 6 titik berjarak tetap dari 0 sampai 10
fprintf('zeros(2, 3):\n');
disp(Z);
fprintf('ones(3):\n');
disp(S);
fprintf('eye(2):\n');
disp(I);
fprintf('linspace(0, 10, 6):\n');
disp(x);
fprintf('x memiliki %d titik\n', numel(x));zeros(2, 3):
0 0 0
0 0 0
ones(3):
1 1 1
1 1 1
1 1 1
eye(2):
Diagonal Matrix
1 0
0 1
linspace(0, 10, 6):
0 2 4 6 8 10
x memiliki 6 titikDua vektor linspace yang dipasangkan menjadi grid pengukuran dua dimensi, misalnya waktu rekaman disilangkan dengan posisi sensor untuk menghasilkan tabel nilai teratur. Peran eye berbeda karena berkaitan dengan struktur perhitungan: matriks identitas menjadi pembanding uji perkalian, komponen pembangun sistem persamaan, dan titik awal pembuatan matriks transformasi. Ketiga peran tersebut menunjukkan bahwa fungsi pembangkit bukan sekadar jalan pintas penulisan, melainkan bagian dari cara MATLAB menyusun data numerik secara terstruktur.
Kesalahan umum#
- Menganggap zeros(5) sebagai vektor lima elemen. Bentuk satu argumen menghasilkan matriks persegi , bukan vektor baris . Solusinya menuliskan kedua dimensi secara eksplisit sebagai zeros(1, 5). Pemeriksaan cepat berikut memperlihatkan ukuran sebenarnya.
size(zeros(5))ans =
5 5- Membaca argumen ketiga linspace sebagai langkah. Angka terakhir menetapkan banyak titik, sehingga linspace(0, 1, 5) menghasilkan lima titik berjarak 0,25, bukan rentang berlangkah lima. Apabila yang dipegang adalah besar langkah, hitung jumlah titiknya lebih dahulu atau gunakan operator titik dua yang memang menetapkan langkah.
- Menukar peran zeros dan ones. zeros digunakan untuk tempat data kosong yang menunggu pengisian, sedangkan ones digunakan ketika seluruh elemen memang harus berangkat dari nilai satu, misalnya penghitung. Keduanya sama-sama sah, tetapi makna hasil akhirnya berbeda, dan pembaca lain menafsirkan maksud dari fungsi yang dipilih.
Ringkasan#
- zeros(m, n) dan ones(m, n) menghasilkan matriks berisi nol atau satu, dan bentuk satu argumen menghasilkan matriks persegi.
- eye(n) menghasilkan matriks identitas dengan angka satu pada diagonal utama.
- linspace(a, b, n) menghasilkan titik berjarak tetap dengan kedua ujung rentang selalu termasuk.
- Praalokasi dengan zeros menjadi kebiasaan dasar untuk menyiapkan tempat data sebelum pengisian.
Referensi#
- zeros — MathWorks — Rujukan fungsi zeros beserta bentuk pemanggilannya.
- eye — MathWorks — Rujukan fungsi eye untuk matriks identitas.
- linspace — MathWorks — Rujukan fungsi linspace untuk vektor berjarak tetap.