bildirgec.org

matlab hakkında tüm yazılar

Matlab ile Figür Çizmek – Bölüm 1

mglass | 01 May 2011 11:29

Matlab Yazılımı , çok karmaşık algoritmaları hızlı ve kolay bir çekilde kodlama imkanının yanı sıra mükemmel bir vektörel grafik yeteneğine de sahiptir. CorelDraw gibi vektörel çizim programlarında çizip “.eps” olarak sakladığımız Grafik figürlerini Matlb’ta M-Dosyaları yardımıyla çizdirebiliyoruz fakat burada bilmemiz gereken Matlab figür komutlarının nasıl oluşturulduğudur. öncelikle sizlere M-Dosyası üzerinden Grafiklerin nasıl oluşturulacağını anlatacağım ve bir çizgi grafik örneği vereceğim.

Matlab ile Figür Çizimi
Matlab ile Figür Çizimi

Aşağıdaki Komutlara göz atın…

Matlab Çalışma Prensipleri, Matlab ile Çalışma

bluem | 02 March 2011 12:09

Matlab bana göre tam olarak bir programlama dili sayılmamakla birlikte hepimizin aşina olduğu Fortran ve C++ gibi programlama dillerine nazaran çok daha kısa kod ile istenilen işlemi yapmamıza olanak sağlamaktadır. Bu dilin çalışma prensiplerini aşağıdakilerle özetleyebiliriz.

Matlab Dili: Genel olarak C,C++,Fortran ve benzeri gibi bir programlama dilidir. Diğer programlama dillerinde olduğu gibi deyimler, fonksiyonlar, veriler, değişkenler, giriş çıkış (I/O) işlemleri ve nesne yönelimli programlama özelliklerini de barındıran bir dildir.

Matlab Nedir? Matlab ile Neler Yapılabilir?

admin | 12 January 2011 16:35

MATrix LABoratory kelimelerinin ilk hecelerinin birleştirilmesiyle adlandırılmış olan MATLAB, teknik hesaplama yöntemlerini çok basitleştirmesi nedeniyle çok yaygın olarak kullanılan bir programlama dilidir.

MATLAB matematiksel olarak ifade edebildiğimiz problemlerin çözümüne yönelik hesaplama, bir similasyon oluşturma aracılığıyla görüntüleme ve benzer problemlerin çözümünü hızlandırma amacıyla programlama işlemlerini birlikte sunan güçlü bir dildir.

MATLAB arayüz tasarlama-II (Görüntü işleme Araç kutusu)

admin | 28 July 2009 02:48

Bir önceki yazıda nispeten basit bir arayüz tasarımı üzerinde durmuştum. Bu yazımda, bir önceki yazıya gelen yorumları da dikkate alarak yeni bir arayüz tasarımı üzerinden MATLAB GUI ile ilgili aktarımlarıma devam edeceğim.
Bir önceki yazımda bahsettiğim gibi veritabanı uygulaması da yapacağız ancak Matlab yazılarının hedef kitlesini düşünerek görüntü işleme araç kutusu hakkında da bilgi vereceğim.
Öncelikle görüntü işleme araç kutusu hakkında biraz bilgi vererek başlayalım. Matlab aklınıza gelebilecek hemen hemen bütün formatları okuyabilir. imread fonksiyonu ile görüntü renk değerlerini bir matrise alabilirsiniz. Bildiğiniz gibi görüntü gri seviyeli (grayscale) ya da rgb olabilir. Grayscale görüntüler için elde görüntü seviyeleri iki boyutlu bir matrise atanacaktır. Diyelimki elinizde mxn lik bir görüntü var A = imread(‘cameraman.tiff’); dediğimizde, A matrisi mxn boyutlarında bir matris olacaktır. (1,1) lokasyonunda görüntünün renk seviyesi bulunacaktır. Grayscale ise 0 dan 255 kadar bir değer, RGB ise (1,1,1) lokasyonunda 0 dan 255 e kadar R (Red) değeri, (1,1,2) lokasyonunda 0 dan 255 e kadar G (Green) değeri, (1,1,3) lokasyonunda 0 dan 255 e kadar B (Blue) değeri bulunacaktır. Matlabı sadece görüntü formatını çevirmek için kullanacaksanız, yapacağınız tek şey A matrisini istediğiniz formatta yazdırmanız sağlayacak imwrite fonksiyonunu kullanmak olacaktır.

Matlab Grafik Arayüz oluşturma

halerg | 29 April 2009 11:30

Kullanıcı arayüzü, programın kullanıcısı tarafından daha etkili ve daha kolay kullanılmasını sağlar. Bir çok yazılımda “kullanıcı dostu arayüz”, “kullanımı kolay arayüz” ifadeleri programın artısı olarak belirtilir. MATLAB kullanıcılarının çoğunluğunu asıl iş alanı programcılık olmayan disiplinlerden insanlar oluşturur. Makine Mühendisliği, Elektrik Elektronik Mühendisliği, Havacılık ve Uzay Mühendisliği, Biyomedikal Mühendisliği gibi. MATLAB da yazılan fonksiyonların kolay kullanımı için arayüz tasarımı, bu disiplinlerden kişilere zaman zaman zor gelebilir. Bu yazının ilk kısmında bu kişilere MATLAB da kullanıcı arayüzü tasarımı ile ilgili temel bilgiler verilmeye çalışılacaktır. Devamında örnek tasarımlarla sık karşılaşılan sıkıntılara çözüm önerileri sunulacaktır. Bu yazı MATLAB 7.6.0 versiyonu kullanılarak hazırlanmıştır. Anlatımıma başlamadan önce bir noktanın altını çizmek istiyorum; bu yazı MATLAB GUI yardım dokümanı ya da MATLAB GUI nin bütün özelliklerinin anlatıldığı bir yazı değil, geliştirdiğiniz programlara kullanıcı arayüz yapmak istediğinizde kullanabileceğiniz temel konuları anlatacaktır.
MATLAB da Kullanıcı Arayüzü Nasıl Çalışır?
Kullanıcı arayüzü kullanıcısına üzerinde pushbutton, textbox, menu, listbox gibi kontrol birimlerinin bulunduğu bir ortam sağlar. Örneğin bir pushbutton a basıldığında daha önceden yazılmış bir fonksiyonun çalışması sağlanabilir, ya da veri tabanında sakladığınız verilerin arayüzü açtığınızda listbox ta görüntülenmesini sağlayabilirsiniz.
Anlatmaya başlarken, kullanıcı arayüzü tasarımını yapacağınız MATLAB GUI programını nasıl açacağınızdan bahsedeyim aşağıdaki şekildeki gibi GUI yi çalıştırabilirsiniz.

GUI-1
GUI-1

MATLAB Command Window da guide yazdığınızda da aynı şeyi yapmış olursunuz, size kalmış.
GUI çalıştığında aşağıdaki figürü göreceksiniz. Bu figürde iki tab vardır bunlardan biri MATLAB ın size sunduğu şablonlar ve boş GUI açabileceğiniz “Create New GUI” tabı, diğeri ise “Open existing GUI” tabıdır. Open Existing GUI tabını seçtiğinizde daha önceden hazırladığınız tüm GUI ler görüntülenir. (Current Directory ne olursa olsun hepsi!)

GUI-2
GUI-2

Boş bir GUI yaratarak herşeyi en baştan kendimiz yapmaya çalışalım, böylesi öğrenmek için daha iyi olacaktır diye düşünüyorum.
Ekranda aşağıdaki gibi bir kullanıcı arayüzü tasarlama penceresi gelecektir. Bu pencerenin sağ tarafında kullanıcı arayüzünde olmasını isteyeceğiniz bileşenler bulunmaktadır.

GUI-3
GUI-3

Yeri gelmişken bir kaç konuyu anlatmak istiyorum;
MATLAB GUI de temelde 3 prensip vardır. Bunlar, arayüzü oluşturacağınız figür, figür üzerine yerleştireceğiniz bileşenler (pushbutton, label, textbox vb.) ve en önemlisi “callbacks” dediğimiz kullanıcıdan gelen girdilere göre hangi işlevlerin yerine getirileceğinin belirlendiği fonksiyonlardır.
Şimdi basit bir kullanıcı arayüzü tasarlayarak bir önceki yazımda anlattığım fonksiyonlarla yazılmış bir fonksiyonu çağıralım. Bu fonksiyon kullanıcıdan aldığı frekans bilgisine göre yeni bir figürde sinus grafiği çizsin, işlem bittiğinde de bizim istediğimiz bir uyarıyı versin “çizdim” desin mesela. Bunun için bize neler gerekli öncelikle buna karar verelim; kullanıcının frekans bilgisini girebilmesi için “textbox”, bu textbox ın hangi işlev için kullanılacağını yazacağımız label için “static text”, kullanıcının çizdirme işlemini gerçekleştirecek programı çağırması için pushbutton a basması gerekli olsun, bunun içinde bir “pushbutton” koymalıyız. Çizim yapıldıktan sonra verilecek uyarı içinde yine static text koyabiliriz. Static text kullanıcının değiştiremesini istemdiğimiz kullanıcı arayüzünde bulunmasını istediğimiz yazılar için kullanılır. Yukarıda anlattıklarım çok basit gelebilir ancak bu şekilde başlamak inanın işleri çok ama çok kolaylaştırmaktadır. Arayüze koyacağınız bileşen sayısı arttıkça karmaşıklık artacağından bunlara önceden karar vererek isimlendirmeye dikkat ederseniz hem programınızın güncellenebilirliği kolay olur hem de kullanıcı arayüzünü çok daha çabuk hazırlayabilirsiniz.
Herhangi bir bileşeni figür üzerine koyabilmek için, fareyle o bileşenin simgesi üzerine tıkladıktan sonra figür üzerinde bileşeni yerleştireceğiniz yere tıklamanız yeterli olacaktır. Yerleştirdiğiniz bileşenlerin yerlerini istediğiniz zaman yine fareyi kullanarak değiştirebilirsiniz. Aşağıdaki figüre pushbutton, textbox ve static text i yerleştirdik.

MATLAB başlangıç seviyesi grafik çizdirme.

halerg | 24 April 2009 13:18

Şekil 1
Şekil 1

Matlab kullanırken bir kaç satırdan oluşan işlemler için (örneğin sadece bir fonksiyon grafiğini çizdirmek için) ya da kendi yazdığınız fonksiyonları çalıştırmak veya çalıştırdığınız programa veri girişi için Command Window komut penceresini (Şekil 1) kullanabilirsiniz. Burada en çok kullanacağınız komut help olacaktır. help komutu MATLAB içerisinde yer alan fonksiyonların kullanımı ile ilgili bilgi vermektedir. help help yazarsanız help hakkında yardım alırsınız. help for yazarsanız for döngüsü ile ilgili yardım alabilirsiniz. Tam olarak komut veya fonksiyon adını bilmediğiniz durumlarda lookfor komutunu kullanabilirsiniz. Örneğin help integral hiçbir sonuç vermezken lookfor integral, integral ile komutları gösterecektir fakat bu komutlar ile bilgi edinebilmek için yeniden help komut_adı yazmalısınız. Birden fazla kelimeden oluşan aramalarda ‘aranacak kelime’ (‘ ‘) kullanılmalıdır örneğin lookfor ‘differential equations’. Birkaç satırdan daha fazla satırla çözülebilecek yada daha sonra yeniden kullanmanızı gerektirecek problemleriniz için Medit kullanarak program yazabilirsiniz. Şekil 2 de yeni bir .m dosyasını nasıl açabileceğiniz gösterilmektedir.

Şekil 2: Yeni bir .m dosyası açılması
Şekil 2 Yeni bir .m dosyası açılması

Örnek Program:
t=0:0.0001:10;%time index
y1=sin(t*pi*2);%output 1
figure,plot(t,y1),xlabel(‘Time (s)’),title(‘Period = 1s’),ylabel(‘Output’);
y2=sin(t*pi*2/5);%output 2
figure,plot(t,y2),xlabel(‘Time (s)’),title(‘Period = 5s’),ylabel(‘Output’)
;
y3=sin(t*pi*2/10);%output 3
figure,plot(t,y3),xlabel(‘Time (s)’),title(‘Period = 10s’),ylabel(‘Output’);

Bu programı ornek1.m olarak kaydedelim komut penceresinde ornek1 yazdığınızda, program çıktısı aşağıdaki gibi olmaktadır.

Octave

myilmazx | 20 April 2008 12:37

Octave, açık kaynak kodlu matlab alternatifi bir programdır. Aklınıza gelen birçok matematiksel işlemin (İterasyon, sonlu elemanlar, en küçük kareler, toplama, çıkarma bölme, integral) üstesinden gelir. Matlab ile kıyaslandığında boyut olarak hız olarak önde olduğunu söyleyebiliriz. ancak eksiklikleri de yok değil tabii ki. örneğin; octave’da, simulink ihtiyaçlarını karşılayan bir bölüm yoktur. Yine de matlabın lisansının fiyatını göz önünde bulundurduğumuzda gayet hoş bir program.

Matlab nedir? ne işe yarar?

myilmazx | 20 April 2008 10:05

Öncelikle bilmeyenler için matlab‘ı tanıtmakta fayda var. Matlab, “matris laboratuvar”nın kısaltılmış halidir, çoğu kişinin sandığı gibi matematik lab’ı değildir. Adından da anlaşılacağı üzere matris formlar üzerinde çalışan bir yazılımdır. Bir programlama dili değildir. C tabanlı bir yazılımdır.

Özellikle mühendisler için çok kullanışlı hatta bilinmesi zaruri olan bir programdır. YAzılan scriptlerle ile problemlerde çok hızlı sonuça ulaştırır. Bir çok mühendislik problemi iterasyon ve sonucunda grafik gösterimi ister. Bu istekleri C, Fortan gibi dillerde yapmaya kalkarsanız yazacağınız scriptin uzunluğu matlabda yazacağınız scriptin uzunluğuna göre katbekat daha büyük olacak ve büyük vakit kaybına yol açacaktır.