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');