Merhaba Arkadaşlar...
Bu yazımda Matlab'ın Grafiksel Arayüzüne yani GUI 'ye değineceğim. Daha önceden video çekip bazı komutların anlatımını yapmıştım temel olması açısından. Bu yazımda daha detaylı bir şekilde Matlab GUI nin iç yapısını sekmeleri menüleri ve GUI'de en çok kullanılan komutları öğreneceğiz.
Aşağıdaki linklerden Matlab GUI ile ilgili diğer yazılarıma bakabilirsiniz.
Matlab GUI Tanıtımı ve Örnek Uygulama
MATLAB Kullanıcı Arayüzü (GUI) - 2
GİRİŞ
Günümüzde kullandıgımız programların hemen hemen tamamı grafiksel tabanlı programlar oldugundan dolayı matlab programıda yeni sürümlerinde ( 6 ve üstü) grafiksel arayüz ile programlamayı (GUI) kullanıcıya sunmustur.
GUI programların son kullanıcıya fare veya klavye ile ulasabilecekleri veriler sunmaktadır. Ayrıca matlab arayüz programları m-function ile olusturulabilse de bu kodları yazmak hem programcı tarafından zor hemde zaman kaybı olusturacagından GUI ile programlama göz önünde tutulmalıdır.
Önemli Not: Matlab arayüz programlarında matlabta kullanılan tüm komutlar kullanılabilir ve icra edilebilir.
MATLAB GUI CALISMASI
Matlab GUI nin çalışması belirli 3 temel özellik içerir.
GUI yüzeyi programda kullandıgınız bütün objelerin bulundugu kısımdır.Guı yüzeyi elemanların yerlestirildiği ve görsel temanın saglandıgı kısımda denilebilir.
GUI OBJELERİ
GUI objeleri programı olustururken kullandıgımız buton,slider,axes gibi herbirinin kendine ait bir islevi olan ve bu islevlere göre programcının olusturdugu program yapısında calısan elemanlardır.
İŞLEVLER
En önemli kısım olan islevler kısmı(CALLBACK) bir nesnenin ne yapması gerektiği belirtilen kısımdır.Gercekte eger m-function seklinde yazılan grafik tabanlı programlarda nesnelerin callback(islevleri) nin belirtilmesi gerekir fakat GUI penceresinde yapacagımız programlar için matlab GUI nesnelerin islevlerini otomatik olarak atamaktadır.Bu yüzden islevler GUI de daha kolay bir hal almaktadır.
GUI penceresinin acılması 2 sekilde gerceklesebilir.
1-Komut satırında guide
2-file > new > guı
yolu izlenerek. Bu islemlerden herhangi birini yaptıgınızda asagıdaki görüntüyü elde edeceksiniz. İkonlar ve pencere yüzeyindeki acıklamalar görülmektedir
GUI FİGÜR YÜZEYİ BOYUTLANDIRMA KULAKCIGI VE PİKSEL CETVELİ
Figür yüzeyi programcının programı oluŞtururken nesneleri yerlestirecegi alan olarak görülmektedir. Figür yüzeyinin boyutunu olusturulan programın ekranda kaplayacagı yeri düsünülerek veya figür üzerinde nesnelerin karmasından kacınılacak büyüklükte secilmesi önemlidir.Figür yüzeyinin boyutlanması farenin yüzey boyutlandırma kulakcıgının üzerine getirilmesi sonucu farenin sol tusuna basılı tutularak istenilen sekilde sürüklenmesi durumunda figür yüzeyinin boyutu ayarlanabilir.
Figur yüzeyinin boyutu ayarlandıktan sonra gereken ise figür yüzeyine yerlestirilen nesnelerin guı yüzeyinde istenilen konuma getirilmesi için gereken piksel seviyesinin seçimidir.
GUI penceresinde
Layout > Grid and Rules yolu izlenerek piksel cetveli için gereken ayarlmalar yapmak mümkündür. Asagıda piksel cetveli ayarları görülüyor.
Bu pencerede Grid Size yazan kısmda değisiklik yaparsanız figür yüzeyindeki birim sürükleme burada yazılan piksel degerine karsılık gelir.Bu degerin düsük tutulması nesneler arasında boslukların çok büyük olmamasını saglayacaktır. Bu yüzden bu degere yaklasık 20 degerini vermek uygun olacaktır. Ayrıca snap to grid kutucugunun isaretlenmesi yararlı olacaktır.
Nesne kutusunda bulunan nesneler ve isimleri yukarıdaki gibidir. Bu nesnelerden herhangi biri sürüklenip bırakılmak suretiyle figur penceresinde olusturulur .
MATLAB GUI HİZALAMA DÜĞMESİ
Obje hizalama dügmesi tıklandıgında asagıdaki pencere acılacaktır.
Bu pencere yardımıyla guı figür yüzeyi üzerinde bulunan nesnelerin yatay (horizantal) ve düşey (vertical) şeklinde hizalama (align) ve dağıtma (distribute) işlemleri gerçekleştirilebilmektedir.
MATLAB GUI MENÜ EDİTÖRÜ
Menu editörü grafiksel programa, programcının istediği içeriklere sahip bir menü veya sağ tuş menüsü tasarlamaya yarar.Programlar olusturulduktan sonra istenirse ekranın yazıcıdan çıktı alınması kaydetme dosya acma gibi islemler menüye eklenerek calıstırılabilir.
MATLAB GUI OBJE LİSTESİ
Bu tus ile guı yüzeyinde bulunan objelerin listesi alınabilir.
MATLAB GUI STANDART ARAC ÇUBUĞU
Guı arac cubugu standart içerikler yanında değisik içeriklerde saglamaktadır.
FİLE
New--------------yeni pencere ac
Open------------ dosya ac
Close------------ aktif fiğürü kapat
Save------------- aktif fiğürü kaydet
Save as----------aktif figürü farklı kaydet
Preferences-----tercihler(ayarlar)
Print-------------yazdır
Burada preferences penceresi acıldıgında asagıdaki görüntü alınır.
Buradan istenilen özellikler ayarlanabilir. Show names in component palette sekmesi işaretli ise nesnelerin alt alta sıralandıgı obje kutusu secilmis olur.
EDİT
Edit menüsü standart içerikler dısında Inspect properties secenegi ile obje özellikleri
penceresine ulasılır.
LAYOUT
Align objects-----------obje hizalama
Grid and rules----------piksel cetveli ve bölmelendirme
Snap to grid------------bölümlenmis alana oturtma
Menü editor-----------menü editörü
Bring to front---------objeyi en öne getirme
Send to back----------objeyi en arkaya gönderme
Bring forwad--------objeyi bir adım öne getirme
Send backward-------objeyi bir adım geri gönderme
TOOLS
Property inspector----obje özellikleri penceresi
Object browser-------obje listesi
Application options—uygulama özellikleri
Activate figure-------uygulama baslatma düğmesi
Tools menusunden application options(uygulama özellikleri) seçildiğinde Asagıdaki pencere açılacaktır.
Bu pencerede adı geçen
Resize behavior (boyutlandırma)
Non-resizable-------uygulama penceresinin boyutu kullanıcı tarafından değistirilemez
Proportional-------uygulama penceresinin boyutu kullanıcı tarafından orantılı değistirilir
User-specified---uygulama penceresinin boyutu istenilen şekilde değistirilir.
Command-line accessibility (komut satırı erisimi)
Off------------------------komut satırından guı figurine etkilesim engellenir
On-------------------------komut satırından guı figurune etkilesim saglanır
User-specified-----------obje özellikleri penceresinden etkilesime izin verir
Bu pencerede diger secenekler ise kod yıgınları ile ilgili konulardır ve varsayılan sekilde
kalmasında yarar vardır.
MATLAB GUI PROGRAMLAMA
Programlama yapılmadan önce kodlamada kullanacagımız en öncelikli komutları ve islevlerini sıralayacak olursak
Bu yazımda Matlab'ın Grafiksel Arayüzüne yani GUI 'ye değineceğim. Daha önceden video çekip bazı komutların anlatımını yapmıştım temel olması açısından. Bu yazımda daha detaylı bir şekilde Matlab GUI nin iç yapısını sekmeleri menüleri ve GUI'de en çok kullanılan komutları öğreneceğiz.
Aşağıdaki linklerden Matlab GUI ile ilgili diğer yazılarıma bakabilirsiniz.
Matlab GUI Tanıtımı ve Örnek Uygulama
MATLAB Kullanıcı Arayüzü (GUI) - 2
GİRİŞ
Günümüzde kullandıgımız programların hemen hemen tamamı grafiksel tabanlı programlar oldugundan dolayı matlab programıda yeni sürümlerinde ( 6 ve üstü) grafiksel arayüz ile programlamayı (GUI) kullanıcıya sunmustur.
GUI programların son kullanıcıya fare veya klavye ile ulasabilecekleri veriler sunmaktadır. Ayrıca matlab arayüz programları m-function ile olusturulabilse de bu kodları yazmak hem programcı tarafından zor hemde zaman kaybı olusturacagından GUI ile programlama göz önünde tutulmalıdır.
Önemli Not: Matlab arayüz programlarında matlabta kullanılan tüm komutlar kullanılabilir ve icra edilebilir.
MATLAB GUI CALISMASI
Matlab GUI nin çalışması belirli 3 temel özellik içerir.
- GUI yüzeyi
- GUI objeleri
- İşlevler.
GUI yüzeyi programda kullandıgınız bütün objelerin bulundugu kısımdır.Guı yüzeyi elemanların yerlestirildiği ve görsel temanın saglandıgı kısımda denilebilir.
GUI OBJELERİ
GUI objeleri programı olustururken kullandıgımız buton,slider,axes gibi herbirinin kendine ait bir islevi olan ve bu islevlere göre programcının olusturdugu program yapısında calısan elemanlardır.
İŞLEVLER
En önemli kısım olan islevler kısmı(CALLBACK) bir nesnenin ne yapması gerektiği belirtilen kısımdır.Gercekte eger m-function seklinde yazılan grafik tabanlı programlarda nesnelerin callback(islevleri) nin belirtilmesi gerekir fakat GUI penceresinde yapacagımız programlar için matlab GUI nesnelerin islevlerini otomatik olarak atamaktadır.Bu yüzden islevler GUI de daha kolay bir hal almaktadır.
GUI penceresinin acılması 2 sekilde gerceklesebilir.
1-Komut satırında guide
2-file > new > guı
yolu izlenerek. Bu islemlerden herhangi birini yaptıgınızda asagıdaki görüntüyü elde edeceksiniz. İkonlar ve pencere yüzeyindeki acıklamalar görülmektedir
GUI FİGÜR YÜZEYİ BOYUTLANDIRMA KULAKCIGI VE PİKSEL CETVELİ
Figür yüzeyi programcının programı oluŞtururken nesneleri yerlestirecegi alan olarak görülmektedir. Figür yüzeyinin boyutunu olusturulan programın ekranda kaplayacagı yeri düsünülerek veya figür üzerinde nesnelerin karmasından kacınılacak büyüklükte secilmesi önemlidir.Figür yüzeyinin boyutlanması farenin yüzey boyutlandırma kulakcıgının üzerine getirilmesi sonucu farenin sol tusuna basılı tutularak istenilen sekilde sürüklenmesi durumunda figür yüzeyinin boyutu ayarlanabilir.
Figur yüzeyinin boyutu ayarlandıktan sonra gereken ise figür yüzeyine yerlestirilen nesnelerin guı yüzeyinde istenilen konuma getirilmesi için gereken piksel seviyesinin seçimidir.
GUI penceresinde
Layout > Grid and Rules yolu izlenerek piksel cetveli için gereken ayarlmalar yapmak mümkündür. Asagıda piksel cetveli ayarları görülüyor.
Bu pencerede Grid Size yazan kısmda değisiklik yaparsanız figür yüzeyindeki birim sürükleme burada yazılan piksel degerine karsılık gelir.Bu degerin düsük tutulması nesneler arasında boslukların çok büyük olmamasını saglayacaktır. Bu yüzden bu degere yaklasık 20 degerini vermek uygun olacaktır. Ayrıca snap to grid kutucugunun isaretlenmesi yararlı olacaktır.
Nesne kutusunda bulunan nesneler ve isimleri yukarıdaki gibidir. Bu nesnelerden herhangi biri sürüklenip bırakılmak suretiyle figur penceresinde olusturulur .
MATLAB GUI HİZALAMA DÜĞMESİ
Obje hizalama dügmesi tıklandıgında asagıdaki pencere acılacaktır.
Bu pencere yardımıyla guı figür yüzeyi üzerinde bulunan nesnelerin yatay (horizantal) ve düşey (vertical) şeklinde hizalama (align) ve dağıtma (distribute) işlemleri gerçekleştirilebilmektedir.
MATLAB GUI MENÜ EDİTÖRÜ
Menu editörü grafiksel programa, programcının istediği içeriklere sahip bir menü veya sağ tuş menüsü tasarlamaya yarar.Programlar olusturulduktan sonra istenirse ekranın yazıcıdan çıktı alınması kaydetme dosya acma gibi islemler menüye eklenerek calıstırılabilir.
MATLAB GUI OBJE LİSTESİ
Bu tus ile guı yüzeyinde bulunan objelerin listesi alınabilir.
MATLAB GUI STANDART ARAC ÇUBUĞU
Guı arac cubugu standart içerikler yanında değisik içeriklerde saglamaktadır.
FİLE
New--------------yeni pencere ac
Open------------ dosya ac
Close------------ aktif fiğürü kapat
Save------------- aktif fiğürü kaydet
Save as----------aktif figürü farklı kaydet
Preferences-----tercihler(ayarlar)
Print-------------yazdır
Burada preferences penceresi acıldıgında asagıdaki görüntü alınır.
EDİT
Edit menüsü standart içerikler dısında Inspect properties secenegi ile obje özellikleri
penceresine ulasılır.
LAYOUT
Align objects-----------obje hizalama
Grid and rules----------piksel cetveli ve bölmelendirme
Snap to grid------------bölümlenmis alana oturtma
Menü editor-----------menü editörü
Bring to front---------objeyi en öne getirme
Send to back----------objeyi en arkaya gönderme
Bring forwad--------objeyi bir adım öne getirme
Send backward-------objeyi bir adım geri gönderme
TOOLS
Property inspector----obje özellikleri penceresi
Object browser-------obje listesi
Application options—uygulama özellikleri
Activate figure-------uygulama baslatma düğmesi
Tools menusunden application options(uygulama özellikleri) seçildiğinde Asagıdaki pencere açılacaktır.
Bu pencerede adı geçen
Resize behavior (boyutlandırma)
Non-resizable-------uygulama penceresinin boyutu kullanıcı tarafından değistirilemez
Proportional-------uygulama penceresinin boyutu kullanıcı tarafından orantılı değistirilir
User-specified---uygulama penceresinin boyutu istenilen şekilde değistirilir.
Command-line accessibility (komut satırı erisimi)
Off------------------------komut satırından guı figurine etkilesim engellenir
On-------------------------komut satırından guı figurune etkilesim saglanır
User-specified-----------obje özellikleri penceresinden etkilesime izin verir
Bu pencerede diger secenekler ise kod yıgınları ile ilgili konulardır ve varsayılan sekilde
kalmasında yarar vardır.
MATLAB GUI PROGRAMLAMA
Programlama yapılmadan önce kodlamada kullanacagımız en öncelikli komutları ve islevlerini sıralayacak olursak
Komut,Değişken Özellik | Açıklaması |
Gcbf | Çalışmakta olan gui figüründe |
Gcbo | Çalışmakta olan gui objesinde |
Persistent | Sabit deger komutu |
Global | Ortak değisken komutu |
Save | Dosya kaydetme komutu |
Load | Dosya yükleme komutu |
İsempty | İlk deger komutu |
Char | Karaktere dönüstürme |
Str2num | Sayıya dönüstürme |
Set | Atama komutu |
Get | Alma komutu |
Sprintf | Karakter dizisi yaratma |
Fprintf | Ekran cıktısı alma komutu |
Findobj | Objeyi buldurma komutu |
Tag | Obje etiketi |
Value | Obje degeri |
String | Obje adı |