% 1-Herhangi bir degiskenin tanimlanmasi

a=11; %a degiskeninin degerini 11  
pause; %enter dügmesindeye basincaya kadar programin calismasini durdurur 
who %ekranda hangi degiskenler tanimli 
pause;
a % a degiskeninin degerini ekrana yazildi
pause;

clear a %  a degiskenin yokedildi
who %ekranda hangi degiskenler tanimli 

a=11; b=12; %a degiskeninin degerini 11 a degiskeninin degerini 12 olarak atadi
pause;
a % a degiskeninin degerini ekrana yazildi
pause;
b % b degiskeninin degerini ekrana yazdildi
pause;
who %ekranda hangi degiskenler tanimli 
pause;
clear all %bütün degiskenler yokedildi

% 2-Vektör tanimlama
%vektör tanimlanmasi 0: herhangi bir vektör
a=[1 1 1 2] %a vektörü tanimlandi
pause;
length(a);%a vektörünün uzunlugu nedir soruldu
pause;
k=length(a); % a vektörünün uzunlugu k deiskenine atandi
k %k'nin degerini verir
who  %ekranda hangi degiskenler tanimli
pause;
clear all %bütün degiskenler yokedildi

%vektör tanimlanmasi 1: degerleri belli bir düzene göre artan vektör 
a=[1:1:10] %a vektörü tanimlandi bu vektor 1'den 10'a birer birer artan vektörü gösterir
pause;
length(a)%a vektörünün uzunlugu nedir soruldu
pause;
k=length(a); % a vektörünün uzunlugu k degiskenine atandi
k %k'nin degerini verir
pause;
clear all %bütün degiskenler yokedildi

%vektör tanimlanmasi 2: degerleri belli bir düzene göre azalan vektör 2
a=[10:-2:-5] %a vektörü tanimlandi bu vektor 10'dan -5'e ikiser ikiser azalan vektörü gösterir
pause;
length(a)%a vektörünün uzunlugu nedir soruldu
pause;
k=length(a); % a vektörünün uzunlugu k degiskenine atandi
k %k'nin degerini verir
pause;
clear all %bütün degiskenler yokedildi

%vektör tanimlanmasi 3: belirlenen iki nokta arasina istenildigi kadar
%dogrusal uzakliklari esit nokta yerlestirme
a=linspace(0,7,8) %a vektörü tanimlandi bu vektor 0 ile 7 araliginda ardisik iki terimin uzakligi ayni olan 8 bilesenli vektör olusturur
pause;
length(a)%a vektörünün uzunlugu nedir soruldu
pause;
k=length(a); % a vektörünün uzunlugu k degiskenine atandi
k %k'nin degerini verir
pause;
clear all %bütün degiskenler yokedildi

%vektör tanimlanmasi 4: belirlenen iki nokta arasina istenildigi kadar
%logaritmik uzakliklari esit nokta yerlestirme
a=logspace(-1,2,4) %a vektörü tanimlandi bu vektor 10^(-1) ile 10^(2) arasinda ardisik iki terimin logaritmik olarak uzakligin ayni oldugu 4 bilesenli vektör olusturur
pause;
length(a)%a vektörünün uzunlugu nedir soruldu
pause;
k=length(a); % a vektörünün uzunlugu k degiskenine atandi
k %k'nin degerini verir
pause;
clear all %bütün degiskenler yokedildi

%3- tanimli vektörün degerini çagirma
a=[76 454 345 78] %a vektörü tanimlandi
pause;
a(1) %a'nin ilk degerini verir 
pause;
max(a) %a'nin maximim degerini verir 
pause;
min(a) %a'nin minimum degerini verir 
pause;
a(2) %a'nin ikinci degerini verir
pause;
a(2+1) %a'nin 3. degerini verir
clear all %bütün degiskenler yokedildi


%4- matrix tanimlama
a=[76 454 345 78; 4 5 6 8; 4 2 3 1] %a matrix'i tanimlandi
pause;
k=size(a) % bu komut a matrixinin boyutunu veriri ve bu boyutu k degiskenine atar
% k degiskenin iki tane bileseni vardir ve k 1*2 boyutlu bir vektordur
% k'nin ilk bileseni a matrisinin satir sayisi, ikinci bileseni de a matrisinin sütun sayisidir 
a(1,1) %a'nin ilk satir ilk sütun degerini verir 
pause;
a(2,3) %a'nin ikinci satirinin ücüncü sütununun degerini verir
pause;
max(a) %a'nin bütun sutunlarinin maximim degerini verir ve bunu bir vektör olarak yazar 
pause;
min(a) %a'nin bütun sutunlarinin minimum degerini verir ve bunu bir vektör olarak yazar 
pause;
a(5,3) %a'nin besinci satirinin ücüncü sütununun degerini verir, boyle bir deger üretilmedigi için ne yazik ki bu komut hata olarak algilanacaktir
%index degeri matrisin boyutlarini astigindan dolayi  'index exceeds matrix
%dimentions' hata komutu gözlemlenecektir
pause;
a(3,2+1) %a'nin ücüncü satirinin ücüncü sütununun degerini verir
clear all %bütün degiskenler yokedildi

%4- matrix tanimlama
a=[76 454 345 78, 4 5 6 7] %a matrix'i tanimlandi
k=[76, 454, 345, 78, 4, 5, 6, 7] %a matrix'i tanimlandi
% k ve a ayni matrislerdir, dolayisi ile virgül matix tanimlamada bir satir
% üzerinde matrixin index degerlerini ayirmak icin kullanilabilinir
clear all

%5 Basit aritmetik islemler
a=4 % a tanimlandi
b=5 % b tanimlandi
pause
c=a+b %c a ile b'nin toplami
pause;
c=a*b %c a ile b'nin carpimi
pause;
c=a/b %c a'nin b'ye bolumu
pause;
c=a-b %c b'nin a'dan cikarilmasi
pause;
c=a^2 %c a'nin karesi
pause;
c=sqrt(a) %c a'nin karekoku 
pause;
c=a^3 %c a'nin kübü
pause;
c=a^(1/3) %c a'nin 1/3. kuvveti
pause;
c=a^(-1/3) %c a'nin 1/3. kuvveti
pause;
clear all
clc % ekrandaki yazilarin siler ama ekranda saklanan degisken degerlerini degistirmez onlari saklar

%6- herhangi bir degiskenin kendi degerini aritmetik islemle degistirme
c=5; %c'nin ilk degeri 5
c=7+c; %c'nin son degeri eski degeri ile 7'nin toplanmasidir
clear all
c=5; %c'nin ilk degeri 5
c=c*7; %c'nin son degeri eski degeri ile 7'nin carpilmasidir
clear all
c=5; %c'nin ilk degeri 5
c=sqrt(c); %c'nin son degeri eski degerinn kareköküdür
clear all

%7- vektörde herhangi bir degiskenin kendi degerini aritmetik islemle degistirme
c=[5 6 7 4]; %c bir vektör
c
pause;
c(1)=7+c(1); %c(1)'in son degeri eski degeri ile 7'nin toplanmasidir
c
pause;
clear all
c=[5 6 7 4]; %c bir vektör
c
pause;
c(1)=7+sqrt(c(1)+c(2)); %c(1)'in son degeri esli c(1) ve eski c(2) degerinin toplaminin karakökünün 7 ile toplanmasidir
c
clear all

%8- matrixdeki herhangi bir degiskenin kendi degerini aritmetik islemle degistirme
c=[5 6 7 4; 64 9 15 5]; %c bir matris
c
pause;
c(1,2)=7+c(1,2); %c(1,2)'in son degeri eski degeri ile 7'nin toplanmasidir
c
pause;
clear all
c=[5 6 7 4; 64 9 15 5]; %c bir matris
c
pause;
c(1,2)=7+sqrt(c(1,2)+c(2,3)); %c(1)'in son degeri esli c(1) ve eski c(2) degerinin toplaminin karakökünün 7 ile toplanmasidir
c
clear all


%9-vektör tanimlama
a=[5 6 8] % a vektörü
b=[7 6] %b vektörü
pause;
c=[a b] % c, a ve b'nin yanyana yazilmasi
pause;
c=[a,b] % c, a ve b'nin yanyana yazilmasi
pause;
c=[a;b] % bu islem sonuc vermeyecektir cunku a ile b'nin sütun sayisi esit degil
clear all

a=[5 6 8] % a vektörü
b=[7 6 9] %b vektörü
pause;
c=[a b] % c, a ve b'nin yanyana yazilmasi
pause;
c=[a;b] % bu islem sonucu ilk satiri a'ya esit ikinci satiri b'ye esit matris elde edilecektir
pause;
clear all

%10- ozel matrisler ve matris islemleri
a=ones(4,4) %a bütün terimleri 1'e esit olan matris, satir sayisi ilk aldigi degiskenle sütun sayisi ikinci aldigi degiskenle ifade edilir 
pause;
a=ones(5,4)
pause;
a=zeros(3,5) %a bütün terimleri 0'a esit olan matris, satir sayisi ilk aldigi degiskenle sütun sayisi ikinci aldigi degiskenle ifade edilir 
pause;
a=eye(4) % boyutu aldigi degiskene esit olan birim matris olusturur
pause;
a=eye(5,4) %birim matris olusturur ama birim matrisi satir sayisi sütun sayisina esit degilse bu sekilde tanimlanir
clear all

% bir matrisi tersi
a=[4 3 6 7; 5 4 7 8 ;5 5 1 10; 10 10 10 11] % a matrisi tanimlandi
pause;
k=inv(a) % a matrisinin tersi bulundu ve k'ya atandi
clear all

%matrisin tersi olmazsa çikan sonuç
a=[4 3 6 7; 5 4 7 8 ;5 5 1 10; 10 10 10 10] % a matrisi tanimlandi
pause;
k=inv(a) % a matrisinin tersi bulundu ve k'ya atandi ama a matrisi dikkat edilecegi gibi dogrusal olarak bagimsiz olan satir ya da sütunlardan olusmadigindan bu matrisin tersi yoktur
clear all

%matrisin diyagonal bilesenlerinin toplanmasi
a=[4 3 6 7; 5 4 7 8 ;5 5 1 10] % a matrisi tanimlandi
pause;
k=trace(a) % a matrisinin diyagonal terimlerini toplami
clear all

%matrisin diyagonal bilesenlerinin toplanmasi
a=[4 3 6 7; 5 4 7 8 ;5 5 1 10; 10 10 10 10] % a matrisi tanimlandi
pause;
k=trace(a) % a matrisinin diyagonal terimlerini toplami
clear all

%matris carpimi
a=[4 6 2 3; 1 2 2 1] % a matrisi boyudtu 2*4
b=[3 3 1; 3 2 1; 1 2 0; 0 0 1] % b matrisi boyutu 4*3
c=a*b %c matrisinin boyutu 2*3 olacaktir

%matrisin her bir teriminin kendi lkendisiyle carpimi 
a=[4 6 2 3; 1 2 2 1] % a matrisi boyudtu 2*4
pause;
c=a*a %sonuc vermez cunku a kendisiyle boyutu geregi carpilabilinecek bir matris degildir
pause;
c=a.*a %c matrisi a matrisinin her bir terriminin kendikendisiyle carpimina esittir
% . sadece bir terimin kendisiyle carpilmasina izin veren bir islev görür
b=[1 1 1 2; 3 2 1 2]
c=a.*b %c matrisi a matrisinin her bir teriminin b matrisinin ayni indexli terimleriyle carpimina esittir
clear all

%matrisin terimlerini belli bir islemden geçiren operatörler
a=[4 6 2 3; 1 2 2 1] % a matrisi boyudtu 2*4
pause;
c=sqrt(a) % matrisin her teriminin karaökünü alir
pause;
c=a^2 % matrisin karesini almaya çalisir ama matrisin boyutlari 2*4 oldupgu için alamaz
pause;
c=a.^2 % matrisin her terminin kendi kendine kresini alir
pause;
c=a.^(-2) % matrisin her terminin kendi kendine belli bir deceye göre degerini alir
pause;
c=a.^(-0.34) % matrisin her terminin kendi kendine belli bir deceye göre degerini alir
clear all

%ama eger matris n*n boyutlu bir matrisse matrisin belli bir dereceden degeri bulunabilir 
a=[8 9 10; 1 1 1; 2 2 3]
pause;
c=a^2 %burda c a*a'ya esittir
pause;
k=a*a; % k ve c'nin esit oldugu görülecektir
pause;
m=a^(0.5) % bu deger a matrisinin (1/2). kuvvetini alir dolayisi ile m*m=a esitligi dogrudur
clear all

% komplex sayi
j
pause;
% pi sayisi
pi
pause;
%üstel sayi
exp(1)
clear all

%matrisin transposu'unu alma
a=[ j 2+j 4; 6 7 11] % a matris
k=a.' %a'nin transposu'nu alma
k=transpose(a) %a'nin transposu
clear all

%matrisin esleniginin tansposu'nu alma
a=[ j 2+j 4; 6 7 11] % a matris
k=a' %a'nin transposunun eslenigini alma
k=ctranspose(a) %a'nin transposunun eslenigi
clear all

%matrisin diyagonal terimleri
a=[ j 2+j 4; 6 7 11] % a matrisi
k=diag(a) %k'ya a matrisinin diyagonal terimleri atandi
clear all

%ozel bolme islemleri
a=[ 8 9 3 2; 4 3 3 1] % a tanimlandi 
b=[1 2 2 1; 2 3 1 1] %b tanimlandi
pause;
c=a./b %a'nin termleri benin ayni indexli terimlerine bolunuyor
pause;


%12- vektör islemler
% a
a=[1 2 5 7] % a vektörü boyut 1*4
b=a' %a vektörünün eslenik transpozunu alir ve onu b vektörüne atar, b boyutu 4*1
c=a*b % c, a ile b vektörünün carpimidir 1*1'dir
d=b*a % d, a ile b'nin carpimidir 
e=a*a' %e a'nin vektör büyüklügünün karesidir ker index degerinin kendisiyle carpilip sonuclarin toplanmasina esittir
e=sum(a.^2)
clear all

%b
a=[j 2 5 7] % a vektörü boyut 1*4
b=a' %a vektörünün eslenik transpozunu alir ve onu b vektörüne atar, b boyutu 4*1
c=a*b % c, a ile b vektörünün carpimidir 1*1'dir
clear all

%c
a=[j 2 5 7] % a vektörü boyut 1*4
b=a.' %a vektörünün transpozunu alir ve onu b vektörüne atar, b boyutu 4*1
c=a*b % c, a ile b vektörünün carpimidir 1*1'dir
clear all

%13- temel fonksiyonlar

a=5
sin(5) % sinus fonksiyonu 5 radyan'daki degeri degeri
sin(pi) % sinus fonksiyonu pi radyandaki degeri
sin(pi/2) % sinus fonksiyonu pi/2 radyandaki degeri
sin(pi/6) % sinus fonksiyonu pi/6 radyandaki degeri
sin(pi/4) % sinus fonksiyonu pi/4 radyandaki degeri
sin(pi/3) % sinus fonksiyonu pi/3 radyandaki degeri

a=-2*pi:(pi/180):2*pi
k=sin(a)
plot(a,k)
clear all

a=5
cos(5) % cosinus fonksiyonu 5 radyan'daki degeri degeri
cos(pi) % cosinus fonksiyonu pi radyandaki degeri
cos(pi/2) % cosinus fonksiyonu pi/2 radyandaki degeri
cos(pi/6) % cosinus fonksiyonu pi/6 radyandaki degeri
cos(pi/4) % cosinus fonksiyonu pi/4 radyandaki degeri
cos(pi/3) % cosinus fonksiyonu pi/3 radyandaki degeri

a=-2*pi:(pi/180):2*pi
k=cos(a)
plot(a,k)
clear all

tan(5) % tanjant fonksiyonu 5 radyan'daki degeri degeri
tan(pi) % tanjant fonksiyonu pi radyandaki degeri
tan(pi/2) % tanjant fonksiyonu pi/2 radyandaki degeri
tan(pi/6) % tanjant fonksiyonu pi/6 radyandaki degeri
tan(pi/4) % tanjant fonksiyonu pi/4 radyandaki degeri
tan(pi/3) % tanjant fonksiyonu pi/3 radyandaki degeri

a=-pi*4.2/9:(pi/180):pi*4.2/9
k=tan(a)
plot(a,k)
clear all

cot(5) % cotanjant fonksiyonu 5 radyan'daki degeri degeri
cot(pi) % cotanjant fonksiyonu pi radyandaki degeri
cot(pi/2) % cotanjant fonksiyonu pi/2 radyandaki degeri
cot(pi/6) % cotanjant fonksiyonu pi/6 radyandaki degeri
cot(pi/4) % cotanjant fonksiyonu pi/4 radyandaki degeri
cot(pi/3) % cotanjant fonksiyonu pi/3 radyandaki degeri

a=pi*(1/18):(pi/180):pi*17/18
k=cot(a)
plot(a,k)
clear all

exp(1)
exp(0)
exp(-1)
a=-5:0.5:5;
k=exp(a);
plot(a,k)
clear all

a=0:pi/180:5*pi;
k=exp(-a).*sin(a*10);
stem(a,k)
plot(a,k)
clear all

a=0:pi/180:5*pi;
k=exp(-a).*sin(a*1);
stem (a,k)
plot(a,k)
clear all

a=0:pi/15:5*pi;
k=exp(-a).*sin(a*10);
stem(a,k)
plot(a,k)
clear all


% rastgele sayi üretimi
k=randn(3) %gaussian dagilimina göre belirlenmis rastgele 3*3 matris sayilar ortalamasi 0 standart degisimi 1 olan gaussian  (normal) dagilima göre belirlenmistir
k=randn(3,4) %gaussian dagilimina göre belirlenmis rastgele 3*4 matris sayilar ortalamasi 0 standart degisimi 1 olan gaussian  (normal) dagilima göre belirlenmistir
k=rand(1,1)% 1*1 uniform dagilimina göre belirlenmis 0 ile 1 aras? rastgele say?
k=rand(10,1)% 10*1 uniform dagilimina göre belirlenmis 0 ile 1 aras? rastgele say?
k=randi(10,5,5); %5*5 uniform dagilimina göre belirlenmis 1 ile 10 aras? sayma say?s?
k=randi(10,5,5)-ones(5,5) %5*5 uniform dagilimina göre belirlenmis 0 ile 9 aras? sayma say?s?
k=randi(9,5,5)-5*ones(5,5) %5*5 uniform dagilimina göre belirlenmis -4 ile 4 aras? sayma say?s?

