Eka Yuliatin
081711333002
Isi
Ikhtisar
Mulai, berhenti, dapatkan bantuan
Variabel dan tipe data
Matriks
Plotting
Pemrograman
Fungsi dan skrip
File I / O
Lain-lain
Oktaf dan Matlab dalam praktik
Librobotik
Ikhtisar
Oktaf adalah "Matlab sumber terbuka"
Oktaf adalah pembungkus plot Gnu yang hebat
www.octave.org
www.mathworks.com
• Variabel Tampilan
Cukup ketik huruf dan
angkanya
Variabel Presisi Numerik disimpan sebagai angka presisi ganda dalam format
floating-point IEEE.
realmin : Nomor floating-point positif terkecil: 2.23e-308
realmax : Nomor floating-point positif terbesar: 1.80e + 308
eps : Presisi relatif: 2.22e-16
Variabel dan Tipe Data
Membuat Matriks
Contoh Alternatif nya adalah
Matriks
Membuat Matriks dari Matriks
Dari segi colom (C)
Dari segi baris (D)
Matriks
Pengindeksan
Selalu "baris sebelum kolom"
aij = A (i, j) Dapatkan elemen
r = A (i, :) Dapatkan satu baris
c = A (:, j) Dapatkan kolom
B = A (i: k, j: l) Dapatkan submatrix
Dapatkan Ukuran
nr = ukuran (A, 1) Dapatkan jumlah baris A
nc = ukuran (A, 2) Dapatkan jumlah kolom A
[nr nc] = size (A) Dapatkan keduanya (ingat urutan)
l = panjang (A) Dapatkan apa pun yang lebih besar
numel (A) Dapatkan sejumlah elemen dalam A
isempty (A) Periksa apakah A adalah matriks kosong []
Hanya oktaf:
nr = baris (A) Dapatkan jumlah baris A
nc = kolom (A) Dapatkan jumlah kolom A
Matriks
Operasi Matriks
B=3*A perkalian vektor dengan skalar
C=A*B+X-D Tambah dan kalikan
B = A’ Transpose A
B = inv (A) Balikkan A
s = v '* Q * v Campurkan vektor dan matriks
Tidak khusus
M = magic (n) Magic square matrix dengan
ukuran n x n. (Semua baris dan
kolom berjumlah hingga angka
yang sama)
Matriks
Matriks dan Vektor Acak
R = rand (m, n) Matriks dengan m x n
angka acak terdistribusi
seragam dari interval
[0..1]
N = randn (m, n) Vektor baris dengan m
x n angka acak yang
terdistribusi normal
dengan rata-rata nol,
varian unit
v = rand per (n) Vektor baris dengan
permutasi acak angka 1
ke n
Matriks
Matriks Massage
Reshape (A, m, n) Ubah ukuran matriks A
menjadi berdimensi m x
n. Kesalahan terjadi jika
A tidak memiliki elemen
mxn
circshift (A, [m n]) Menggeser elemen dari A
m kali dalam dimensi
baris dan n kali dalam
dimensi kolom
shiftdim (A, n) Menggeser dimensi A
dengan n. Generalisasi
transpos untuk matriks
multi-dimensi
Matriks
Contoh Matriks massage
Misalkan P = [x1; y1; x2; y2; ...] menjadi vektor
kolom 2nx1 dari n (x, y) -pairs. Jadikan sebagai
vektor kolom dari (x, y, theta) -tuple dengan semua
nilai theta menjadi pi / 2:
1. Jadikan sebagai matriks 2xn
oktaf: 1> P = membentuk kembali (P, 2, numel
(P) / 2);
2. Tambahkan baris ketiga, tetapkan pi / 2
oktaf: 2> P (3, :) = pi / 2;
3. Bentuk kembali menjadi vektor kolom 3nx1
oktaf: 3> P = membentuk kembali (P, numel (P),
1);
String
Perintah yang Paling Sering Digunakan
strcat Concatenate strings
int2str Konversi integer ke string
num2str Mengonversi angka menjadi string
sprintf Menulis data yang diformat ke string.
Sama seperti C / C ++ fprintf untuk
string.
Contoh
s = strcat ('Pada langkah', int2str (k), ', p =',
num2str (p, 4))
Mengingat bahwa string adalah matriks karakter,
ini juga
s = ['Pada langkah' int2str (k) ', p =' num2str (p,
4)]
String
Oktaf / Matlab memiliki hampir semua fungsi string dan parsing yang umum.
Anda disarankan untuk menelusuri daftar perintah atau cukup mengetik perintah bantuan:
strcmp, strncmp, strmatch, char, ischar, findstr, strfind, str2double, str2num, num2str,
strvcat, strtrim, strtrim, strtok, atas, bawah, dan banyak lagi. ..
Isi
Ikhtisar
Mulai, berhenti, dapatkan bantuan
Variabel dan tipe data
Matriks
Plotting
Pemrograman
Fungsi dan skrip
File I / O
Lain-lain
Oktaf dan Matlab dalam praktik
Librobotik
Plotting
Merencanakan dalam 2D
plot (x, cos (x)) Tampilan x, y-plot Membuat jendela gambar secara otomatis. Oktaf
menggunakan Gnuplot untuk menangani gambar.
Gambar (n) Buat jendela gambar 'n' Jika jendela angka sudah ada, bawa ke latar depan (=
menjadikannya gambar saat ini)
Plotting
Beberapa plot
Rangkaian x, pola-y: plot (x1, y1, x2, y2, ...) mis. plot (x, cos (x), x, sin (x), x, x. ^ 2)
Tambahkan legenda ke plot: command legend legend ('cos (x)', 'sin (x)', 'x ^ 2')
Atau, tunggu melakukan pekerjaan yang sama:
oktaf: 1> tunggu; plot (x, cos (x));
oktaf: 2> plot (x, sin (x));
oktaf: 3> plot (x, x. ^ 2);
Plotting
Mengontrol Sumbu
Axis equal Atur skala yang sama untuk sumbu x- / y
axis square Memaksakan rasio aspek persegi
axis tight Atur sumbu hingga batas data
a = axis Kembalikan batas sumbu saat ini [xmin xmax ymin ymax]
axis ([- 1 1 2 5]) Menetapkan batas sumbu (membekukan sumbu)
axis off Matikan tanda tic
Box on Menambahkan kotak ke sumbu saat ini
box off Menghapus kotak
Plotting
Memilih Simbol dan Warna
Dalam plot (x, cos (x), 'r +') ekspresi format 'r +' berarti palang merah.
Ada sejumlah gaya dan warna garis, lihat help plot
Plotting
Plotting
Menyesuaikan sumbu
octave:3> axis([0 2*pi -1 1]) (try also axis tight )
Menambahkan Teks
octave:4> text(1,-0.5,'cos(\phi)')
octave:5> text(3,0.5,'sin(\phi)')
Plotting
Lihat bantuan mencetak untuk lebih banyak perangkat termasuk yang khusus untuk Lateks.
cetak juga bisa disebut sebagai fungsi. Kemudian, dibutuhkan argumen dan opsi sebagai
daftar yang dipisahkan koma. E.g .: print ('- dpng', '- r100', 'myPic.png');
Plotting
Tutorial ini tidak dapat mencakup berbagai macam perintah grafis di Octave / Matlab.
Anda didorong untuk menelusuri daftar perintah atau cukup ketik perintah bantuan:
hist, bar, pie, area, fill, contour, quiver, scatter, compass, rose, semilogx, loglog, stem, stairs,
image, imagesc
dan masih banyak lagi...
Plotting
Merencanakan dalam 3D
plot3 Alur garis dan titik dalam 3d
mesh 3D Jala plot permukaan
surf Plot permukaan berwarna 3D
Editor Teks
Gunakan editor dengan highlight /
pewarnaan sintaksis file-m.
Pemrograman
Struktur Kontrol
Pemrograman
Control Structures
switch Statement
Pemrograman
Control Structures
• while Statement
• for statement
Pemrograman
Operator Perbandingan
any (v) Mengembalikan 1 jika elemen vektor v tidak nol (mis. 1)
all (v) Mengembalikan 1 jika semua elemen dalam vektor v tidak nol (mis. 1)
Untuk matriks, setiap dan semua mengembalikan vektor baris dengan elemen yang sesuai
dengan kolom matriks.
any (any (C)) Mengembalikan 1 jika ada elemen matriks C yang bukan nol (mis. 1)
all (all (C)) Mengembalikan 1 jika semua elemen dalam matriks C tidak nol (mis. 1)
Pemrograman
Operator Relasional
x <y Benar jika x kurang dari y
x <= y Benar jika x kurang dari atau sama dengan y
x == y Benar jika x sama dengan y
x> = y Benar jika x lebih besar dari atau sama dengan y
x> y Benar jika x lebih besar dari y
x~=y Benar jika x tidak sama dengan y
x! = y Benar jika x tidak sama dengan y (hanya oktaf)
x <> y Benar jika x tidak sama dengan y (hanya oktaf)
Pemrograman
Ekspresi Boolean
B1 & B2 Element-wise logical and
B1 | B2 Element-wise logical or
~B Element-wise logical not
!B Element-wise logical not (Octave only)
Operasi hubung singkat: hanya mengevaluasi ekspresi selama diperlukan (lebih efisien).
B1 && B2 Short-circuit logical and
B1 || B2 Short-circuit logical or
Pemrograman
Catatan: Perintah Matlab / Oktaf semuanya dalam notasi huruf kecil (tidak ada garis bawah
atau garis putus-putus)
Examples: continue, int2str, isnumeric
Isi
Ikhtisar
Mulai, berhenti, dapatkan bantuan
Variabel dan tipe data
Matriks
Merencanakan
Pemrograman
Fungsi dan skrip
File I / O
Lain-lain
Oktaf dan Matlab dalam praktik
Librobotik
Fungsi dan Script
Fungsi
Program Oktaf / Matlab yang rumit seringkali
dapat disederhanakan dengan mendefinisikan
fungsi. Fungsi biasanya didefinisikan dalam file
eksternal, dan dapat disebut seperti fungsi
bawaan.
Skrip
Tipe kedua dari file-m disebut skrip. Sekali lagi, skrip Oktaf / Matlab adalah file teks
dengan ekstensi .m.
Skrip berisi kode yang dapat dieksekusi. Mereka pada dasarnya adalah program "utama".
Jalankan skrip dengan mengetik namanya tanpa ekstensi .m! Contoh: oktaf: 1>
LocalizeRobot
Fungsi dan Script
Blok pertama dari baris komentar pada awal file-m didefinisikan sebagai teks bantuan.
Contoh:
Fungsi dan Script
Pengaturan Paths
path Cetak daftar jalur pencarian
addpath ('dir') Tambahkan direktori yang ditentukan ke daftar path
rmpath ('dir') Hapus direktori yang ditentukan dari daftar path
savepath Simpan daftar jalur saat ini
Isi
Ikhtisar
Mulai, berhenti, dapatkan bantuan
Variabel dan tipe data
Matriks
Plotting
Pemrograman
Fungsi dan skrip
File I / O
Lain-lain
Oktaf dan Matlab dalam praktik
Librobotik
File I/O
Simpan Variabel
Setelah perhitungan panjang yang rumit, disarankan untuk menyimpan variabel pada disk
• save my_vars.mat
Menyimpan semua variabel saat ini ke file my_vars.mat
• save results.mat resultdata X Y
Menyimpan data hasil variabel, X dan Y di file results.mat
• save ... –ascii
Menyimpan variabel dalam format ASCII
• save ... -mat
Menyimpan variabel dalam format MAT biner
File I/O
• load results.mat X Y
Hanya mengambil X dan Y dari file results.mat
• File ASCII yang berisi angka dalam format matriks (kolom dipisahkan oleh spasi, baris
dipisahkan oleh baris baru), dapat dengan mudah dibaca oleh
A = load('data.txt')
File I/O
Jika program Anda menulis dan membaca dari file, ketepatan floating point dari fprintf
sangat penting!
Pastikan untuk selalu menulis angka floating point ke file menggunakan presisi yang sesuai.
File I/O
Membaca File
textread Baca data yang diformat dari file teks
fscanf Membaca data yang diformat dari file teks
fgetl Baca baris dari file
fread Baca file data biner
Membersihkan
clear A Hapus variabel A
clear frame * Hapus semua variabel yang namanya dimulai dengan frame ...
clear Hapus semua variabel
Clear all Hapus semuanya: variabel, global, fungsi, tautan, dll.
close Tutup jendela gambar latar depan
Close all Tutup semua jendela gambar terbuka
clc Bersihkan jendela perintah (shell)
Lain-lain
Menampilkan Pesan
disp (A) Tampilkan matriks A tanpa mencetak nama matriks
disp (str) Tampilkan string str tanpa mencetak nama string
Lain-lain
Sejarah Perintah
• Menavigasi naik turun sejarah perintah menggunakan tombol panah atas / bawah.
• Sejarah perintah sensitif terhadap huruf mulai. Ketik satu atau lebih huruf dan gunakan
tombol panah untuk menavigasi naik turun sejarah perintah yang dimulai dengan huruf
yang Anda ketik.
Penyelesaian tab
Oktaf / Matlab memiliki penyelesaian tab. Ketikkan beberapa huruf diikuti oleh tab untuk
mendapatkan daftar semua perintah yang dimulai dengan huruf yang Anda ketikkan.
Lain-lain
Perintah Terkait
movefile Memindahkan file
copyfile Salin file
Lain-lain
Random seeds
• rand dan rand mendapatkan benih awal dari jam sistem.
• Untuk menghasilkan urutan yang identik / berulang, atur benih generator acak secara
manual.
Membuat Animasi
• Matlab telah memerintahkan seperti getframe dan film untuk membuat film animasi dari
plot.
• Oktaf, karena bebas biaya, belum (belum) mendukung perintah-perintah ini.
• Berikut adalah cara yang cukup jelas untuk membuat film:
Ekspor plot ke direktori "bingkai" menggunakan cetak dari dalam satu lingkaran.
Kemudian buat bingkai ke film menggunakan alat seperti ImageMagick atau Quicktime
Pro.
Octave dan Matlab dalam Praktik
Membuat Animasi. Contoh:
Biarkan data.txt berisi data dalam format matriks, kami ingin memplot setiap kolom dan
menyimpannya sebagai bingkai.
Octave dan Matlab dalam Praktik
Membuat Animasi. Contoh:
Untuk membekukan sumbu di seluruh animasi, gunakan sumbu perintah ([xmin xmax ymin
ymax]) setelah perintah plot.
Octave dan Matlab dalam Praktik
• Perintah-perintah ini memungkinkan untuk kombinasi yang kuat dan berguna dengan
program lain atau perintah sistem.
Octave dan Matlab dalam Praktik
Kecepatan
• Kurangnya kecepatan program Octave / Matlab secara luas diakui sebagai kelemahan
terbesar mereka.
librobotik adalah perpustakaan kecil dengan fungsi Oktaf / Matlab yang sering digunakan
dalam Robotika, terutama untuk visualisasi.
chi2invtable.m drawrawdata.m j2comp.m
compound.m drawreference.m jinv.m
diffangle.m drawrobot.m mahalanobis.m
drawarrow.m drawrect.m meanwm.m
drawellipse.m drawtransform.m normangle.m
drawlabel.m icompound.m drawprobellipse.m
j1comp.m