MATLAB
Fungsi adalah sekelompok pernyataan yang bersama-sama melakukan tugas. Dalam MATLAB, fungsi didefinisikan dalam file terpisah. Nama file dan fungsinya harus sama.
Fungsi beroperasi pada variabel dalam ruang kerjanya sendiri, yang juga disebut ruang kerja lokal , terpisah dari ruang kerja yang Anda akses pada prompt perintah MATLAB yang disebut ruang kerja dasar .
Fungsi dapat menerima lebih dari satu argumen input dan dapat mengembalikan lebih dari satu argumen output.
Sintaks dari pernyataan fungsi adalah
function [out1,out2, ..., outN] = myfun(in1,in2,in3, ..., inN)
Fungsi berikut bernama mymax harus ditulis dalam file bernama mymax.m . Dibutuhkan lima angka sebagai argumen dan mengembalikan angka maksimum.
Buat file fungsi, beri nama mymax.m dan ketik kode berikut di dalamnya
function max = mymax(n1, n2, n3, n4, n5) %This function calculates the maximum of the % five numbers given as input max = n1; if(n2 > max) max = n2; end if(n3 > max) max = n3; end if(n4 > max) max = n4; end if(n5 > max) max = n5; end
Baris pertama dari sebuah fungsi dimulai dengan kata kunci fungsi . Ini memberi nama fungsi dan urutan argumen. Dalam contoh kita, mymax fungsi memiliki lima argumen input dan satu argumen output.
Baris komentar yang muncul tepat setelah pernyataan fungsi menyediakan teks bantuan. Garis-garis ini dicetak saat Anda mengetik
help mymax
MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut
This function calculates the maximum of the five numbers given as input
Anda dapat memanggil fungsi sebagai
mymax(34, 78, 89, 23, 11)
MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut
ans = 89
Fungsi anonim seperti fungsi sebaris dalam bahasa pemrograman tradisional, yang didefinisikan dalam satu pernyataan MATLAB. Ini terdiri dari ekspresi MATLAB tunggal dan sejumlah argumen input dan output.
Anda dapat mendefinisikan fungsi anonim langsung di baris perintah MATLAB atau di dalam fungsi atau skrip.
Dengan cara ini Anda dapat membuat fungsi sederhana tanpa harus membuat file untuknya.
Sintaks untuk membuat fungsi anonim dari ekspresi adalah
f = @(arglist)expression
Dalam contoh ini, kita akan menulis fungsi anonim bernama power, yang akan mengambil dua angka sebagai input dan mengembalikan angka pertama yang dipangkatkan ke angka kedua.
Buat file skrip dan ketik kode berikut di dalamnya
Demo Langsungpower = @(x, n) x.^n; result1 = power(7, 3) result2 = power(49, 0.5) result3 = power(10, -10) result4 = power (4.5, 1.5)
Saat Anda menjalankan file, ini akan menampilkan
result1 = 343 result2 = 7 result3 = 1.0000e-10 result4 = 9.5459
Setiap fungsi selain fungsi anonim harus didefinisikan dalam file. Setiap file fungsi berisi fungsi utama yang diperlukan yang muncul terlebih dahulu dan sejumlah sub-fungsi opsional yang muncul setelah fungsi utama dan digunakan olehnya.
Fungsi utama dapat dipanggil dari luar file yang mendefinisikannya, baik dari baris perintah atau dari fungsi lain, tetapi sub-fungsi tidak dapat dipanggil dari baris perintah atau fungsi lain, di luar file fungsi.
Sub-fungsi hanya dapat dilihat oleh fungsi utama dan sub-fungsi lain dalam file fungsi yang mendefinisikannya.
Mari kita tulis sebuah fungsi bernama kuadrat yang akan menghitung akar-akar persamaan kuadrat. Fungsi tersebut akan mengambil tiga input, koefisien kuadratik, koefisien linier dan suku konstan. Itu akan mengembalikan akarnya.
File fungsi quadratic.m akan berisi fungsi utama quadratic dan sub-fungsi disk , yang menghitung diskriminan.
Buat file fungsi quadratic.m dan ketik kode berikut di dalamnya
function [x1,x2] = quadratic(a,b,c) %this function returns the roots of % a quadratic equation. % It takes 3 input arguments % which are the co-efficients of x2, x and the %constant term % It returns the roots d = disc(a,b,c); x1 = (-b + d) / (2*a); x2 = (-b - d) / (2*a); end % end of quadratic function dis = disc(a,b,c) %function calculates the discriminant dis = sqrt(b^2 - 4*a*c); end % end of sub-function
Anda dapat memanggil fungsi di atas dari command prompt sebagai
quadratic(2,4,-4)
MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut
ans = 0.7321
Anda dapat mendefinisikan fungsi di dalam tubuh fungsi lain. Ini disebut fungsi bersarang. Fungsi bersarang berisi salah satu atau semua komponen fungsi lainnya.
Fungsi bersarang didefinisikan dalam lingkup fungsi lain dan mereka berbagi akses ke ruang kerja fungsi yang memuatnya.
Fungsi bersarang mengikuti sintaks berikut
function x = A(p1, p2) ... B(p2) function y = B(p3) ... end ... end
Mari kita tulis ulang fungsi kuadrat , dari contoh sebelumnya, namun kali ini fungsi disk akan menjadi fungsi bertingkat.
Buat file fungsi quadratic2.m dan ketik kode berikut di dalamnya
function [x1,x2] = quadratic2(a,b,c) function disc % nested function d = sqrt(b^2 - 4*a*c); end % end of function disc disc; x1 = (-b + d) / (2*a); x2 = (-b - d) / (2*a); end % end of function quadratic2
Anda dapat memanggil fungsi di atas dari command prompt sebagai
quadratic2(2,4,-4)
MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut
ans = 0.73205
Fungsi pribadi adalah fungsi utama yang hanya dapat dilihat oleh sekelompok fungsi lain yang terbatas. Jika Anda tidak ingin mengekspos implementasi suatu fungsi, Anda dapat membuatnya sebagai fungsi pribadi.
Fungsi pribadi berada di subfolder dengan nama khusus pribadi .
Mereka hanya dapat dilihat oleh fungsi di folder induk.
Mari kita tulis ulang kuadrat fungsi. Namun kali ini, disk fungsi menghitung diskriminan, akan menjadi fungsi pribadi.
Buat subfolder bernama private di direktori kerja. Simpan file fungsi berikut disc.m di dalamnya
function dis = disc(a,b,c) %function calculates the discriminant dis = sqrt(b^2 - 4*a*c); end % end of sub-function
Buat fungsi quadratic3.m di direktori kerja Anda dan ketik kode berikut di dalamnya
function [x1,x2] = quadratic3(a,b,c) %this function returns the roots of % a quadratic equation. % It takes 3 input arguments % which are the co-efficient of x2, x and the %constant term % It returns the roots d = disc(a,b,c); x1 = (-b + d) / (2*a); x2 = (-b - d) / (2*a); end % end of quadratic3
Anda dapat memanggil fungsi di atas dari command prompt sebagai
quadratic3(2,4,-4)
MATLAB akan mengeksekusi pernyataan di atas dan mengembalikan hasil berikut
ans = 0.73205
Variabel global dapat digunakan bersama oleh lebih dari satu fungsi. Untuk ini, Anda perlu mendeklarasikan variabel sebagai global di semua fungsi.
Jika Anda ingin mengakses variabel tersebut dari ruang kerja dasar, deklarasikan variabel tersebut pada baris perintah.
Deklarasi global harus terjadi sebelum variabel benar-benar digunakan dalam suatu fungsi. Ini adalah praktik yang baik untuk menggunakan huruf kapital untuk nama variabel global untuk membedakannya dari variabel lain.
Mari kita buat file fungsi bernama average.m dan ketik kode berikut di dalamnya
function avg = average(nums) global TOTAL avg = sum(nums)/TOTAL; end
Buat file skrip dan ketik kode berikut di dalamnya
global TOTAL; TOTAL = 10; n = [34, 45, 25, 45, 33, 19, 40, 34, 38, 42]; av = average(n)
Saat Anda menjalankan file, itu akan menampilkan hasil berikut
av = 35.500
MATLAB
Bab ini akan terus mengeksplorasi kemampuan plotting dan grafis MATLAB. Kita akan membahas Menggambar diagram batang Menggambar kontur Plot tiga dimensi Menggambar Bagan Batang bilah perintah menggambar diagram batang dua dimensi. Mari kita ambil contoh untuk mendemonstrasikan ide tersebut. Cont
MATLAB menyediakan berbagai cara untuk menyelesaikan masalah kalkulus diferensial dan integral, memecahkan persamaan diferensial dari berbagai derajat dan perhitungan batas. Yang terbaik dari semuanya, Anda dapat dengan mudah memplot grafik fungsi kompleks dan memeriksa maksimum, minimum, dan titik
MATLAB menyediakan perbedaan perintah untuk menghitung turunan simbolik. Dalam bentuknya yang paling sederhana, Anda meneruskan fungsi yang ingin Anda bedakan ke perintah diff sebagai argumen. Sebagai contoh, mari kita hitung turunan dari fungsi f(t) =3t2 + 2t-2 Contoh Buat file skrip dan ketik k
MATLAB mewakili polinomial sebagai vektor baris yang mengandung koefisien yang diurutkan berdasarkan pangkat menurun. Misalnya, persamaan P(x) =x4 + 7x3 - 5x + 9 dapat direpresentasikan sebagai p =[1 7 0 -5 9]; Mengevaluasi Polinomial polival fungsi digunakan untuk mengevaluasi polinomial pada ni