Posts

Showing posts with the label OCTAVE

Octave'da Üst Üste Bindirilmiş Grafik Nasıl Çizdirilir

Image
Amacım iki tane histogram grafiğini üst üste çizdirmekti. Bunun için şu kodu kullandım. hold on; [y1 x1]=hist(data(:,1), 100); [y2 x2]=hist(data(:,2), 100); h1=area(x1,y1,"facecolor",[0.0,0.0,0.0]); h2=area(x2,y2,"facecolor",[0.5,0.5,0.5]); set(h1,'edgecolor','none'); set(h2,'edgecolor','none'); hold off; title("Overlayed histograms for left and right laser sources after optimization"); xlabel("Distance (in mm)"); ylabel("Count(x10^3)"); axis([60,150]); data bilgisi programın önceki satırlarında oluşturulmuştu, konuyla ilgisi olmadığından eklemedim. Son olarak  http://sukruozan.blogspot.com.tr/2013/04/octave-grafik-eksenindeki-saylar.html  yazısındaki şekilde y eksenindeki sayıları istediğim şekilde düzenlemek için de aşağıdaki satırı çalıştırdım. set(gca(),'yticklabel',{'0','0.5','1','1.5','2', '2.5' }) Oluşan grafikte üst üste bine...

Octave'da Grafik Eksenindeki Sayları Değiştirmek

Bu yöntem Octave ortamında çalışmakta olmasına karşın Matlab ortamında da çok ufak tefek farklılıklarla ya da direk aynı şekilde çalışabilmektedir diye tahmin ediyorum. Diyelim ki bir grafik çizdirdiniz ve y ekseni 0 ile 4000 arasında 1000er 1000er artarak sırasıyla 0, 1000, 2000, 3000, 4000 değerlerini alıyor. Diyelim ki amaçladığımız şey y ekseninde 0 ile 4 arasında değişen 0,1,2,3,4 sayılarını görmek. Bu durumda standart grafik çizdirme komutlarının çalıştırılmasının ardından  set(gca(),'yticklabel',{'0','1','2', '3', '4' }) Komutunun çağırılması yeterli olacaktır.  Tahmin edileceği üzere aynı iş x ekseni için yapılmak istendiğinde 'yticklabel' yerine 'xticklabel' yazmak yeterli olacaktır.

MAC OSX’te Uygulamaları Terminalden Çağırmak

Son bir senedir linux işletim sistemli masaüstü bilgisayarımın yanısıra Apple ürünlerini kullanıyorum. Pişman değilim   Zira MAC OSX işletim sistemini linux’ta alışık olduğum şekilde kullanabiliyorum çoğunlukla. Linux’tan da alışkın olduğum ve kullanageldiğim birçok programın MAC OSX için de hazırlanmış paketlerini bulabiliyorum. Linux’ta genelde terminalden çalışan uygulamalar kullanıyorum. Bunlardan birisi Octave isimli MATLAB diliyle çok büyük oranda aynı olan bir matematik programı. Bu program standart olarak linuxta terminalden kullanılmakta. Aynı programın MAC OSX sürümünde ise uygulamayı normal bir yerel MAC OSX uygulaması gibi çalıştırmak hatta “Dock” a yerleştirmek de mümkün. Ancak uygulama yine alışık olduğu şekilde bir terminal penceresi açıyor ve onun üzerinde çalışıyor. Bu durumda halihazırda açık olan bir terminal içerisinden direk çalıştırılabilmesi için hiçbir engel olmaması gerekiyor mantıken. Ki yok da zaten. Aşağıdaki komutu çalıştırmak uygulamaları terminalden ...

Ubuntu'da Octave'a Yeni Paketlerin Kurulması

Octave'da yeni çıkan paketler ya da yükseltmeler repository'lerde bulunamayabiliyor. Bu sebepten paketlerin manuel olarak kurulması gerekiyor. Ubuntu'da bunun çok kolay olduğunu söyleyebilirim. Diyelim ki yeni paketimizin adı xxx.tar.gz olsun.  "sudo octave" yazarak öncelikle root olarak octave ı çalıştırıyoruz.  Daha sonra indirdiğimiz dosyanın bulunduğu klasöre cd liyoruz pkg install xxx.tar.gz yazarak ilgili paketimizi kuruyoruz. Bazen paket bağımlılıkları olabiliyor, bağımlılığın olduğu paketi de aynı şekilde yüklüyoruz. Benzer şekilde bir yükleme yaparken karşılaştığım bir problemden ve onu nasıl çözdüğümden de bahsedeyim. Benim sisteme octave-optim paketinin yeni versiyonunu kurmam gerekiyordu. Bu versiyonu kumaya çalışırken octave-miscellaneous paketi ile ilgili bir bağımlılık uyarısı aldım. İndirmem gereken dosyanın adı: octave-miscellaneous_1.0.9.orig.tar.gz idi. Bu paketi kurmak istediğimde; error: package name 'miscellaneous' doesn't corresp...

Octave'da Grafik Çizdirme

Octave'da grafik en temel olarak plot(...) fonksiyonu ile çizdirilir. Bu aşamada bahsetmek istediğim husus, grafik çizdirildikten sonra grafiği kaydetme ile ilgili. Diyelim ki aşağıdaki komutlarla 5 tane grafik çizdirdik; plot(x*180/pi,y1,"r-",x*180/pi,y2,"g-",x*180/pi,y3,"b-",x*180/pi,y4,"k-",x*180/pi,y5,"m-"); Şimdi bu grafiği komut satırından şu şekilde kaydedebiliyorum: print("grafik.png","-dpng"); Diyelim ki grafik istediğimiz boyutlarda değil. Onu da şu şekilde hallediyoruz: print("grafik.png","-dpng","-S1600,900"); Yazdığımızda grafiğimiz piksel olarak 1600x900 büyüklüğünde oluyor. Bir güzel özellik de grafiklerimizi .svg formatında kaydedebiliyoruz. Bu da bize daha interaktif bir grafik oluşturuyor. Onu da şu şekilde gerçekleştiriyoruz: print("grafik.svg","-dsvg"); Grafik svg formatında yaratıldıktan sonra istenilen eklemeler ve değişiklikler rahatça yapıl...

Octave Grafiklerinde Çizgi Kalınlığını Ayarlamak

Image
Aşağıdaki kod octave da iki farklı kalınlıkta çizgiye sahip iki basit grafik çizmektedir:      x = 1:10;      h = plot (x, x, x, fliplr(x))     set (h(1), "linewidth", 10)     set (h(2), "linewidth", 5)     legend ("wide line", "narrow line", "location", "south") Sonuç aşağıdaki şekilde görülmektedir:

Octave'da EPSTK ile Polar Grafik Çizimi

Image
Octave'da polar(..) fonksiyonu, polar kordinatlarda grafik çizdirmeye yaramaktadır. Ancak bu fonksiyon polar çizimlerde gridleri polar kordinat düzleminde gösterememektedir. Bunun için octave'ın epstk isimli toolkitini öneririm. Aşağıdaki örnek kodla siz de kendi polar grafiğinizi çizdirebilirsiniz: x=0:0.01:2*pi; y=sin(x).*cos(2*x).*sin(3*x); eopen('polarplot.eps') epolar(x,y); eclose eview Koddan da anlaşılacağı üzere grafik polarPlot.eps olarak kaydedilmektedir. eview komutu gv programı yüklü değilse hata vermektedir. Ancak yine de ilgili eps sorunsuz bir şekilde yaratılmaktadır.