Matlab Örnekleri

25 Oca

 1.Örnek: ginput komutu yardımıyla, bir çizim üzerindeki iki noktanın koordinatları alınarak, bu iki nokta arasındaki uzaklık bir fonksiyonda hesaplanarak, text komutu yardımıyla bu iki nokta arasına hesaplanan uzaklığı yazdıran programı ve fonksiyonu yazınız.

Uygulama Kodu:

clear all;

clc;

clf;

t = 0:pi/50:10*pi;

plot(t)

[x,y] = ginput(2)

text(x(1),y(1),’*’);

text(x(2),y(2),’*’);

mesafe=uzaklik(x,y)

xorta = (x(1)+x(2))/2;

yorta = (y(1)+y(2))/2;

text(xorta,yorta,int2str(mesafe))

 Uzaklık Fonksiyonu:

function mesafe=uzaklik(x,y)

 mesafe=sqrt(((x(2)-x(1))^2)+((y(2)-y(1))^2));

2.Örnek:Klavyeden girilen bir karakter katarını kullanıcının isteğine göre büyük ya da küçük harf karşılıklarını bulan programı kullanacağınız karakter fonksiyonu yardımı ile yazınız. (Not: karakter fonksiyonunu yazarken hiçbir şekilde lower ya da upper fonksiyonlarından yararlanmayınız ve yazdığınız fonksiyonun gerekli giriş ve dönüş argümanları tanımlanmış olmalıdır).

Uygulama Kodu:

clc;

clear all;

a=input(‘Bir string değeri giriniz :’,’s’);

j=input(‘Tümü büyük harf için(B|b),Tümü küçük için(K|k)’,’s’);

s=karakter(a,j);

disp(s)

 

 Karakter fonksiyonu:

function  don=karakter(s,m);

kilk =abs(‘a’);

kson =abs(‘z’);

bilk =abs(‘A’);

bson =abs(‘Z’);

don=[];bul=0;

if (m==’B’) | (m==’b’)

   for k=1:length(s)

      if (s(k)>=kilk &s(k)<=kson)

      bul=(abs(s(k))-kilk)+bilk;

      don=[don char(bul)];

      else

      don=[don s(k)];

   end

   end

end

if (m==’K’) | (m==’k’)

   for k=1:length(s)

   if (s(k)>=bilk &s(k)<=bson)

      bul=(abs(s(k))-bilk)+kilk;

      don=[don char(bul)];

     else

      don=[don s(k)];

   end

end

end

3.Örnek:

Klavyeden kullanıcı adı boş girilinceye kadar belirlenen, kullanıcı adı ve şifresi için “c:\sil\melih\melih.mat” şeklinde dizin ve mat dosyasını yazacağınız dizin fonksiyonunda oluşturunuz (“melih” kullanıcı adı olup mat dosyada da şifresi kayıtlıdır). Daha sonra deneme amaçlı kullanıcının adı ve şifresini sorarak bir doğrulama işlemi gerçekleştiriniz.

(Not: Girilen kullanıcı adı tanımlanmamış ise, program kullanıcıyı uygun bir mesajla uyarmalıdır. Daha sonra test aşamasında kullanıcının şifresini doğru girmesi için en az 3 hak tanıyınız).

Uygulama Kodu:

clc;

clear all;

eval([‘cd c:\’]) % ilk olarak ana dizine geçiliyor

 varmi=exist(‘sil’,’dir’);        % sil dizinin kontrolü

if varmi~=7             

   eval([‘!mkdir c:\sil’]);      % yoksa oluşturuluyor

else

end

 kackere=round(1+rand*4);         % kaç giriş yapılacağı belirleniyor

i=1;

while i<=kackere

      kullad=input(sprintf(‘%s. KULLANICININ ADI      >’,int2str(i)),’s’); % kullanıcı adı girişi

      eval([‘cd c:\sil\’]);      % sil dizinine geçiliyor

      varmi=exist(kullad,’dir’); % bu kullanıcının kontrolü

      if varmi~=7                % * eğer yoksa

         sifre=input(sprintf(‘%s. KULLANICININ ŞİFRESİ  >’,int2str(i)),’s’); % şifre girişi

         dizin=[‘c:\sil\’,kullad];     % kullanıcı adına ait dizini tanımlama

         eval([‘!mkdir ‘,dizin]);      % kullanıcın adına ait dizin oluşturma

         eval([‘cd c:\sil\’,kullad])   % oluşturulan kullanıcı dizinine geçilir

         sifredosyasi=[sifre,’.mat’];  % sifredosyasi tanımlama

         eval([‘save ‘,sifredosyasi]); % sifre dosyası oluşturma

         eval([‘cd C:\MATLABR11\work’]) % MATLAB çalışma dizinine dönme

         varmi=7;

         i=i+1;

      else        % * eğer varsa

         disp(‘VAR OLAN BİR KULLANICI ADI GİRDİNİZ!…’);  

         disp(‘ ‘);

      end

disp(‘ ‘);

end         % veri girişlerinin sonu

 clc;

 % test amaçlı program

disp(‘*********** TEST BAŞLIYOR!!! ************’);

disp(‘ ‘);

 kullad=input(‘KULLANICI ADI >’,’s’); % kullanıcı adı girişi

 eval([‘cd c:\sil’]);  % sil dizinine geçiliyor

varmi=exist(kullad,’dir’); % kullanıcı adının kontrolü

 bildi=0;

if varmi==7   % * kullanıcı adı varsa

   for i=1:3  % 3 şifre hakkı

      sifre=input(sprintf(‘%s.giriş, %s ADLI KULLANICINI ŞİFRESİ >’,int2str(i),kullad),’s’); % şifre sorma

      eval([‘cd c:\sil\’,kullad]);

      sifredosyasi=[sifre,’.mat’];   % kullanıcının girdiği sifre ile sifredosyasi oluşturma

      varmi=exist(sifredosyasi);     % bu dosyanın kontrolü

      if varmi==2  % varsa şifreyi bildi demektir

         clc;

         bildi=1;

         disp(‘*********************’);

         disp(‘** GİRİŞ ONAYLANDI **’);

         disp(‘*********************’);

         break;

      else         % yoksa şifreyi bilememiştir

      end

   end   % for döngüsüne dön ve diğer hakkını kullandır

 elseif varmi~=7  % eğer beklenilmeyen bir durumla karşılaşılırsa

   disp(‘BİR SORUN VAR. PROGRAMI TEKRAR ÇALIŞTIRIN’);

   disp(‘program hatasi değil, bende suç yok 😀 ‘);  

eval([‘cd c:\MATLABR11\work’])   % MATLAB çalışma dizinine dönme

end

 if bildi==0

    clc;

    disp(‘**********************’);

    disp(‘** GİRİŞ REDDEDİLDİ **’);

    disp(‘**********************’);

end

Yorum bırakın