MATLAB Kontor Egrileri

Lisans donemimizde kimi zaman lazim olmasina ragmen, excel kullanarak cizemedigimiz kontor egrilerinin nasil cizildiginden kisaca bahsedecegim bugun. MATLAB bir derya sizin de bildiginiz uzere. Nimetlerinden biri de bu guzelim grafikleri rahatlikla cizebilmesi. Adim adim yazayim;


Bir kontor egrisi cizebilmeniz icin en az 3 adet degiskene ihtiyaciniz var. Yani eksenler bazinda konusursak x, y ve z degerlerini  bilmelisiniz ki kontor egrinizi cizdirebilesiniz. Isin bana sorarsaniz en zor kismi da burasi. Noktalarinizi tanimlamak. Genelde (yanlis isler pesinde oldugumun farkindayim) bu tarz grafikler gerektiren datalar polar koordinatlar ile ifade ediliyor. Kartezyen olarak ifade edilmisse zaten isiniz rahat ama polar olarak ifade edilmisse onlari kartezyene cevirmenizi oneririm ben. Bunun nasil yapilacagini kisaca tarif edeyim. Aci ve uzunluk olarak ifade edilmis her deger bir polar koordinattir ve icerisinde x ve y eksenlerinin bilgisini barindirir. +x ekseninden baslayarak vektorunuzun oldugu dogru parcasina kadar bolgeden olculur aci. 

Simdi sekilde de goruldugu uzere aci ve uzunluk degerini bildigimiz zaman, uzunlugu acinin sinus ve kosinus degerleriyle carparak, sirasiyla, noktayi temsil eden y ve x degerlerini bulabiliriz. Bunu MATLAB ile pol2cart fonksiyonunu kullanarak yapabiliriz.

Yukarida bahsettigim islemi yaptiktan sonra her sey cocuk oyuncagi. Deneyden elde ettigimiz ya da bir formul ile hesapladigimiz degerlerimizi alt ve ust x-y degerlerimiz icin interpole edip, olcum ya da hesaplama yapmadigimiz noktalardaki z degerlerini kestirecegiz. MATLAB icin bunu yapan fonksiyon griddata. Verilen x, y, z, alt ve ust x-y limitleri ve interpolasyon metodunu girdiginizde size interpole edilmis z degerlerini veriyor. 

Eger yukaridaki islemi de hallettiysek. Simdi sira interpole edilmis degerleri grafige dokmekte. Bu islemi yapan fonksiyon da contour

Eger butun bu islemleri tamamladiysaniz karsinizda mukemmel bir grafik olmali. Yok olmadi diyorsaniz bir soz dizimlerinizi kontrol edin. Iste o syntax’lar.

[X,Y] = pol2cart(THETA,RHO)
[XI,YI] = meshgrid(-800:1:800)
zi=griddata(x,y,z,XI,YI,v4)
contour(XI,YI,zi,8)

theta = aci bilgilerini iceren matris
rho = uzunluk bilgilerini iceren
x = x matrisi
y = y matrisi
z = z matrisi
XI = meshgrid ile elde ettigimiz ve interpolasyonun alt ve ust limitlerini belirten x matrisi
YI = meshgrid ile elde ettigimiz ve interpolasyonun alt ve ust limitlerini belirten y matrisi
zi = x, y, z, XI, YI matrisleri ve v4 interpolasyon yontemi ile elde ettigimiz interpole edilmis z matrisi
contour fonksiyonunda sondaki 8, 8 adet egri istedigim icin. meshgrid fonksiyonundaki 800 ler alt ve ust sinirlar. Biri -800 sizin de gordugunuz uzere. Aradaki 1 ise, noktalarin 1 er 1 er atlayarak olusturulmasi. Cozunurluk bir nevi. Yani o meshgrid fonksiyonu size 1651×1651’lik bir matris vermeli bu durumda.

Hoscakalin. Adam gibi yazin raporlarinizi.