04
Kas
2022

Matlab ile uygulama geliştirme BST Bölümü ders notları

Bu sayfadaki ders notları, derslerde yapılan örneklerden bazılarını içermektedir. 

Ders: 04.11.2022

Çok girdi çok çıktılı fonksiyon

function [toplam, carpim] = hesapla(x,y)
toplam = x+y;
carpim = x*y;
end

Fonksiyonu çağırmak için Command Window’a

[t c] = hesapla(3,4);

Dairenin alanı ve çevresini hesaplayan program

r = input('Yaricapi giriniz:');  
disp(['Alan: ' num2str(pi*power(r,2))]);
disp(['Cevre: ' num2str(2*pi*r)]);

Hipotenüs hesaplayan program

a = input('birinci kenar: ');
b = input('ikinci kenar: ');
disp(['Hipotenus: ' num2str(sqrt(power(a,2)+power(b,2)))]);

Ders: 11.11.2022

a ve b kenarı bilinen dik üçgenin hipotenüsü ve iç açılarını hesaplayan program

clc;clear;
a = input('birinci kenar: ');
b = input('ikinci kenar: ');
c = sqrt(power(a,2)+power(b,2))
disp(['Hipotenus: ' num2str(c)]);
disp(['Açılar: ' num2str(asind(b/c)) ', ' num2str(asind(a/c))]);

Örnek matris işlemleri

Bir matrise başka bir matrisi yeni satır olarak ekleme

m = [10 20 30];
k = [m; 30 40 50];

k =
    10    20    30
    30    40    50

Bir matrise başka bir matrisi yeni sütun olarak ekleme

m = [10 20 ; 30 40];
k = [m, [50 ; 60]]

k =
    10    20    50
    30    40    60

Bir matrisin bir satırındaki tüm verileri değiştirme

m = [10 20 30 ; 50 60 70];
m(1,:) = 0

m =
     0     0     0
    50    60    70

Bir matrisin bir sütunundaki tüm verileri değiştirme

m = [10 20 30 ; 50 60 70];
m(:,2) = 3

m =
    10     3    30
    50     3    70

İki matrisi toplama

m = [10 20 ; 30 40];
k = [3 4 ; 3 2];
t = m + k

t =
    13    24
    33    42

Ders: 02.12.2022

Matris çarpımı

İki matrisin birbiriyle çarpılması için birinci matrisin sütun sayısı ile ikinci matrisin satır sayısı eşit olmalıdır. Çarpım sonucu ortaya çıkan matrisin satır satır sayısı birinci matrisinkine, sütun sayısı ikinci matrisinkine eşit olur. Örneğin 3 satır 2 sütundan oluşan A matrisi ile 2 satır 4 sütundan oluşan B matrisi çarpılırsa 3 satır 4 sütundan oluşan bir matris oluşur.

A = [2 3 ; 4 5 ; 6 7];
B = [3 4 5 6 ; 6 7 8 9];
C = A * B;

Matris transpozesi

Matrisin transpozesini (devriğini) almak için ‘ işareti kullanılır.

C = A';

Matrislerde değer bulma fonksiyonları

min()  minimum elemanı bulur.

max() maksimum elemanı bulur.

sum() toplamı bulur.

mean() aritmetik ortalamayı hesaplar.

length() vektör uzunluğunu döndürür.

size() matris boyutunu döndürür.

Matris oluşturma fonksiyonları

zeros() sıfırlardan oluşan matris

ones() birlerden oluşan matris

rand() rasgele elemanlardan oluşan matris

Ders: 09.12.2022

if else elseif yapısı

a = input('sayi girin:');
if a>0 & a<=10
    disp('sayı 0-10 arasında');
elseif a>10 & a<=20
    disp('sayı 10-20 arasında');
elseif a>20 & a<=30
    disp('sayı 20-30 arasında');
else
    disp('Geçersiz sayı');
end

switch-case-otherwise yapısı

gun = input('Kaçıncı gün?');
switch gun
    case 1
        disp('Pazartesi');
    case 2
        disp('Salı');
    case 3
        disp('Çarşamba');
    case 4
        disp('Perşembe');
    case 5
        disp('Cuma');
    case 6
        disp('Cumartesi');
    case 7
        disp('Pazar');
    otherwise
        disp('Hatalı giriş.');
end

try-catch yapısı

a = 4; b = 5;
try
    k = a + b + c + d;
    disp('1.ihtimal gerçekleşti');
catch
    k = a - b;
    disp('2.ihtimal gerçekleşti');
end

x -10 ile 10 aralığında f(x)=x2 grafiği

x = -10:10;
y = power(x,2);
figure;
plot(x, y);
title('x kare fonksiyonu grafiği');
xlabel('x ekseni');
ylabel('y ekseni');

Ders: 16.12.2022

Yarıçap değeri 0 ile 10 arasında 1’er artarken dairenin yarıçap-alan grafiği

r = linspace(0, 10, 11);
a = pi * r.^2;
plot(r, a);
xlabel('Yarıçap');
ylabel('Alan');

f(x) = e-x sin(x) fonksiyonunun x 0 ile 5 aralığında 0.01 adım artarken grafiği

x = 0:0.01:5;
y = exp(-x).*sind(x);
plot(x, y);

Ders: 30.12.2022

Subplot() fonksiyonu ile aynı grafik alanına birden fazla grafik çizilebilir. x ve y sırasıyla satır ve sütun sayısı, z ise grafik çizileceği sıra numarası olmak üzere subplot(x, y, z) şeklinde kullanılır:

k = 0:360;
m = sind(k);
n = cosd(k);
subplot(1, 3, 1);
plot(k, m);
title('Sinüs dalgası');
subplot(1, 3, 2);
plot(k, n);
title('Kosinüs dalgası');
subplot(1, 3, 3);
plot(k, m + n);
title('Sinüs+kosinüs dalgası');

{x,y ∈ 0,10,20,…,360} olmak üzere, f=e0.01x.sinx fonksiyonunun yüzey grafiğini çizen ve x, y eksenlerine etiket ekleyen script:

x = 0:10:360; y = x;
[X Y] = meshgrid(x, y);
Z = exp(0.01*X).*sind(Y);
surf(X, Y, Z);
xlabel('x ekseni');
ylabel('y ekseni');

 

%d blogcu bunu beğendi: