-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
- Loading branch information
There are no files selected for viewing
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
function f=fibo(n) | ||
if(n<2) | ||
f = n; | ||
else | ||
f = fibo(n-1) + fibo(n-2); | ||
endif | ||
endfunction |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
function [a,g] = ortalama(x) | ||
% [a,g] = ortalama(x) fonksiyonu | ||
% | ||
% verilen x dizisinin elemanlarının | ||
% aritmetik ve geometrik ortalamalarını | ||
% hesaplar. | ||
% | ||
% ilk dönüş değeri olarak aritmetik ortalamayı, | ||
% ikinci dönüş değeri olarak da geometrik ortalamayı | ||
% döndürür. | ||
% | ||
% ayrıca bkz. mean(x,"a"), mean(x,"g") | ||
eleman_sayisi = length(x); | ||
toplam = sum(x); | ||
carpim = prod(x); | ||
a = toplam / eleman_sayisi; | ||
g = carpim^(1/eleman_sayisi); % benzer şekilde nthroot(carpim,N) | ||
% de kullanilabilir.. | ||
endfunction |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,236 @@ | ||
x = -3:0.5:3 | ||
|
||
x = linspace(-3,3,100) | ||
|
||
a = 1 | ||
a = 2 | ||
a = 3 | ||
a = 4 | ||
a = 5 | ||
|
||
n = 1:5 | ||
|
||
for i = 1:5 | ||
a = i | ||
endfor | ||
|
||
n = 1:5; | ||
for i = n | ||
a = i | ||
endfor | ||
|
||
s = 0; % Değerleri s'de toplayacağımız için ilk olarak s'yi tanımlayıp sıfırlıyoruz. | ||
xler = -3:0.5:3; % 'xler' ile 'x' arasındaki farka dikkat edin! | ||
for x = xler | ||
s = s + x*x; | ||
endfor | ||
s | ||
|
||
s = 0; | ||
xler = [5,-3,19,12,-2]; | ||
for x = xler | ||
printf("x'in şimdiki değeri: %3d\n",x) % printf() ekrana düzgün bir şekilde | ||
% yazdırmak için kullanılır, yoksayabilirsiniz. | ||
s = s + x*x; | ||
endfor | ||
s | ||
|
||
xler = [5,-3,19,12,-2]; | ||
xkareler = xler.^2 | ||
|
||
xler = [] | ||
xler = [5] | ||
xler = [5 -3] | ||
xler = [5 -3 19] | ||
|
||
xler = [] | ||
xler = [xler 5] | ||
xler = [xler -3] | ||
xler = [xler 19] | ||
xler = [xler 12] | ||
xler = [xler -2] | ||
|
||
xler = [5,-3,19,12,-2]; | ||
xkareler = []; | ||
for x = xler | ||
xkareler = [xkareler x*x]; | ||
endfor | ||
xkareler | ||
|
||
3 > 1 | ||
5 < 4 | ||
12 <= 13 | ||
12 >= 12 | ||
3 != 7 | ||
7 == 7 | ||
3 == 5 | ||
|
||
|
||
kareler_toplami = 0; | ||
x = -3; % başlangıç değerimiz | ||
while (x <= 3) | ||
kareler_toplami = kareler_toplami + x*x; | ||
x = x + 1; | ||
endwhile | ||
kareler_toplami | ||
|
||
x | ||
|
||
a = 5 | ||
if (a == 5) | ||
disp("a, 5'e eşit") | ||
endif | ||
|
||
if(a > 6) | ||
disp("a, 6'dan büyük") | ||
endif | ||
|
||
if(a < 9) | ||
disp("a, 9'dan küçük") | ||
endif | ||
|
||
a = 5 | ||
if(a == 5) | ||
disp("a 5'e eşit") | ||
elseif(a > 5) | ||
disp("a 5'ten büyük") | ||
else | ||
disp("a 5'ten küçük") | ||
endif | ||
|
||
alar = [7 -9 3 -7 8 5 6 -2 2 5 0] | ||
for a = alar | ||
a | ||
if(a==5) | ||
disp("a 5'e eşit!") | ||
elseif(a>5) | ||
disp("a 5'ten büyük.") | ||
else | ||
disp("a 5'ten küçük") | ||
endif | ||
disp("---------------------") | ||
endfor | ||
|
||
alar = [7 -9 3 -7 8 5 6 -2 2 5 0] | ||
tekler = []; | ||
ciftler = []; | ||
for a = alar | ||
if(mod(a,2) == 0) | ||
% a, 2 ile bölündüğünde kalanı sıfır oluyor (mod) | ||
% o zaman çift demektir | ||
ciftler = [ciftler a]; | ||
else | ||
tekler = [tekler a]; | ||
endif | ||
endfor | ||
disp("Tek sayılar:") | ||
tekler | ||
|
||
disp("Çift sayılar:") | ||
ciftler | ||
|
||
asallar = []; % bulduğumuz asalları bu listenin içine koyacağız | ||
for sayi = 2:10 | ||
% bu bizim asallığını kontrol etmek istediğimiz sayı | ||
disp("Asallığını kontrol ettiğimiz sayı:") | ||
sayi | ||
disp("") % Bir boş satır ekleyelim | ||
for bolen = 2:sayi-1 | ||
% bölenlerin döngüsünün bitişini | ||
% sayi'ya bağlı olarak tanımladığımıza dikkat edin! | ||
bolen | ||
kalan = mod(sayi,bolen) | ||
if(kalan == 0) | ||
% Bu sayı asal olamaz. | ||
disp("Sayı asal değil!") | ||
disp("") % Bir boş satır ekleyelim | ||
else | ||
% Buraya sadece asal sayılar mı ulaşabiliyor acaba? | ||
% Hayır! 8) | ||
% Örneğin sayi 9, bolen 2,4,5,6,7,8 olduğunda | ||
% kalan 0 olmayacak ama biliyoruz ki sayı asal değil | ||
endif | ||
disp("") % Bir boş satır ekleyelim | ||
endfor | ||
disp("-------------------") | ||
endfor | ||
|
||
asallar = []; % bulduğumuz asalları bu listenin içine koyacağız | ||
for sayi = 2:10 | ||
% bu bizim asallığını kontrol etmek istediğimiz sayı | ||
disp("Asallığını kontrol ettiğimiz sayı:") | ||
sayi | ||
disp("") % Bir boş satır ekleyelim | ||
for bolen = 2:sayi-1 | ||
% bölenlerin döngüsünün bitişini | ||
% sayi'ya bağlı olarak tanımladığımıza dikkat edin! | ||
bolen | ||
kalan = mod(sayi,bolen) | ||
if(kalan == 0) | ||
% Bu sayı asal olamaz. | ||
disp("Sayı asal değil! - döngüden burada çıkıyorum.") | ||
disp("") % Bir boş satır ekleyelim | ||
break; % "bolen = 2:sayi-1" döngüsünü kırıyoruz | ||
endif | ||
disp("") % Bir boş satır ekleyelim | ||
endfor | ||
|
||
% Buraya iki yoldan gelmiş olabiliriz: | ||
% ya sayi kalansız bolundu ve döngü break ile kırıldı | ||
% (bu durumda kalan == 0) | ||
% ya da hiçbir bolen kalansız bölemedi ve 2:sayi-1 döngüsü | ||
% normal yoldan sona erdi (bu durumda kalan != 0) | ||
if(kalan != 0) | ||
disp("Sayı asal!") | ||
asallar = [asallar sayi]; | ||
endif | ||
disp("-------------------") | ||
endfor | ||
asallar | ||
|
||
m = zeros(5,5) % bütün elemanları 0 olan, 5x5 bir matris oluşturur. | ||
for satir=1:5 | ||
for sutun = 1:5 | ||
m(satir,sutun) = 1; | ||
if(satir == sutun) | ||
break; | ||
% şu anda sutun=1:5 döngüsünün içinde olduğumuzdan | ||
% break ile sadece bu bloktan çıkarız. | ||
endif | ||
endfor | ||
endfor | ||
m | ||
|
||
asallar = [2]; % bulduğumuz asalları bu listenin içine koyacağız | ||
for sayi = 3:10 | ||
% bu bizim asallığını kontrol etmek istediğimiz sayı | ||
disp("Asallığını kontrol ettiğimiz sayı:") | ||
sayi | ||
disp("") % Bir boş satır ekleyelim | ||
for bolen = asallar | ||
% asallar listesinin dinamik bir liste olduğunu | ||
% yani mesela 4'e gelindiğinde [2 3]; | ||
% 9'a gelindiğinde [2 3 5 7] olduğuna dikkat edin! | ||
bolen | ||
kalan = mod(sayi,bolen) | ||
if(kalan == 0) | ||
% Bu sayı asal olamaz. | ||
disp("Sayı asal değil! - döngüden burada çıkıyorum.") | ||
disp("") % Bir boş satır ekleyelim | ||
break; % "bolen = 2:sayi-1" döngüsünü kırıyoruz | ||
endif | ||
disp("") % Bir boş satır ekleyelim | ||
endfor | ||
|
||
% Buraya iki yoldan gelmiş olabiliriz: | ||
% ya sayi kalansız bolundu ve döngü break ile kırıldı | ||
% (bu durumda kalan == 0) | ||
% ya da hiçbir bolen kalansız bölemedi ve 2:sayi-1 döngüsü | ||
% normal yoldan sona erdi (bu durumda kalan != 0) | ||
if(kalan != 0) | ||
disp("Sayı asal!") | ||
asallar = [asallar sayi]; | ||
endif | ||
disp("-------------------") | ||
endfor | ||
asallar |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
veriler = [1 4.9142 | ||
2 7.1201 | ||
3 8.8456 | ||
4 10.8113 | ||
5 13.2231] % ilk sütun x, ikinci sütun y değerleri | ||
|
||
% Grafiğini çizdirirsek: | ||
plot(veriler(:,1),veriler(:,2),"bo") | ||
|
||
veriler = [1 4.9142 | ||
2 7.1201 | ||
3 8.8456 | ||
4 10.8113 | ||
5 13.2231] % ilk sütun x, ikinci sütun y değerleri | ||
x = veriler(:,1) % Tüm satırlar (":"), 1. sütun | ||
y = veriler(:,2) % Tüm satırlar (":"), 2. sütun | ||
|
||
veriler = [1 4.9142 | ||
2 7.1201 | ||
3 8.8456 | ||
4 10.8113 | ||
5 13.2231] % ilk sütun x, ikinci sütun y değerleri | ||
x = veriler(:,1); % Tüm satırlar (":"), 1. sütun | ||
y = veriler(:,2); % Tüm satırlar (":"), 2. sütun | ||
A11 = A12 = A22 = B11 = B12 = 0; % Hesaplanacak değerler | ||
n = rows(x); % Kaç adet verimiz olduğu | ||
for i = 1:n | ||
A11 = A11 + 2*x(i)^2; | ||
A12 = A12 + 2*x(i); | ||
A22 = A22 + 2; | ||
B11 = B11 + 2*x(i)*y(i); | ||
B12 = B12 + 2*y(i); | ||
endfor | ||
|
||
% Toplamlar hesaplandı bile! 8) | ||
m = (B11 - (A12 * B12 / A22)) / (A11 - (A12^2 / A22)) | ||
n = (B12 - A12 * m) / A22 | ||
|
||
% Artık verilerimize en yakın geçen | ||
% doğrunun denklemi elimizde olduğuna göre | ||
% hem doğruyu, hem de deney verilerini birlikte | ||
% çizdirelim | ||
|
||
xx = linspace(0,6,100); | ||
tt = m.*xx + n; | ||
plot(xx,tt,x,y,"ro") |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
A = [1:5; 6:10; 11:15; 16:20] % Güzel cevap | ||
|
||
A = [1:5 | ||
6:10 | ||
11:15 | ||
16:20] % Eşdeğer güzellikte cevap | ||
|
||
A = [1 2 3 4 5 | ||
6 7 8 9 10 | ||
11 12 13 14 15 | ||
16 17 18 19 20] % Bariz cevap | ||
|
||
A = []; | ||
for satir = 1:4 | ||
for sutun = 1:5 | ||
A(satir,sutun) = (satir-1)*5 + sutun; | ||
endfor | ||
endfor | ||
A % İlginç cevap | ||
|
||
A = reshape(1:20,5,4)' % Henüz görmediğiniz bir cevap ;) | ||
|
||
B = A([2,4],3:4) % Güzel cevap | ||
|
||
B = A([2,4],[3,4]) % Normal cevap | ||
|
||
B = [A(2,3) A(2,4); A(4,3) A(4,4)] % Zorlama cevap | ||
|
||
m = 1:pi | ||
|
||
[1:4].^2*2 | ||
|
||
a = 2; | ||
|
||
% a = 5 | ||
|
||
b = a + 4 | ||
|
||
%theta = -pi:0.125:3*pi; % Normal aralık tanımı | ||
theta = linspace(-pi,3*pi,100); % Güzel aralık tanımı | ||
sinler = sin(theta); | ||
plot(theta,sinler) | ||
|
||
koslar = cos(theta); | ||
plot(theta,sinler,theta,koslar) | ||
|
||
plot(theta,sinler,".r",theta,koslar,"--b") | ||
|
||
y = 0; | ||
k = 2; | ||
x = 19; | ||
if(k<5) | ||
while(x<20) | ||
x = 30 - k.^2; | ||
y = x + 2; | ||
endwhile | ||
else | ||
y = 6; | ||
endif | ||
y | ||
|
||
s = sum(6:30) % Güzel cevap | ||
|
||
s = 0; | ||
for x = 6:30 | ||
s = s + x; | ||
endfor | ||
s % Normal cevap | ||
|
||
s = 6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+... | ||
26+27+28+29+30 % Korkunç cevap (!!!) | ||
|
||
fibonacci = [0 1]; | ||
i = 3; | ||
for i=3:100 | ||
fibonacci(i) = fibonacci(i-2) + fibonacci(i-1); | ||
endfor | ||
fibonacci(1:10) % ilk 10 terim | ||
fibonacci(98:100) % son 3 terim |