Anda di halaman 1dari 71

TUGAS PRAKTIKUM

TEKNIK INSTRUMENTASI DAN KENDALI


“Pengenalan Matlab”

Disusun Oleh :
Lukman Mubarak (021700013)
Aetandrian Widya Raharjo (021700012)
Agus Wijayanto (121900001)

ELEKTRONIKA INSTRUMENTASI
JURUSAN TEKNOFISIKA NUKLIR
SEKOLAH TINGGI TEKNOLOGI NUKLIR
BADAN TENAGA NUKLIR NASIONAL
YOGYAKARTA
2019
1
Tugas Laporan Praktikum

Pengenalan Matlab

I. PLOTTING

II. GRAFIK

1. Mengetahui dan memahami dasar penggunaan aplikasi Matlab dalam sistem kontrol.
2. Mengerti bagaimana cara penggunaan fungsi :
a) Plotting
b) Grafik
c) Aljabar
d) Kalkulus
e) Polynomial
f) Transform
g) diferensial, dan
h) integral
menggunakan software Matlab.
3. Mengerti bagaimana menggunakan fungsi Simulink dari software Matlab.

III. PERANGKAT atau ALAT PRAKTIKUM

1. Personal Komputer
2. Software Matlab 2015b beserta modul tutorial matlab melalui
https://www.tutorialspoint.com/matlab

IV. TEORI SINGKAT

Matlab merupakan bahasa pemrograman dengan kemampuan tinggi dalam bidang


komputasi. Matlab memiliki kemampuan mengintegrasikan komputasi, visualisasi, dan
pemrograman. Oleh karenanya, matlab banyak digunakan dalam bidang riset‐riset yang
memerlukan komputasi numerik yang kompleks. Penggunaan Matlab meliputi bidang–
bidang:
 Matematika dan Komputasi
2
 Pembentukan Algorithm
 Akusisi Data
 Pemodelan, simulasi, dan pembuatan prototype
 Analisa data, explorasi, dan visualisasi
 Grafik Keilmuan dan bidang Rekayasa
Matlab merupakan kepanjangan dari Matrix Laboratory. Sesuai dengan namanya, struktur
data yang terdapat dalam Matlab menggunakan matriks atau array berdimensi dua (double).
Oleh karenanya penguasaan teori matriks mutlak diperlukan bagi pengguna pemula Matlab
agarmudah dalam mempelajari dan memahami operasi‐operasi yang ada di Matlab.
Kita dapat belajar Matlab melalui berbagai macam cara seperti dari buku maupun internet.
Banyak situs di internet yang menyediakan tutorial tentang matlab. Seperti tutorial dasar,
toolboxes, simulink, dan sebagainya. Kita dapat menggunakan situs
http://www.mathworks.com. Untuk memperoleh informasi dan pengetahuan terkini tentang
matlab.

V. PENYELESAIAN TUGAS PRAKTIKUM (LANGKAH KERJA)

4.1. Plotting

Untuk memplot grafik suatu fungsi, perlu mengambil langkah-langkah berikut -

 Tentukan x , dengan menentukan rentang nilai untuk variabel x , yang fungsinya


akan diplot

 Tentukan fungsi, y = f (x)

 Panggil perintah plot , sebagai plot (x, y)

Contoh berikut akan menunjukkan konsep. Mari kita plot fungsi sederhana y =
x untuk rentang nilai untuk x dari 0 hingga 100, dengan kenaikan 5.

Buat file skrip dan ketik kode berikut -

x = [0:5:100];
y = x;
plot(x, y)

Saat Anda menjalankan file, MATLAB menampilkan plot berikut -

3
Mari kita ambil satu contoh lagi untuk memplot fungsi y = x 2 . Dalam contoh ini,
kita akan menggambar dua grafik dengan fungsi yang sama, tetapi untuk kedua
kalinya, kita akan mengurangi nilai kenaikan. Harap perhatikan bahwa saat kami
mengurangi kenaikan, grafik menjadi lebih halus.

Buat file skrip dan ketik kode berikut -

x = [1 2 3 4 5 6 7 8 9 10];
x = [-100:20:100];
y = x.^2;
plot(x, y)

Saat Anda menjalankan file, MATLAB menampilkan plot berikut -

4
Ubah sedikit file kode, kurangi kenaikan menjadi 5 -

x = [-100:5:100];
y = x.^2;
plot(x, y)

MATLAB menggambar grafik yang lebih halus -

Menambahkan Judul, Label, Garis Kisi dan Penskalaan pada Grafik

5
MATLAB memungkinkan Anda untuk menambahkan judul, label di sepanjang
sumbu x dan sumbu y, garis kisi dan juga untuk menyesuaikan sumbu untuk
merapikan grafik.

 Perintah xlabel dan ylabel menghasilkan label di sepanjang sumbu x dan sumbu y.

 Title perintah memungkinkan Anda untuk menempatkan judul pada grafik.

 Grid on perintah memungkinkan Anda untuk menempatkan garis grid pada grafik.

 Axis equal perintah memungkinkan menghasilkan plot dengan faktor skala yang sama
dan ruang-ruang pada kedua sumbu.

 Plot menghasilkan plot persegi.

Contoh

Buat file skrip dan ketik kode berikut -

x = [0:0.01:10];
y = sin(x);
plot(x, y), xlabel('x'), ylabel('Sin(x)'), title('Sin(x)
Graph'),
grid on, axis equal

MATLAB menghasilkan grafik berikut -

6
Menggambar Banyak Fungsi pada Grafik yang Sama

Anda dapat menggambar banyak grafik pada plot yang sama. Contoh berikut
menunjukkan konsep -

Contoh

Buat file skrip dan ketik kode berikut -

x = [0 : 0.01: 10];
y = sin(x);
g = cos(x);
plot(x, y, x, g, '.-'), legend('Sin(x)', 'Cos(x)')

MATLAB menghasilkan grafik berikut -

Mengatur Warna pada Grafik

MATLAB menyediakan delapan opsi warna dasar untuk menggambar


grafik. Tabel berikut menunjukkan warna dan kodenya -

Kode Warna

7
di putih

k Hitam

b Biru

r Merah

c Cyan

g hijau

m Magenta

dan Kuning

Contoh

Mari kita menggambar grafik dua polinomial

 f (x) = 3x 4 + 2x 3 + 7x 2 + 2x + 9 dan

 g (x) = 5x 3 + 9x + 2

Buat file skrip dan ketik kode berikut -

x = [-10 : 0.01: 10];


y = 3*x.^4 + 2 * x.^3 + 7 * x.^2 + 2 * x + 9;
g = 5 * x.^3 + 9 * x + 2;
plot(x, y, 'r', x, g, 'g')

Ketika Anda menjalankan file, MATLAB menghasilkan grafik berikut -

8
Mengatur Timbangan Sumbu

The axis perintah memungkinkan Anda untuk mengatur skala sumbu. Anda
dapat memberikan nilai minimum dan maksimum untuk sumbu x dan y
menggunakan perintah sumbu dengan cara berikut -

axis ( [xmin xmax ymin ymax] )

Contoh berikut menunjukkan ini -

Contoh

Buat file skrip dan ketik kode berikut -

x = [0 : 0.01: 10];
y = exp(-x).* sin(2*x + 3);
plot(x, y), axis([0 10 -1 1])

Ketika Anda menjalankan file, MATLAB menghasilkan grafik berikut -

9
Menghasilkan Sub-Plot

Saat Anda membuat array plot dalam gambar yang sama, masing-masing plot
ini disebut subplot. The subplot Perintah ini digunakan untuk membuat subplot.

Sintaks untuk perintah adalah -

subplot(m, n, p)

di mana, m dan n adalah jumlah baris dan kolom dari array plot
dan p menentukan di mana harus meletakkan plot tertentu.

Setiap plot yang dibuat dengan perintah subplot dapat memiliki karakteristiknya
sendiri. Contoh berikut menunjukkan konsep -

Contoh

Mari kita buat dua plot -

y = e −1.5x sin (10x)

y = e −2x sin (10x)

Buat file skrip dan ketik kode berikut -

10
x = [0:0.01:5];
y = exp(-1.5*x).*sin(10*x);
subplot(1,2,1)
plot(x,y), xlabel('x'),ylabel('exp(–1.5x)*sin(10x)'),axis([0
5 -1 1])
y = exp(-2*x).*sin(10*x);
subplot(1,2,2)
plot(x,y),xlabel('x'),ylabel('exp(–2x)*sin(10x)'),axis([0 5 -
1 1])

Ketika Anda menjalankan file, MATLAB menghasilkan grafik berikut -

4.2. GRAFIK
Menggambar Bar Charts

The bar perintah menarik dua bar chart dimensi. Mari kita ambil contoh untuk
menunjukkan gagasan itu.

Contoh

Misal kita memiliki kelas imajiner dengan 10 siswa. Kita tahu persentase nilai
yang diperoleh siswa ini adalah 75, 58, 90, 87, 50, 85, 92, 75, 60, dan 95. Kita
akan menggambar diagram batang untuk data ini.

11
Buat file skrip dan ketik kode berikut -

x = [1:10];
y = [75, 58, 90, 87, 50, 85, 92, 75, 60, 95];
bar(x,y), xlabel('Student'),ylabel('Score'),
title('First Sem:')
print -deps graph.eps

Saat Anda menjalankan file, MATLAB menampilkan diagram batang berikut -

Menggambar kontur

Garis kontur dari fungsi dua variabel adalah kurva di mana fungsi memiliki nilai
konstan. Garis kontur digunakan untuk membuat peta kontur dengan
menggabungkan titik-titik dengan ketinggian yang sama di atas tingkat tertentu,
seperti permukaan laut rata-rata.

MATLAB menyediakan fungsi kontur untuk menggambar peta kontur.

Contoh

Mari kita buat peta kontur yang memperlihatkan garis kontur untuk fungsi yang
diberikan g = f (x, y). Fungsi ini memiliki dua variabel. Jadi, kita harus

12
menghasilkan dua variabel independen, yaitu, dua set data x dan y. Ini dilakukan
dengan memanggil perintah meshgrid .

The meshgrid Perintah ini digunakan untuk menghasilkan matriks elemen yang
memberikan rentang lebih x dan y bersama dengan spesifikasi selisih dalam
setiap kasus.

Mari kita plot fungsi kita g = f (x, y), di mana −5 ≤ x ≤ 5, −3 ≤ y ≤ 3. Mari kita
selisih 0,1 untuk kedua nilai. Variabel ditetapkan sebagai -

[x,y] = meshgrid(–5:0.1:5, –3:0.1:3);

Terakhir, kita perlu menetapkan fungsi. Biarkan fungsi kita menjadi: x 2 + y 2

Buat file skrip dan ketik kode berikut -

[x,y] = meshgrid(-5:0.1:5,-3:0.1:3); %independent


variables
g = x.^2 + y.^2; % our function
contour(x,y,g) % call the contour
function
print -deps graph.eps

Saat Anda menjalankan file, MATLAB menampilkan peta kontur berikut -

Mari kita sedikit modifikasi kode untuk merapikan peta


13
[x,y] = meshgrid(-5:0.1:5,-3:0.1:3); %independent
variables
g = x.^2 + y.^2; % our function
[C, h] = contour(x,y,g); % call the contour
function
set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2)
print -deps graph.eps

Saat Anda menjalankan file, MATLAB menampilkan peta kontur berikut -

Plot Tiga Dimensi

Plot tiga dimensi pada dasarnya menampilkan permukaan yang didefinisikan


oleh fungsi dalam dua variabel, g = f (x, y).

Seperti sebelumnya, untuk mendefinisikan g, kita pertama-tama membuat satu


set (x, y) poin di atas domain fungsi
menggunakan perintah meshgrid . Selanjutnya, kita menetapkan fungsi itu
sendiri. Akhirnya, kami menggunakan perintah surf untuk membuat plot
permukaan.

Contoh berikut menunjukkan konsep -

14
Contoh

Mari kita buat peta permukaan 3D untuk fungsi g = xe - (x 2 +y2)

Buat file skrip dan ketik kode berikut -

[x,y] = meshgrid(-2:.2:2);
g = x .* exp(-x.^2 - y.^2);
surf(x, y, g)
print -deps graph.eps

Saat Anda menjalankan file, MATLAB menampilkan peta 3-D berikut -

Anda juga dapat menggunakan perintah mesh untuk menghasilkan permukaan


tiga dimensi. Namun, perintah surf menampilkan garis penghubung dan
permukaan permukaan berwarna, sedangkan, perintah mesh menciptakan
permukaan rangka gambar dengan garis berwarna yang menghubungkan titik-
titik yang ditentukan.

4.3.ALJABAR

Memecahkan Persamaan Aljabar Dasar dalam MATLAB

15
Fungsi penyelesaian digunakan untuk memecahkan persamaan
aljabar. Dalam bentuknya yang paling sederhana, fungsi penyelesaian
mengambil persamaan yang dilampirkan dalam tanda kutip sebagai argumen.

Sebagai contoh, mari kita pecahkan untuk x dalam persamaan x-5 = 0

solve('x-5=0')

MATLAB akan menjalankan pernyataan di atas dan mengembalikan hasil


berikut -

ans =
5

Anda juga dapat memanggil fungsi penyelesaian sebagai -

y = solve('x-5 = 0')

MATLAB akan menjalankan pernyataan di atas dan mengembalikan hasil


berikut -

y =
5

Anda bahkan mungkin tidak memasukkan sisi kanan persamaan -

solve('x-5')

MATLAB akan menjalankan pernyataan di atas dan mengembalikan hasil


berikut -

ans =
5

Jika persamaan melibatkan banyak simbol, maka MATLAB secara default


mengasumsikan bahwa Anda memecahkan x, namun fungsi penyelesaian
memiliki bentuk lain -

solve(equation, variable)

di mana, Anda juga bisa menyebutkan variabel.

16
Sebagai contoh, mari kita memecahkan persamaan v - u - 3t 2 = 0, untuk v.
Dalam hal ini, kita harus menulis -

solve('v-u-3*t^2=0', 'v')

MATLAB akan menjalankan pernyataan di atas dan mengembalikan hasil


berikut -

ans =
3*t^2 + u

Memecahkan Persamaan Aljabar Dasar dalam Oktaf

Fungsi root digunakan untuk menyelesaikan persamaan aljabar dalam Oktaf


dan Anda dapat menulis contoh di atas sebagai berikut -

Sebagai contoh, mari kita pecahkan untuk x dalam persamaan x-5 = 0

roots([1, -5])

Oktaf akan menjalankan pernyataan di atas dan mengembalikan hasil berikut -

ans = 5

Anda juga dapat memanggil fungsi penyelesaian sebagai -

y = roots([1, -5])

Oktaf akan menjalankan pernyataan di atas dan mengembalikan hasil berikut -

y = 5

Memecahkan Persamaan Kuadrat di MATLAB

Fungsi selesaikan juga dapat memecahkan persamaan orde tinggi. Ini sering
digunakan untuk menyelesaikan persamaan kuadrat. Fungsi mengembalikan
akar persamaan dalam array.

Contoh berikut memecahkan persamaan kuadrat x 2 -7x +12 = 0. Buat file skrip
dan ketik kode berikut -

eq = 'x^2 -7*x + 12 = 0';

17
s = solve(eq);
disp('The first root is: '), disp(s(1));
disp('The second root is: '), disp(s(2));

Ketika Anda menjalankan file, ini menampilkan hasil berikut -

The first root is:


3
The second root is:
4

Memecahkan Persamaan Kuadratik dalam Oktaf

Contoh berikut memecahkan persamaan kuadrat x 2 -7x +12 = 0 dalam


Oktaf. Buat file skrip dan ketik kode berikut -

s = roots([1, -7, 12]);

disp('The first root is: '), disp(s(1));


disp('The second root is: '), disp(s(2));

Ketika Anda menjalankan file, ini menampilkan hasil berikut -

The first root is:


4
The second root is:
3

Memecahkan Persamaan Tingkat Tinggi di MATLAB

Fungsi selesaikan juga dapat memecahkan persamaan orde tinggi. Sebagai


contoh, mari kita pecahkan persamaan kubik dengan (x-3) 2 (x-7) = 0

solve('(x-3)^2*(x-7)=0')

MATLAB akan menjalankan pernyataan di atas dan mengembalikan hasil


berikut -

ans =
18
3
3
7

Dalam kasus persamaan orde yang lebih tinggi, akar panjang mengandung
banyak istilah. Anda bisa mendapatkan nilai numerik dari akar tersebut dengan
mengubahnya menjadi dua kali lipat. Contoh berikut memecahkan persamaan
urutan keempat x 4 - 7x 3 + 3x 2 - 5x + 9 = 0.

Buat file skrip dan ketik kode berikut -

eq = 'x^4 - 7*x^3 + 3*x^2 - 5*x + 9 = 0';


s = solve(eq);
disp('The first root is: '), disp(s(1));
disp('The second root is: '), disp(s(2));
disp('The third root is: '), disp(s(3));
disp('The fourth root is: '), disp(s(4));

% converting the roots to double type


disp('Numeric value of first root'), disp(double(s(1)));
disp('Numeric value of second root'), disp(double(s(2)));
disp('Numeric value of third root'), disp(double(s(3)));
disp('Numeric value of fourth root'), disp(double(s(4)));

Ketika Anda menjalankan file, itu mengembalikan hasil berikut -

The first root is:


6.630396332390718431485053218985
The second root is:
1.0597804633025896291682772499885
The third root is:
- 0.34508839784665403032666523448675 -
1.0778362954630176596831109269793*i
The fourth root is:

19
- 0.34508839784665403032666523448675 +
1.0778362954630176596831109269793*i
Numeric value of first root
6.6304
Numeric value of second root
1.0598
Numeric value of third root
-0.3451 - 1.0778i
Numeric value of fourth root
-0.3451 + 1.0778i

Harap perhatikan bahwa dua akar terakhir adalah bilangan kompleks.

Memecahkan Persamaan Tingkat Tinggi dalam Oktaf

Contoh berikut memecahkan persamaan urutan keempat x 4 - 7x 3 + 3x 2 - 5x +


9 = 0.

Buat file skrip dan ketik kode berikut -

v = [1, -7, 3, -5, 9];


s = roots(v);

% converting the roots to double type


disp('Numeric value of first root'), disp(double(s(1)));
disp('Numeric value of second root'), disp(double(s(2)));
disp('Numeric value of third root'), disp(double(s(3)));
disp('Numeric value of fourth root'), disp(double(s(4)));

Ketika Anda menjalankan file, itu mengembalikan hasil berikut -

Numeric value of first root


6.6304
Numeric value of second root
-0.34509 + 1.07784i
Numeric value of third root

20
-0.34509 - 1.07784i
Numeric value of fourth root
1.0598

Memecahkan Sistem Persamaan dalam MATLAB

Fungsi penyelesaian juga dapat digunakan untuk menghasilkan solusi sistem


persamaan yang melibatkan lebih dari satu variabel. Mari kita ambil contoh
sederhana untuk menunjukkan penggunaan ini.

Mari kita pecahkan persamaan -

5x + 9y = 5

3x - 6y = 4

Buat file skrip dan ketik kode berikut -

s = solve('5*x + 9*y = 5','3*x - 6*y = 4');


s.x
s.y

Ketika Anda menjalankan file, ini menampilkan hasil berikut -

ans =
22/19
ans =
-5/57

Dengan cara yang sama, Anda dapat memecahkan sistem linier yang lebih
besar. Pertimbangkan rangkaian persamaan berikut -

x + 3t -2z = 5

3x + 5thn + 6z = 7

2x + 4thn + 3z = 8

Memecahkan Sistem Persamaan dalam Oktaf

21
Kami memiliki pendekatan yang sedikit berbeda untuk menyelesaikan sistem
persamaan linear 'n' di 'n' yang tidak diketahui. Mari kita ambil contoh sederhana
untuk menunjukkan penggunaan ini.

Mari kita pecahkan persamaan -

5x + 9y = 5

3x - 6y = 4

Sistem persamaan linear seperti itu dapat ditulis sebagai persamaan matriks
tunggal Ax = b, di mana A adalah matriks koefisien, b adalah vektor kolom yang
berisi sisi kanan dari persamaan linear dan x adalah vektor kolom yang mewakili
solusi sebagai ditunjukkan dalam program di bawah ini -

Buat file skrip dan ketik kode berikut -

A = [5, 9; 3, -6];
b = [5;4];
A \ b

Ketika Anda menjalankan file, ini menampilkan hasil berikut -

ans =

1.157895
-0.087719

Dengan cara yang sama, Anda dapat memecahkan sistem linier yang lebih
besar seperti yang diberikan di bawah ini -

x + 3t -2z = 5

3x + 5thn + 6z = 7

2x + 4thn + 3z = 8

Memperluas dan Mengumpulkan Persamaan dalam MATLAB

22
The memperluas dan mengumpulkan fungsi mengembang dan
mengumpulkan persamaan masing-masing. Contoh berikut menunjukkan
konsep

Ketika Anda bekerja dengan banyak fungsi simbolis, Anda harus menyatakan
bahwa variabel Anda simbolis.

Buat file skrip dan ketik kode berikut -

syms x %symbolic variable x


syms y %symbolic variable x
% expanding equations
expand((x-5)*(x+9))
expand((x+2)*(x-3)*(x-5)*(x+7))
expand(sin(2*x))
expand(cos(x+y))

% collecting equations
collect(x^3 *(x-7))
collect(x^4*(x-3)*(x-5))

Ketika Anda menjalankan file, ini menampilkan hasil berikut -

ans =
x^2 + 4*x - 45
ans =
x^4 + x^3 - 43*x^2 + 23*x + 210
ans =
2*cos(x)*sin(x)
ans =
cos(x)*cos(y) - sin(x)*sin(y)
ans =
x^4 - 7*x^3
ans =
x^6 - 8*x^5 + 15*x^4

23
Memperluas dan Mengumpulkan Persamaan dalam Oktaf

Anda harus memiliki simbolis paket, yang


menyediakan memperluas dan mengumpulkan fungsi untuk memperluas dan
mengumpulkan persamaan, masing-masing. Contoh berikut menunjukkan
konsep -

Ketika Anda bekerja dengan banyak fungsi simbolis, Anda harus menyatakan
bahwa variabel Anda simbolis tetapi Oktaf memiliki pendekatan berbeda untuk
mendefinisikan variabel simbolis. Perhatikan penggunaan Sin dan Cos , yang
juga didefinisikan dalam paket simbolik.

Buat file skrip dan ketik kode berikut -

% first of all load the package, make sure its installed.


pkg load symbolic

% make symbols module available


symbols

% define symbolic variables


x = sym ('x');
y = sym ('y');
z = sym ('z');

% expanding equations
expand((x-5)*(x+9))
expand((x+2)*(x-3)*(x-5)*(x+7))
expand(Sin(2*x))
expand(Cos(x+y))

% collecting equations
collect(x^3 *(x-7), z)
collect(x^4*(x-3)*(x-5), z)

24
Ketika Anda menjalankan file, ini menampilkan hasil berikut -

ans =

-45.0+x^2+(4.0)*x
ans =

210.0+x^4-(43.0)*x^2+x^3+(23.0)*x
ans =

sin((2.0)*x)
ans =

cos(y+x)
ans =

x^(3.0)*(-7.0+x)
ans =

(-3.0+x)*x^(4.0)*(-5.0+x)

Faktorisasi dan Penyederhanaan Ekspresi Aljabar

Fungsi faktor memfaktorkan ekspresi


dan fungsi menyederhanakan menyederhanakan ekspresi. Contoh berikut
menunjukkan konsep -

Contoh

Buat file skrip dan ketik kode berikut -

syms x
syms y
factor(x^3 - y^3)
factor([x^2-y^2,x^3+y^3])

25
simplify((x^4-16)/(x^2-4))

Ketika Anda menjalankan file, ini menampilkan hasil berikut -

ans =
(x - y)*(x^2 + x*y + y^2)
ans =
[ (x - y)*(x + y), (x + y)*(x^2 - x*y + y^2)]
ans =
x^2 + 4

4.4.KALKULUS

Membahas kalkulus integral.


Menghitung Batas

MATLAB menyediakan fungsi batas untuk menghitung batas. Dalam bentuknya


yang paling dasar, fungsi batas mengambil ekspresi sebagai argumen dan
menemukan batas ekspresi ketika variabel independen pergi ke nol.

Sebagai contoh, mari kita menghitung batas fungsi f (x) = (x 3 + 5) / (x 4 + 7),


karena x cenderung nol.

syms x
limit((x^3 + 5)/(x^4 + 7))

MATLAB akan menjalankan pernyataan di atas dan mengembalikan hasil berikut


-

ans =
5/7

Fungsi batas jatuh di bidang komputasi simbolik; Anda perlu


menggunakan fungsi syms untuk memberi tahu MATLAB variabel simbolik apa
yang Anda gunakan. Anda juga dapat menghitung batas fungsi, karena variabel
cenderung ke beberapa angka selain nol. Untuk menghitung lim x-> a (f (x)), kami
menggunakan perintah limit dengan argumen. Yang pertama adalah ekspresi
dan yang kedua adalah angka, yang mendekati x , ini dia a .
26
Sebagai contoh, mari kita hitung batas fungsi f (x) = (x-3) / (x-1), karena x
cenderung ke 1.

limit((x - 3)/(x-1),1)

MATLAB akan menjalankan pernyataan di atas dan mengembalikan hasil berikut


-

ans =
NaN

Mari kita ambil contoh lain,

limit(x^2 + 5, 3)

MATLAB akan menjalankan pernyataan di atas dan mengembalikan hasil berikut


-

ans =
14

Menghitung Batas menggunakan Oktaf

Berikut ini adalah versi Oktaf dari contoh di atas menggunakan paket simbolis ,
cobalah untuk mengeksekusi dan membandingkan hasilnya -

pkg load symbolic


symbols

x = sym("x");
subs((x^3+5)/(x^4+7),x,0)

Oktaf akan menjalankan pernyataan di atas dan mengembalikan hasil berikut -

ans =
0.7142857142857142857

Verifikasi Properti Dasar Batas

27
Teorema Batas Aljabar menyediakan beberapa sifat dasar batas. Ini adalah
sebagai berikut -

Mari kita perhatikan dua fungsi -

 f (x) = (3x + 5) / (x - 3)

 g (x) = x 2 +1.

Mari kita menghitung batas fungsi sebagai x cenderung ke 5, dari kedua fungsi
dan memverifikasi properti dasar batas menggunakan kedua fungsi ini dan
MATLAB.

Contoh

Buat file skrip dan ketik kode berikut ke dalamnya -

syms x
f = (3*x + 5)/(x-3);
g = x^2 + 1;
l1 = limit(f, 4)
l2 = limit (g, 4)
lAdd = limit(f + g, 4)
lSub = limit(f - g, 4)
lMult = limit(f*g, 4)
lDiv = limit (f/g, 4)

Ketika Anda menjalankan file, ini menampilkan -

l1 =
17

28
l2 =
17

lAdd =
34

lSub =
0

lMult =
289

lDiv =
1

Verifikasi Properti Dasar Batas menggunakan Oktaf

Berikut ini adalah versi Oktaf dari contoh di atas menggunakan paket simbolis ,
cobalah untuk mengeksekusi dan membandingkan hasilnya -

pkg load symbolic


symbols

x = sym("x");
f = (3*x + 5)/(x-3);
g = x^2 + 1;

l1 = subs(f, x, 4)
l2 = subs (g, x, 4)
lAdd = subs (f+g, x, 4)
lSub = subs (f-g, x, 4)
lMult = subs (f*g, x, 4)
lDiv = subs (f/g, x, 4)

29
Oktaf akan menjalankan pernyataan di atas dan mengembalikan hasil berikut -

l1 =
17.0
l2 =
17.0
lAdd =
34.0
lSub =
0.0
lMult =
289.0
lDiv =
1.0

Batas Sisi Kiri dan Kanan

Ketika suatu fungsi memiliki diskontinuitas untuk beberapa nilai tertentu dari
variabel, batas tidak ada pada titik itu. Dengan kata lain, batas fungsi f (x)
memiliki diskontinuitas pada x = a, ketika nilai batas, karena x mendekati x dari
sisi kiri, tidak sama dengan nilai batas ketika x mendekati dari sisi kanan.

Ini mengarah pada konsep batas tangan kiri dan tangan kanan. Batas kidal
didefinisikan sebagai batas x -> a, dari kiri, yaitu, x mendekati a, untuk nilai x
<a. Batas tangan kanan didefinisikan sebagai batas x -> a, dari kanan, yaitu x
mendekati a, untuk nilai x> a. Ketika batas kidal dan batas kanan tidak sama,
batas itu tidak ada.

Mari kita pertimbangkan fungsi -

f (x) = (x - 3) / | x - 3 |

Kami akan menunjukkan bahwa batas x-> 3 f (x) tidak ada. MATLAB membantu
kami menetapkan fakta ini dengan dua cara -

 Dengan memplot grafik fungsi dan menunjukkan diskontinuitas.

30
 Dengan menghitung batas dan menunjukkan bahwa keduanya berbeda.

Batas kidal dan tangan kanan dihitung dengan melewatkan karakter string
'kiri' dan 'kanan' ke perintah batas sebagai argumen terakhir.

Contoh

Buat file skrip dan ketik kode berikut ke dalamnya -

f = (x - 3)/abs(x-3);
ezplot(f,[-1,5])
l = limit(f,x,3,'left')
r = limit(f,x,3,'right')

Saat Anda menjalankan file, MATLAB menggambar plot berikut

Setelah ini output berikut ditampilkan -

l =
-1

r =
1

31
4.5. POLINOMIAL

MATLAB mewakili polinomial sebagai vektor baris yang berisi koefisien yang
diperintahkan oleh kekuatan descending. Misalnya, persamaan P (x) = x 4 +
7x 3 - 5x + 9 dapat direpresentasikan sebagai -

p = [1 7 0 -5 9];

Mengevaluasi polinomial

Fungsi polyval digunakan untuk mengevaluasi polinomial pada nilai yang


ditentukan. Misalnya, untuk mengevaluasi p polinomial sebelumnya , pada x =
4, ketik -

p = [1 7 0 -5 9];
polyval(p,4)

MATLAB mengeksekusi pernyataan di atas dan mengembalikan hasil berikut -

ans = 693

MATLAB juga menyediakan fungsi polyvalm untuk mengevaluasi polinomial


matriks. Matriks polinomial adalah polinomial dengan matriks sebagai variabel.

Sebagai contoh, mari kita buat matriks persegi X dan mengevaluasi p polinomial,
di X -

p = [1 7 0 -5 9];
X = [1 2 -3 4; 2 -5 6 3; 3 1 0 2; 5 -7 3 8];
polyvalm(p, X)

MATLAB mengeksekusi pernyataan di atas dan mengembalikan hasil berikut -

ans =
2307 -1769 -939 4499
2314 -2376 -249 4695
2256 -1892 -549 4310
4570 -4532 -1062 9269

Menemukan Akar Polinomial


32
Fungsi akar menghitung akar polinomial. Misalnya, untuk menghitung akar p
polinomial kami, ketik -

p = [1 7 0 -5 9];
r = roots(p)

MATLAB mengeksekusi pernyataan di atas dan mengembalikan hasil berikut -

r =
-6.8661 + 0.0000i
-1.4247 + 0.0000i
0.6454 + 0.7095i
0.6454 - 0.7095i

Poli fungsi adalah kebalikan dari fungsi akar dan kembali ke koefisien
polinomial. Misalnya -

p2 = poly(r)

MATLAB mengeksekusi pernyataan di atas dan mengembalikan hasil berikut -

p2 =

Columns 1 through 3:

1.00000 + 0.00000i 7.00000 + 0.00000i 0.00000 +


0.00000i

Columns 4 and 5:

-5.00000 - 0.00000i 9.00000 + 0.00000i

Pemasangan Kurva Polinomial

Fungsi polyfit menemukan koefisien polinomial yang cocok dengan set data
dalam arti kuadrat-terkecil. Jika x dan y adalah dua vektor yang berisi data x dan

33
y untuk dipasang ke polinomial n-degree, maka kita mendapatkan polinom yang
menyesuaikan data dengan menulis -

p = polyfit(x,y,n)

Contoh

Buat file skrip dan ketik kode berikut -

x = [1 2 3 4 5 6]; y = [5.5 43.1 128 290.7 498.4 978.67];


%data
p = polyfit(x,y,4) %get the polynomial

% Compute the values of the polyfit estimate over a finer


range,
% and plot the estimate over the real data values for
comparison:
x2 = 1:.1:6;
y2 = polyval(p,x2);
plot(x,y,'o',x2,y2)
grid on

Ketika Anda menjalankan file, MATLAB menampilkan hasil berikut -

p =
4.1056 -47.9607 222.2598 -362.7453 191.1250

Dan plot grafik berikut -

34
4.6. TRANSFORM

MATLAB menyediakan perintah laplace , fourier dan fft untuk bekerja dengan
transformasi Laplace, Fourier dan Fast Fourier.

Transformasi Laplace

Transformasi Laplace dari fungsi waktu f (t) diberikan oleh integral berikut -

Transformasi Laplace juga dilambangkan sebagai transformasi dari f (t) ke F


(s). Anda dapat melihat proses transformasi atau integrasi ini mengubah f (t),
fungsi dari variabel simbolik t, menjadi fungsi lain F (s), dengan variabel lain s.

Transformasi Laplace mengubah persamaan diferensial menjadi persamaan


aljabar. Untuk menghitung transformasi Laplace dari fungsi f (t), tulis -

laplace(f(t))

Contoh

35
Dalam contoh ini, kita akan menghitung transformasi Laplace dari beberapa
fungsi yang umum digunakan.

Buat file skrip dan ketik kode berikut -

syms s t a b w

laplace(a)
laplace(t^2)
laplace(t^9)
laplace(exp(-b*t))
laplace(sin(w*t))
laplace(cos(w*t))

Ketika Anda menjalankan file, ini menampilkan hasil berikut -

ans =
1/s^2

ans =
2/s^3

ans =
362880/s^10

ans =
1/(b + s)

ans =
w/(s^2 + w^2)

ans =
s/(s^2 + w^2)

Inverse Laplace Transform


36
MATLAB memungkinkan kita untuk menghitung transformasi Laplace terbalik
menggunakan perintah ilaplace .

Sebagai contoh,

ilaplace(1/s^3)

MATLAB akan menjalankan pernyataan di atas dan menampilkan hasilnya -

ans =
t^2/2

Contoh

Buat file skrip dan ketik kode berikut -

syms s t a b w

ilaplace(1/s^7)
ilaplace(2/(w+s))
ilaplace(s/(s^2+4))
ilaplace(exp(-b*t))
ilaplace(w/(s^2 + w^2))
ilaplace(s/(s^2 + w^2))

Ketika Anda menjalankan file, ini menampilkan hasil berikut -

ans =
t^6/720

ans =
2*exp(-t*w)

ans =
cos(2*t)

ans =

37
ilaplace(exp(-b*t), t, x)

ans =
sin(t*w)

ans =
cos(t*w)

Transformasi Fourier

Transformasi Fourier umumnya mengubah fungsi matematika waktu, f (t),


menjadi fungsi baru, kadang-kadang dilambangkan dengan atau F, yang
argumennya adalah frekuensi dengan satuan siklus / hertz atau radian per
detik. Fungsi baru ini kemudian dikenal sebagai transformasi Fourier dan / atau
spektrum frekuensi fungsi f.

Contoh

Buat file skrip dan ketik kode berikut di dalamnya -

syms x
f = exp(-2*x^2); %our function
ezplot(f,[-2,2]) % plot of our function
FT = fourier(f) % Fourier transform

Saat Anda menjalankan file, MATLAB memplot grafik berikut -

38
Hasil berikut ditampilkan -

FT =
(2^(1/2)*pi^(1/2)*exp(-w^2/8))/2

Merencanakan transformasi Fourier sebagai -

ezplot(FT)

Memberikan grafik berikut -

39
Invers Fourier Transforms

MATLAB menyediakan perintah ifourier untuk menghitung transformasi invers


Fourier dari suatu fungsi. Sebagai contoh,

f = ifourier(-2*exp(-abs(w)))

MATLAB akan menjalankan pernyataan di atas dan menampilkan hasilnya -

f =
-2/(pi*(x^2 + 1))

4.7. DIFERENSIAL

MATLAB menyediakan perintah diff untuk menghitung derivatif simbolik. Dalam


bentuknya yang paling sederhana, Anda melewatkan fungsi yang ingin Anda
bedakan ke perintah diff sebagai argumen.

Sebagai contoh, mari kita hitung turunan dari fungsi f (t) = 3t 2 + 2t -2

Contoh

40
Buat file skrip dan ketik kode berikut ke dalamnya -

syms t
f = 3*t^2 + 2*t^(-2);
diff(f)

Ketika kode di atas dikompilasi dan dieksekusi, itu menghasilkan hasil sebagai
berikut -

ans =
6*t - 4/t^3

Berikut ini setara dengan Oktaf dari perhitungan di atas -

pkg load symbolic


symbols

t = sym("t");
f = 3*t^2 + 2*t^(-2);
differentiate(f,t)

Oktaf mengeksekusi kode dan mengembalikan hasil berikut -

ans =
-(4.0)*t^(-3.0)+(6.0)*t

Verifikasi Aturan Pembedaan Dasar

Mari kita nyatakan secara singkat berbagai persamaan atau aturan untuk
diferensiasi fungsi dan verifikasi aturan ini. Untuk tujuan ini, kita akan menulis f
'(x) untuk turunan orde pertama dan f "(x) untuk turunan orde kedua.

Berikut ini adalah aturan untuk diferensiasi -

Aturan 1

Untuk setiap fungsi f dan g dan bilangan real a dan b adalah turunan dari fungsi -

h (x) = af (x) + bg (x) sehubungan dengan x diberikan oleh -

41
h '(x) = dari' (x) + bg '(x)

Aturan 2

The sum dan pengurangan aturan menyatakan bahwa jika f dan g adalah dua
fungsi, f 'dan g' adalah turunan mereka masing-masing, kemudian,

( f + g) '= f' + g '

(f - g) '= f' - g '

Aturan 3

The produk Aturan menyatakan bahwa jika f dan g adalah dua fungsi, f 'dan g'
adalah turunan mereka masing-masing, kemudian,

(fg) '= f'.g + g'.f

Aturan 4

The quotient Aturan menyatakan bahwa jika f dan g adalah dua fungsi, f 'dan g'
adalah turunan mereka masing-masing, kemudian,

(f / g) '= (f'.g - g'.f) / g 2

Aturan 5

The polinomial Aturan daya atau SD menyatakan bahwa, jika y = f (x) = x n ,


maka f'= n. x (n-1)

Hasil langsung dari aturan ini adalah bahwa turunan dari konstanta adalah nol,
yaitu, jika y = k , konstanta apa pun, maka

f '= 0

Aturan 6

The rantai aturan menyatakan bahwa, turunan dari fungsi fungsi h (x) = f (g
(x)) terhadap x adalah,

h '(x) = f' (g (x)). g '(x)


42
Contoh

Buat file skrip dan ketik kode berikut ke dalamnya -

syms x
syms t

f = (x + 2)*(x^2 + 3)
der1 = diff(f)

f = (t^2 + 3)*(sqrt(t) + t^3)


der2 = diff(f)

f = (x^2 - 2*x + 1)*(3*x^3 - 5*x^2 + 2)


der3 = diff(f)

f = (2*x^2 + 3*x)/(x^3 + 1)
der4 = diff(f)

f = (x^2 + 1)^17
der5 = diff(f)

f = (t^3 + 3* t^2 + 5*t -9)^(-6)


der6 = diff(f)

Ketika Anda menjalankan file, MATLAB menampilkan hasil berikut -

f =
(x^2 + 3)*(x + 2)

der1 =
2*x*(x + 2) + x^2 + 3

f =
(t^(1/2) + t^3)*(t^2 + 3)
43
der2 =
(t^2 + 3)*(3*t^2 + 1/(2*t^(1/2))) + 2*t*(t^(1/2) + t^3)

f =
(x^2 - 2*x + 1)*(3*x^3 - 5*x^2 + 2)

der3 =
(2*x - 2)*(3*x^3 - 5*x^2 + 2) - (- 9*x^2 + 10*x)*(x^2 -
2*x + 1)

f =
(2*x^2 + 3*x)/(x^3 + 1)

der4 =
(4*x + 3)/(x^3 + 1) - (3*x^2*(2*x^2 + 3*x))/(x^3 + 1)^2

f =
(x^2 + 1)^17

der5 =
34*x*(x^2 + 1)^16

f =
1/(t^3 + 3*t^2 + 5*t - 9)^6

der6 =
-(6*(3*t^2 + 6*t + 5))/(t^3 + 3*t^2 + 5*t - 9)^7

Berikut ini setara dengan Oktaf dari perhitungan di atas -

pkg load symbolic


symbols

44
x = sym("x");
t = sym("t");

f = (x + 2)*(x^2 + 3)
der1 = differentiate(f,x)

f = (t^2 + 3)*(t^(1/2) + t^3)


der2 = differentiate(f,t)

f = (x^2 - 2*x + 1)*(3*x^3 - 5*x^2 + 2)


der3 = differentiate(f,x)

f = (2*x^2 + 3*x)/(x^3 + 1)
der4 = differentiate(f,x)

f = (x^2 + 1)^17
der5 = differentiate(f,x)

f = (t^3 + 3* t^2 + 5*t -9)^(-6)


der6 = differentiate(f,t)

Oktaf mengeksekusi kode dan mengembalikan hasil berikut -

f =

(2.0+x)*(3.0+x^(2.0))
der1 =

3.0+x^(2.0)+(2.0)*(2.0+x)*x
f =

(t^(3.0)+sqrt(t))*(3.0+t^(2.0))

45
der2 =

(2.0)*(t^(3.0)+sqrt(t))*t+((3.0)*t^(2.0)+(0.5)*t^(-
0.5))*(3.0+t^(2.0))
f =

(1.0+x^(2.0)-(2.0)*x)*(2.0-(5.0)*x^(2.0)+(3.0)*x^(3.0))
der3 =

(-2.0+(2.0)*x)*(2.0-
(5.0)*x^(2.0)+(3.0)*x^(3.0))+((9.0)*x^(2.0)-
(10.0)*x)*(1.0+x^(2.0)-(2.0)*x)
f =

(1.0+x^(3.0))^(-1)*((2.0)*x^(2.0)+(3.0)*x)
der4 =

(1.0+x^(3.0))^(-1)*(3.0+(4.0)*x)-(3.0)*(1.0+x^(3.0))^(-
2)*x^(2.0)*((2.0)*x^(2.0)+(3.0)*x)
f =

(1.0+x^(2.0))^(17.0)
der5 =

(34.0)*(1.0+x^(2.0))^(16.0)*x
f =

(-9.0+(3.0)*t^(2.0)+t^(3.0)+(5.0)*t)^(-6.0)
der6 =

-(6.0)*(-9.0+(3.0)*t^(2.0)+t^(3.0)+(5.0)*t)^(-
7.0)*(5.0+(3.0)*t^(2.0)+(6.0)*t)

46
Derivatif Fungsi Eksponensial, Logaritmik dan Trigonometrik

Tabel berikut memberikan turunan dari fungsi eksponensial, logaritmik, dan


trigonometrik yang umum digunakan -

Fungsi Turunan

c a.x c a.x .ln ca (ln adalah logaritma natural)

ex ex

Pada x 1/x

ln c x 1 / x.ln c

xx x x . (1 + ln x)

dosa (x) cos (x)

cos (x) -tanpa (x)

tan (x) dtk 2 (x), atau 1 / cos 2 (x), atau 1 + tan 2 (x)

cot (x) -csc 2 (x), atau -1 / sin 2 (x), atau - (1 + cot 2 (x))

dtk (x) sec (x) .tan (x)

47
CSC (x) -csc (x) .cot (x)

Contoh

Buat file skrip dan ketik kode berikut ke dalamnya -

syms x
y = exp(x)
diff(y)

y = x^9
diff(y)

y = sin(x)
diff(y)

y = tan(x)
diff(y)

y = cos(x)
diff(y)

y = log(x)
diff(y)

y = log10(x)
diff(y)

y = sin(x)^2
diff(y)

y = cos(3*x^2 + 2*x + 1)

48
diff(y)

y = exp(x)/sin(x)
diff(y)

Ketika Anda menjalankan file, MATLAB menampilkan hasil berikut -

y =
exp(x)
ans =
exp(x)

y =
x^9
ans =
9*x^8

y =
sin(x)
ans =
cos(x)

y =
tan(x)
ans =
tan(x)^2 + 1

y =
cos(x)
ans =
-sin(x)

y =

49
log(x)
ans =
1/x

y =
log(x)/log(10)
ans =
1/(x*log(10))

y =
sin(x)^2
ans =
2*cos(x)*sin(x)

y =
cos(3*x^2 + 2*x + 1)
ans =
-sin(3*x^2 + 2*x + 1)*(6*x + 2)

y =
exp(x)/sin(x)
ans =
exp(x)/sin(x) - (exp(x)*cos(x))/sin(x)^2

Berikut ini setara dengan Oktaf dari perhitungan di atas -

pkg load symbolic


symbols

x = sym("x");
y = Exp(x)
differentiate(y,x)

50
y = x^9
differentiate(y,x)

y = Sin(x)
differentiate(y,x)

y = Tan(x)
differentiate(y,x)

y = Cos(x)
differentiate(y,x)

y = Log(x)
differentiate(y,x)

% symbolic packages does not have this support


%y = Log10(x)
%differentiate(y,x)

y = Sin(x)^2
differentiate(y,x)

y = Cos(3*x^2 + 2*x + 1)
differentiate(y,x)

y = Exp(x)/Sin(x)
differentiate(y,x)

Oktaf mengeksekusi kode dan mengembalikan hasil berikut -

y =

exp(x)

51
ans =

exp(x)
y =

x^(9.0)
ans =

(9.0)*x^(8.0)
y =

sin(x)
ans =

cos(x)
y =

tan(x)
ans =

1+tan(x)^2
y =

cos(x)
ans =

-sin(x)
y =

log(x)
ans =

52
x^(-1)
y =

sin(x)^(2.0)
ans =

(2.0)*sin(x)*cos(x)
y =

cos(1.0+(2.0)*x+(3.0)*x^(2.0))
ans =

-(2.0+(6.0)*x)*sin(1.0+(2.0)*x+(3.0)*x^(2.0))
y =

sin(x)^(-1)*exp(x)
ans =

sin(x)^(-1)*exp(x)-sin(x)^(-2)*cos(x)*exp(x)

Komputasi Derivatif Orde Tinggi

Untuk menghitung turunan yang lebih tinggi dari fungsi f, kami menggunakan
sintaks diff (f, n) .

Mari kita hitung turunan kedua dari fungsi y = f (x) = x .e -3x

f = x*exp(-3*x);
diff(f, 2)

MATLAB mengeksekusi kode dan mengembalikan hasil berikut -

ans =
9*x*exp(-3*x) - 6*exp(-3*x)

Berikut ini setara dengan Oktaf dari perhitungan di atas -

53
pkg load symbolic
symbols

x = sym("x");
f = x*Exp(-3*x);
differentiate(f, x, 2)

Oktaf mengeksekusi kode dan mengembalikan hasil berikut -

ans =

(9.0)*exp(-(3.0)*x)*x-(6.0)*exp(-(3.0)*x)

Contoh

Dalam contoh ini, mari kita selesaikan masalah. Mengingat bahwa fungsi y = f (x)
= 3 sin (x) + 7 cos (5x) . Kita harus mencari tahu apakah persamaan f "+ f = -
5cos (2x) benar.

Buat file skrip dan ketik kode berikut ke dalamnya -

syms x
y = 3*sin(x)+7*cos(5*x); % defining the function
lhs = diff(y,2)+y; %evaluting the lhs of the equation
rhs = -5*cos(2*x); %rhs of the equation
if(isequal(lhs,rhs))
disp('Yes, the equation holds true');
else
disp('No, the equation does not hold true');
end
disp('Value of LHS is: '), disp(lhs);

Ketika Anda menjalankan file, ini menampilkan hasil berikut -

No, the equation does not hold true


Value of LHS is:
-168*cos(5*x)
54
Berikut ini setara dengan Oktaf dari perhitungan di atas -

pkg load symbolic


symbols

x = sym("x");
y = 3*Sin(x)+7*Cos(5*x); % defining the function
lhs = differentiate(y, x, 2) + y; %evaluting the lhs of the
equation
rhs = -5*Cos(2*x); %rhs of the equation

if(lhs == rhs)
disp('Yes, the equation holds true');
else
disp('No, the equation does not hold true');
end
disp('Value of LHS is: '), disp(lhs);

Oktaf mengeksekusi kode dan mengembalikan hasil berikut -

No, the equation does not hold true


Value of LHS is:
-(168.0)*cos((5.0)*x)

Menemukan Maxima dan Minima dari Kurva

Jika kita mencari maksimum lokal dan minimum untuk grafik, kita pada dasarnya
mencari titik tertinggi atau terendah pada grafik fungsi di lokasi tertentu, atau untuk
rentang nilai tertentu dari variabel simbolik.

Untuk fungsi y = f (x) titik-titik pada grafik di mana grafik memiliki kemiringan nol
disebut titik diam . Dengan kata lain titik stasioner adalah di mana f '(x) = 0.

Untuk menemukan titik-titik stasioner dari fungsi yang kita bedakan, kita perlu
mengatur turunan sama dengan nol dan menyelesaikan persamaannya.

55
Contoh

Mari kita temukan titik-titik stasioner dari fungsi f (x) = 2x 3 + 3x 2 - 12x + 17

Ambil langkah-langkah berikut -

Pertama mari kita masuk ke fungsi dan plot grafiknya.

syms x
y = 2*x^3 + 3*x^2 - 12*x + 17; % defining the function
ezplot(y)

MATLAB mengeksekusi kode dan mengembalikan plot berikut -

Berikut ini adalah kode setara Octave untuk contoh di atas -

pkg load symbolic


symbols

x = sym('x');
y = inline("2*x^3 + 3*x^2 - 12*x + 17");

ezplot(y)
print -deps graph.eps
56
Tujuan kami adalah menemukan beberapa maxima dan minima lokal pada
grafik, jadi mari kita cari maxima dan minima lokal untuk interval [-2, 2] pada
grafik.

syms x
y = 2*x^3 + 3*x^2 - 12*x + 17; % defining the function
ezplot(y, [-2, 2])

MATLAB mengeksekusi kode dan mengembalikan plot berikut -

Berikut ini adalah kode setara Octave untuk contoh di atas -

pkg load symbolic


symbols

x = sym('x');
y = inline("2*x^3 + 3*x^2 - 12*x + 17");

ezplot(y, [-2, 2])


print -deps graph.eps

Selanjutnya, mari kita hitung turunannya.

57
g = diff(y)

MATLAB mengeksekusi kode dan mengembalikan hasil berikut -

g =
6*x^2 + 6*x - 12

Berikut ini adalah Oktaf yang setara dengan perhitungan di atas -

pkg load symbolic


symbols

x = sym("x");
y = 2*x^3 + 3*x^2 - 12*x + 17;
g = differentiate(y,x)

Oktaf mengeksekusi kode dan mengembalikan hasil berikut -

g =
-12.0+(6.0)*x+(6.0)*x^(2.0)

Mari kita selesaikan fungsi turunannya, g, untuk mendapatkan nilai yang


menjadi nol.

s = solve(g)

MATLAB mengeksekusi kode dan mengembalikan hasil berikut -

s =
1
-2

Berikut ini setara dengan Oktaf dari perhitungan di atas -

pkg load symbolic


symbols

x = sym("x");
y = 2*x^3 + 3*x^2 - 12*x + 17;
g = differentiate(y,x)
58
roots([6, 6, -12])

Oktaf mengeksekusi kode dan mengembalikan hasil berikut -

g =

-12.0+(6.0)*x^(2.0)+(6.0)*x
ans =

-2
1

Ini setuju dengan rencana kami. Jadi mari kita evaluasi fungsi f pada titik
kritis x = 1, -2. Kita bisa mengganti nilai dalam fungsi simbolis dengan
menggunakan perintah subs .

subs(y, 1), subs(y, -2)

MATLAB mengeksekusi kode dan mengembalikan hasil berikut -

ans =
10
ans =
37

Berikut ini setara dengan Oktaf dari perhitungan di atas -

pkg load symbolic


symbols

x = sym("x");
y = 2*x^3 + 3*x^2 - 12*x + 17;
g = differentiate(y,x)

roots([6, 6, -12])
subs(y, x, 1), subs(y, x, -2)
ans =

59
10.0
ans =
37.0-4.6734207789940138748E-18*I

Oleh karena itu, minimum dan maksimum pada fungsi f (x) = 2x 3 + 3x 2 - 12x +
17, dalam interval [-2,2] adalah 10 dan 37.

Memecahkan Persamaan Diferensial

MATLAB menyediakan perintah dsolve untuk menyelesaikan persamaan


diferensial secara simbolis.

Bentuk paling dasar dari perintah dsolve untuk menemukan solusi untuk
persamaan tunggal adalah

dsolve('eqn')

di mana eqn adalah string teks yang digunakan untuk memasukkan persamaan.

Ini mengembalikan solusi simbolis dengan seperangkat konstanta arbitrer yang


label MATLAB C1, C2, dan sebagainya.

Anda juga dapat menentukan kondisi awal dan batas untuk masalah tersebut,
karena daftar yang dibatasi koma mengikuti persamaan sebagai -

dsolve('eqn','cond1', 'cond2',…)

Untuk tujuan menggunakan perintah dsolve, derivatif ditandai dengan


D . Misalnya, persamaan seperti f '(t) = -2 * f + biaya (t) dimasukkan sebagai -

'Df = -2 * f + cos (t)'

Derivatif yang lebih tinggi ditunjukkan dengan mengikuti D dengan urutan


turunannya.

Misalnya persamaan f "(x) + 2f '(x) = 5sin3x harus dimasukkan sebagai -

'D2y + 2Dy = 5 * sin (3 * x)'

Mari kita ambil contoh sederhana dari persamaan diferensial orde pertama: y '=
5y.

60
s = dsolve('Dy = 5*y')

MATLAB mengeksekusi kode dan mengembalikan hasil berikut -

s =
C2*exp(5*t)

Mari kita ambil contoh lain dari persamaan diferensial orde kedua sebagai: y "- y
= 0, y (0) = -1, y '(0) = 2.

dsolve('D2y - y = 0','y(0) = -1','Dy(0) = 2')

MATLAB mengeksekusi kode dan mengembalikan hasil berikut -

ans =
exp(t)/2 - (3*exp(-t))/2

4.8. INTEGRAL

Integrasi berkaitan dengan dua jenis masalah yang pada dasarnya berbeda.

 Pada tipe pertama, turunan dari suatu fungsi diberikan dan kami ingin
menemukan fungsinya. Karena itu, pada dasarnya kami membalikkan
proses diferensiasi. Proses kebalikan ini dikenal sebagai anti-diferensiasi,
atau menemukan fungsi primitif, atau menemukan integral yang tidak
terbatas .

 Jenis masalah kedua melibatkan menjumlahkan jumlah yang sangat besar


dari jumlah yang sangat kecil dan kemudian mengambil batas ketika ukuran
kuantitas mendekati nol, sedangkan jumlah istilah cenderung tak
hingga. Proses ini mengarah pada definisi integral yang pasti .

Integral pasti digunakan untuk menemukan area, volume, pusat gravitasi,


momen inersia, pekerjaan yang dilakukan oleh suatu gaya, dan dalam berbagai
aplikasi lainnya.

Menemukan Integral Tanpa Batas Menggunakan MATLAB

61
Menurut definisi, jika turunan dari fungsi f (x) adalah f '(x), maka kita mengatakan
bahwa integral tak pasti dari f' (x) sehubungan dengan x adalah f (x). Misalnya,
karena turunannya (berkenaan dengan x) dari x 2 adalah 2x, kita dapat
mengatakan bahwa integral 2x yang tidak pasti adalah x 2 .

Dalam simbol -

f '(x 2 ) = 2x , oleh karena itu,

∫ 2xdx = x 2 .

Integral tak terbatas tidak unik, karena turunan dari x 2 + c, untuk setiap nilai
konstanta c, juga akan menjadi 2x.

Ini dinyatakan dalam simbol sebagai -

∫ 2xdx = x 2 + c .

Di mana, c disebut 'konstanta arbitrer'.

MATLAB menyediakan perintah int untuk menghitung integral ekspresi. Untuk


memperoleh ekspresi integral integral suatu fungsi, kami menulis -

int(f);

Sebagai contoh, dari contoh kami sebelumnya -

syms x
int(2*x)

MATLAB menjalankan pernyataan di atas dan mengembalikan hasil berikut -

ans =
x^2

Contoh 1

Dalam contoh ini, mari kita temukan integral dari beberapa ekspresi yang umum
digunakan. Buat file skrip dan ketik kode berikut di dalamnya -

syms x n

62
int(sym(x^n))
f = 'sin(n*t)'
int(sym(f))
syms a t
int(a*cos(pi*t))
int(a^x)

Ketika Anda menjalankan file, ini menampilkan hasil berikut -

ans =
piecewise([n == -1, log(x)], [n ~= -1, x^(n + 1)/(n +
1)])
f =
sin(n*t)
ans =
-cos(n*t)/n
ans =
(a*sin(pi*t))/pi
ans =
a^x/log(a)

Contoh 2

Buat file skrip dan ketik kode berikut di dalamnya -

syms x n
int(cos(x))
int(exp(x))
int(log(x))
int(x^-1)
int(x^5*cos(5*x))
pretty(int(x^5*cos(5*x)))

int(x^-5)
int(sec(x)^2)
63
pretty(int(1 - 10*x + 9 * x^2))

int((3 + 5*x -6*x^2 - 7*x^3)/2*x^2)


pretty(int((3 + 5*x -6*x^2 - 7*x^3)/2*x^2))

Perhatikan bahwa fungsi cantik mengembalikan ekspresi dalam format yang


lebih mudah dibaca.

Ketika Anda menjalankan file, ini menampilkan hasil berikut -

ans =
sin(x)

ans =
exp(x)

ans =
x*(log(x) - 1)

ans =
log(x)

ans =
(24*cos(5*x))/3125 + (24*x*sin(5*x))/625 -
(12*x^2*cos(5*x))/125 + (x^4*cos(5*x))/5 -
(4*x^3*sin(5*x))/25 + (x^5*sin(5*x))/5
2 4
24 cos(5 x) 24 x sin(5 x) 12 x cos(5 x) x cos(5
x)
----------- + ------------- - -------------- + --------
----
3125 625 125 5

3 5
64
4 x sin(5 x) x sin(5 x)
------------- + -----------
25 5

ans =
-1/(4*x^4)

ans =
tan(x)
2
x (3 x - 5 x + 1)

ans =
- (7*x^6)/12 - (3*x^5)/5 + (5*x^4)/8 + x^3/2

6 5 4 3
7 x 3 x 5 x x
- ---- - ---- + ---- + --
12 5 8 2

Menemukan Integral Pasti Menggunakan MATLAB

Menurut definisi, integral tertentu pada dasarnya adalah batas jumlah. Kami
menggunakan integral tertentu untuk menemukan area seperti area antara
kurva dan sumbu x dan area antara dua kurva. Integral yang pasti juga dapat
digunakan dalam situasi lain, di mana jumlah yang dibutuhkan dapat dinyatakan
sebagai batas jumlah.

Fungsi int dapat digunakan untuk integrasi yang pasti dengan melewati batas di
mana Anda ingin menghitung integral.

Menghitung

65
kami menulis,

int(x, a, b)

Misalnya, untuk menghitung nilai yang kita tulis -

int(x, 4, 9)

MATLAB menjalankan pernyataan di atas dan mengembalikan hasil berikut -

ans =
65/2

Berikut ini setara dengan Oktaf dari perhitungan di atas -

pkg load symbolic


symbols

x = sym("x");
f = x;
c = [1, 0];
integral = polyint(c);

a = polyval(integral, 9) - polyval(integral, 4);


display('Area: '), disp(double(a));

Oktaf mengeksekusi kode dan mengembalikan hasil berikut -

Area:

32.500

Solusi alternatif dapat diberikan dengan menggunakan fungsi quad () yang


disediakan oleh Oktaf sebagai berikut -

pkg load symbolic

66
symbols

f = inline("x");
[a, ierror, nfneval] = quad(f, 4, 9);

display('Area: '), disp(double(a));

Oktaf mengeksekusi kode dan mengembalikan hasil berikut -

Area:
32.500

Contoh 1

Mari kita menghitung area yang terlampir di antara sumbu x, dan kurva y =
x 3 −2x + 5 dan ordinat x = 1 dan x = 2.

Area yang dibutuhkan diberikan oleh -

Buat file skrip dan ketik kode berikut -

f = x^3 - 2*x +5;


a = int(f, 1, 2)
display('Area: '), disp(double(a));

Ketika Anda menjalankan file, ini menampilkan hasil berikut -

a =
23/4
Area:
5.7500

Berikut ini setara dengan Oktaf dari perhitungan di atas -

pkg load symbolic


symbols

67
x = sym("x");
f = x^3 - 2*x +5;
c = [1, 0, -2, 5];
integral = polyint(c);

a = polyval(integral, 2) - polyval(integral, 1);


display('Area: '), disp(double(a));

Oktaf mengeksekusi kode dan mengembalikan hasil berikut -

Area:

5.7500

Solusi alternatif dapat diberikan dengan menggunakan fungsi quad () yang


disediakan oleh Oktaf sebagai berikut -

pkg load symbolic


symbols

x = sym("x");
f = inline("x^3 - 2*x +5");

[a, ierror, nfneval] = quad(f, 1, 2);


display('Area: '), disp(double(a));

Oktaf mengeksekusi kode dan mengembalikan hasil berikut -

Area:
5.7500

Contoh 2

Temukan area di bawah kurva: f (x) = x 2 cos (x) untuk −4 ≤ x ≤ 9.

Buat file skrip dan tulis kode berikut -

68
f = x^2*cos(x);
ezplot(f, [-4,9])
a = int(f, -4, 9)
disp('Area: '), disp(double(a));

Saat Anda menjalankan file, MATLAB memplot grafik -

Outputnya diberikan di bawah ini -

a =
8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9)

Area:
0.3326

Berikut ini setara dengan Oktaf dari perhitungan di atas -

pkg load symbolic


symbols

x = sym("x");
f = inline("x^2*cos(x)");

69
ezplot(f, [-4,9])
print -deps graph.eps

[a, ierror, nfneval] = quad(f, -4, 9);


display('Area: '), disp(double(a));

4.9. SIMULINK BLOK PID

VI. HASIL PRAKTIKUM DAN PEMBAHASAN

Berikut tampilan dari plotting

VII. KESIMPULAN
1. Grafik respon motor DC posisi terhadap tegangan dengan open loop menghasilkan
grafik linier, akibat tidak adanya feedback.
2. Grafik respon motor DC posisi terhadap tegangan dengan close loop menghasilkan
grafik yang mengalami overshoot sebelum mengalami steady state, dipengaruhi oleh
adanya feedback.
3. Grafik respon motor DC kecepatan terhadap tegangan dengan open loop menghasilkan
grafik yang steady state dengan amplitudo/gain steady state sebesar 35.
4. Grafik respon motor DC kecepatan terhadap tegangan dengan close loop menghasilkan
grafik yang steady state dengan amplitudo/gain steady state sebesar 1.

VIII. DAFTAR PUSTAKA


Adi Abimanyu, M.Eng, dkk. 2017. Petunjuk Praktikum Sistem Instrumentasi Kendali.
Yogyakarta : STTN-BATAN.

70
71

Anda mungkin juga menyukai