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 :-D ‘);
eval(['cd c:\MATLABR11\work']) % MATLAB çalışma dizinine dönme
end
if bildi==0
clc;
disp(‘**********************’);
disp(‘** GİRİŞ REDDEDİLDİ **’);
disp(‘**********************’);
end
MATLAB® (MATrix LABoratory-Matris Labaratuarı), temel olarak teknik ve bilimsel hesaplamalar için yazılmış yüksek verime sahip bir yazılımdır. 1970′lerin sonunda Cleve Moler tarafından yazılan Matlab programının tipik kullanım alanları:
Matematiksel (Sayısal ve sembolik ) hesaplama işlemleri
Algoritma geliştirme ve kod yazma yani programlama
Lineer cebir, istatistik, Fourier analizi, filtreleme, optimizasyon, sayısal integrasyon vb. konularda matematik fonksiyonlar.
2D ve 3D grafiklerin çizimi
Modelleme ve simülasyon (benzetim)
Grafik kullanıcı arayüzü oluşturma
Veri analizi ve kontrolü
Gerçek dünya şartlarında uygulama geliştirme
şeklinde özetlenebilir.
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 :-D ‘);
eval(['cd c:\MATLABR11\work']) % MATLAB çalışma dizinine dönme
end
if bildi==0
clc;
disp(‘**********************’);
disp(‘** GİRİŞ REDDEDİLDİ **’);
disp(‘**********************’);
end
MATLAB® (MATrix LABoratory-Matris Labaratuarı), temel olarak teknik ve bilimsel hesaplamalar için yazılmış yüksek verime sahip bir yazılımdır. 1970′lerin sonunda Cleve Moler tarafından yazılan Matlab programının tipik kullanım alanları:
Matematiksel (Sayısal ve sembolik ) hesaplama işlemleri
Algoritma geliştirme ve kod yazma yani programlama
Lineer cebir, istatistik, Fourier analizi, filtreleme, optimizasyon, sayısal integrasyon vb. konularda matematik fonksiyonlar.
2D ve 3D grafiklerin çizimi
Modelleme ve simülasyon (benzetim)
Grafik kullanıcı arayüzü oluşturma
Veri analizi ve kontrolü
Gerçek dünya şartlarında uygulama geliştirme
şeklinde özetlenebilir.
MATLAB, matematik-istatistik, optimizasyon, Yapay Sinir Ağları (YSA), bulanık mantık, işaret ve görüntü işleme, kontrol tasarımları, yöneylem çalışmaları, tıbbi araştırmalar, finans ve uzay araştırmaları gibi çok çeşitli alanlarda kullanılmaktadır. MATLAB, kullanıcıya hızlı bir analiz ve tasarım ortamı sağlar.
Matlab programını C/C++ diline dönüştürebilir,
20. dereceden bir denklemin köklerini bulabilir,
100×100 boyutlu bir matrisin tersini alabilir,
Bir elektrik motorunu gerçek zamanda kontrol edebilir,
Bir aracın süspansiyon sisteminin benzetimini yapabilir,
Mühendislik alanlarında karşılaşılan problemlere pratik ve hızlı sonuçlar sunabilir.
Bu nedenle Matlab, tüm dünyada binlerce endüstri, devlet ve akademik kurumlarda yaygınca kullanılmaktadır. Özellikle tüm üniversitelerde yaygın olarak kullanılmakta ve çeşitli derslerde ve kurslarda öğretilmektedir.
Matlab kullanıcı şirketler arasında
Dünyada Boeing, DaimlerChrsyler, Motorola, NASA, Texas Instruments, Toyota ve Saab vd.,
Ülkemizde ise Aselsan, Tofaş, Arçelik, Siemens, Alcatel, Garanti Bankası, Deniz Kuvvetleri, vd. sayılabilir.
http://www.mathworks.com/company/user_stories/industry.html linkini sağ tıklayarak “Yeni Pencerede Aç” sekmesini seçerek, Matlab programınının endüstriyel kullanıcılarının (Ford,Toyota, Motorola, ABB vd.) makalelerine ulaşabilirsiniz.
Matlab Kullanımında Temel Kurallar:
Programın dili ve yardım bilgileri tamamen ingilizcedir.
Komut temelli yazılımdır.
Küçük-büyük harf ayrımı vardır. tot ve Tot farklı algılanır.
» işareti komut iletisidir (prompt).
Komut satırında komutlar Enter tuşuna basılarak yürütülür.
Kaynak ve Daha Fazlası: http://eds.kocaeli.edu.tr/matlab/
, matematik-istatistik, optimizasyon, Yapay Sinir Ağları (YSA), bulanık mantık, işaret ve görüntü işleme, kontrol tasarımları, yöneylem çalışmaları, tıbbi araştırmalar, finans ve uzay araştırmaları gibi çok çeşitli alanlarda kullanılmaktadır. MATLAB, kullanıcıya hızlı bir analiz ve tasarım ortamı sağlar.
Matlab programını C/C++ diline dönüştürebilir,
20. dereceden bir denklemin köklerini bulabilir,
100×100 boyutlu bir matrisin tersini alabilir,
Bir elektrik motorunu gerçek zamanda kontrol edebilir,
Bir aracın süspansiyon sisteminin benzetimini yapabilir,
Mühendislik alanlarında karşılaşılan problemlere pratik ve hızlı sonuçlar sunabilir.
Bu nedenle Matlab, tüm dünyada binlerce endüstri, devlet ve akademik kurumlarda yaygınca kullanılmaktadır. Özellikle tüm üniversitelerde yaygın olarak kullanılmakta ve çeşitli derslerde ve kurslarda öğretilmektedir.
Matlab kullanıcı şirketler arasında
Dünyada Boeing, DaimlerChrsyler, Motorola, NASA, Texas Instruments, Toyota ve Saab vd.,
Ülkemizde ise Aselsan, Tofaş, Arçelik, Siemens, Alcatel, Garanti Bankası, Deniz Kuvvetleri, vd. sayılabilir.
http://www.mathworks.com/company/user_stories/industry.html linkini sağ tıklayarak “Yeni Pencerede Aç” sekmesini seçerek, Matlab programınının endüstriyel kullanıcılarının (Ford,Toyota, Motorola, ABB vd.) makalelerine ulaşabilirsiniz.
Matlab Kullanımında Temel Kurallar:
Programın dili ve yardım bilgileri tamamen ingilizcedir.
Komut temelli yazılımdır.
Küçük-büyük harf ayrımı vardır. tot ve Tot farklı algılanır.
» işareti komut iletisidir (prompt).
Komut satırında komutlar Enter tuşuna basılarak yürütülür.
Kaynak ve Daha Fazlası: http://eds.kocaeli.edu.tr/matlab/
Hiç yorum yok:
Yorum Gönder