%% Matlab Örnek Sorular 1
% Magic matrisi, satırların sütunların ve köşegen elemanların toplamanın eşit olduğu matristir.

M = magic(5)
M'

% sütunların toplamı :

sum(M)

% satırların toplamı :

sum(M,2)
sum(M')'

% köşegen elemanların toplamı :

sum(diag(M))
trace(M)

%
%% Matlab Örnek Soru 2:
% Soru:  Girilen değerin Mükemmel Sayı mı değil mi bulan kodu yazınız.
% Mükemmel sayı, kendisi hariç pozitif tam bölenlerinin toplamı kendisine eşit olan sayıdır.

for sayi = 2:1500
    bolenler = [];
    %bolenler = zeros(1,sayi)
    
    for i=1:sayi-1
        if mod(sayi,i) == 0 
            bolenler = [bolenler i];
        end
    end
    
    if sayi == sum(bolenler)
        %disp('sayı mükemmeldir')
        fprintf('%d - sayısı mükemmel sayıdır',sayi );
    %else
     %   disp('sayi mükemmel değildir')
    end
end

%
%% Matlab Örnek Soru 3
% Verilen bir matrisin eleman sayısını bulun. En büyük Elemanı bulunuz.
% Ortalamasını bulunuz. (mean kullanmadan)
% sum , eleman sayısı

M2 = randi( [ -1000 1000] , 5, 4, 3 )
prod( size(M2) )
numel(M2)
mean(M2(:))
sum(M2(:))/numel(M2)

%
%
%
%% Matlab Örnek Soru 4
% 50 ile 100 arasında 20 tane rastgele tam sayılardan oluşan bir R vektörü tanımlayınız. R vektörünün içindeki 75’den küçük sayıları negatifleri ile değiştirip, 90’dan büyük sayıları R vektöründen silen, en büyük elemanı vektörün birinci elamanı ile yer değiştiren MATLAB kodunu döngüleri kullanmadan yapınız.
%
% 50 ile 100 arasında 20 tane rastgele tam sayılardan oluşan bir R vektörü tanımlayınız.

R = randi([ 50 100] , 1, 20 ) 
R = round ( rand(1,20)*50 + 50 )

% R vektörünün içindeki 75’den küçük sayıları negatifleri ile değiştirip,

%R( find(R<75) ) = R(find(R<75)) * -1;
indisler = find(R<75);
R(indisler ) = R(indisler) * -1

% 90’dan büyük sayıları R vektöründen silen

indisler = find(R>80&R<90);
R(indisler) = []

% en büyük elemanı vektörün birinci elamanı ile yer değiştiren MATLAB kodunu döngüleri kullanmadan yapınız.

tmp = max(R);
R(find(R==max(R))) = R(1);
R(1) = tmp

%
%% Matlab Örnek Sorular 5
% Üç basamaklı bir ABC sayısı için ABC=A^3+B^3+C^3 koşulunu sağlıyorsa, ABC sayısı bir amstrong sayısıdır. Örneğin; 153= 1^3+3^3+5^3 olduğu için 153 bir amstrong sayısıdır. Üç basamaklı tüm amstrong sayıları bir vektörde saklayan matlab kodunu yazınız?

armstrong = [];
for sayi = 100:999
    birler = mod(sayi,10);
    onlar = mod ( floor(sayi/10),10 );
    yuzler = floor(sayi / 100 );
    if ( sayi == birler^3 + onlar ^3 + yuzler^3 ) 
        armstrong = [ armstrong sayi ]
    end
end

%
%
%
%% Matlab Örnek Sorular 6
% tribonacci serisinin ilk 100 değerini bir vektörde saklayınız.
% t(1) = 1
% t(2)=1
% t(3)=2
% t(n) = t(n-1)+t(n-2)+t(n-3)

t = zeros(1,100);
t(1) = 1; t(2)=1 ; t(3)=2;
for n = 4:100
    t(n) = t(n-1)+t(n-2)+t(n-3);
end
%format short
format long
t

%
%% Matris Kolon Operatör Örnekleri
% (:,:)
%

A = magic(10)

% A matrisinin 1. satırdaki elemanaları listeleyin.

A(1,:)

% A matrisinin 2. sütundaki elemanaları listeleyin.

A(:,2);

% A matrisinin 1.,2., satırdaki ve 3. ve 4. sütundaki elemanaları listeleyin.

A(1:2,3:4)

% A matrisinin 1.,3.,5. satırdaki ve 2. 4. ve 6. sütundaki elemanaları listeleyin.

A(1:2:5,2:2:6)

%
%
% A(1,5,3,5)  --> yanlış. 4 boyutlu bir matris için geçerli.
%
% A matrisinin 1.,5., satırdaki ve 3. ve 5. sütundaki elemanaları listeleyin.

A([1 2 5 7],[3 5])

%
%
%
% % 5. Create a vector x with the elements ...
% %   a. 2, 4, 6, 8, ...100  a=[2:2:100]

a = 2:2:100

% %   b. 10, 8, 6, 4, 2, 0, -2, -4, .... -90  --> b=10:-2:-90

b=10:-2:-90

% %   c. 1, 1/2, 1/3, 1/4, 1/5, ... 1/100   c= 1./(1:100)

format rat ; c=1./(1:100)

% %   d. 0/1, 1/2, 2/3, 3/4, 4/5, ... 99/100  0:99 ./ 1:100

d=(0:99)./(1:100)

%