6 – Matlab’da İstenen Değişkeni veya Tüm Değişkenleri Sıfırlama, Ekranı Temizleme

Matlab yazılarına, artık gittikçe büyümeye başlayan kodlar, uzayan komut ekranları ve tekrar kullanmayacağımız halde oluşturduğumuz değişkenleri nasıl daha sade hale getireceğimizi veya nasıl tamamen sileceğimizi öğrenerek devam ediyoruz. Bu yazı diğerlerine göre oldukça kısa olacak ancak fazlasıyla işe yarayan 2 komut göreceğiz.

İlk olarak, tanımlanmış bütün değişkenleri nasıl sileceğimizi öğrenelim. Öncelikle, bu işlem sonucunda veri kaybımız olabileceği için yapmadan önce elimizde daha sonra işimize yarayabilecek bir değişken olup olmadığını kontrol etmemiz faydamıza olur. Şimdi konuya geçelim. Tanımlanmış tüm değişkenleri silmek için clear adlı komuttan faydalanıyoruz. Komutun kullanımı için ekstra bir şey yazmamız gerekmiyor. Tabii ki bütün değişkenleri silmeyeceksek bir şeyler yazmamız gerekecek. Hemen bir örnek yapalım:

>> x = 1243.432

x =

   1.2434e+03

>> clear
>> x
Undefined function or variable 'x'.

Gördüğümüz üzere, x’i tanımladıktan sonra verdiğimiz clear komutunun ardından x’in tanımlanmış bir fonksiyon veya değişken olmadığını, dolayısıyla kullanılamadığını söylüyor.

Tüm değişkenleri silebildiğimize göre, önemli yerlerde daha çok işinize yarayacağına inandığım sadece istenilen değişkeni ya da değişkenleri nasıl sileceğimiz konusuna gelelim. Bu iş için yine clear komutunu kullanacağız. Ancak bu seferki kullanımımız şu şekilde olacak:

x1, x2, x3.. xn silinecek değişkenler(veya fonksiyonlar) olmak üzere:

clear x1 x2 x3 …. xn şeklinde istediklerimizi siliyoruz. Bir örnek üzerinde görelim:

>> x1 = 3

x1 =

     3

>> x2 = 4

x2 =

     4

>> x5 = 8

x5 =

     8

>> clear x1 x5
>> x1
Undefined function or variable 'x1'.

>> x5
Undefined function or variable 'x5'.

>> x2

x2 =

     4

Gördüğümüz üzere, x2 hala tanımlı ve değerini korurken, x1 ve x5 isimli değişkenler artık yok. clear komutuna değişkenleri verirken arada virgül kullanmadığımıza dikkat edin.

Clear komutuna başlamışken, help yazarak bulabileceğimiz bazı diğer kullanımları da kısaca belirtmekte fayda var. İleride işiniz düşerse rahatça bakabilmeniz için bulunsun:

clear VARIABLES => Tüm değişkenleri siler. clear komutunu tek başına yazdığımızda yapılan işlemle aynı işi yapar.

clear FUNCTIONS => Tanımladığımız tüm fonksiyonları siler.

clear GLOBAL => Tanımladığımız tüm global değişkenleri siler. Not: Global değişkenleri ileride göreceğiz, şu an takılmaya gerek yok, bulunsun diye ekledim.

clear ALL => Yukarıdakilerin hepsini yapar. Tüm değişkenleri fonksiyonları, global değişkenleri vs. siler.

NOT: clear komutuyla önceki yazıda söylediğimiz düzenli ifadeleri birlikte kullanabiliriz. Yani s ile başlayan i ile biten bütün değişkenleri tek seferde silebiliriz.

Örnek: x1,x2,x3,x4 ve y1,y2,elma,armut isimli değişkenler arasından x’li olanları silelim:

>> x1 = 3; x2 = 4; x3 = 543; x4 = 432432;
>> y1 = 432523; y2 = 432565; elma = 'meyve'; armut = 'baska meyve';
>> clear x*
>> who

Your variables are:

armut  elma   y1     y2

Şimdi ne yaptığımıza bakalım. Öncelikle değişkenlerimizi tanımladık. Daha sonra x ile başlayan değişkenleri silmesini clear x* ile istedik. Sonra da tanımlanmış değişkenlerimize bakmak için who komutunu kullandık. Not: sağ üstteki panelde de tanımlanmış değişkenler yer alıyor, oradan da kontrol edebilirsiniz.

Hazır düzenli ifadeler kullanacağımızı söylemişken, aynı işi onlarla yapalım:

>> x1 = 3; x2 = 4; x3 = 543; x4 = 432432;
>> % diğer değişkenler üstteki kodta tanımlanmıştı.
>> clear -regexp ^x\d$
>> who

Your variables are:

armut  elma   y1     y2

Gördüğünüz üzere yine aynı sonucu aldık. Şimdi de bu düzenli ifadede ne yaptığımızı anlatalım. İleride düzenli ifadeleri detaylı işlediğimizde bu ön pratikler oldukça hız kazandırır. -regexp ile düzenli ifadeleri kullanacağımızı söyledik. Daha sonra, x ile başlayan değişkenleri belirtmek için ^x ifadesini kullandık. Sayı olması gerektiğini belirtirken de yine help regexp ile görebileceğiniz listede bulunan \d ifadesini kullandık. Burada varsayılan olarak 1 tane sayı bulunan değişkeni sildi. Yani x21 değişkeni tanımlı olsaydı onu silmezdi. Onu silmek için şöyle bir şey yapabilirdik: \d{2} Yani, “digit olarak 2 tane ile takip edilen değişkenleri sil.” komutunu Matlab’a vermiş olurduk. Bu ifadeye dönecek olursak, en sonda da x1s gibi, sayıdan sonra başka bir elemanı olan değişkenin kazara silinmesini engellemek için $ işaretini koyduk. Böylece, değişkenin bir sayı ile bitmesi gerektiğini söyledik.

Düzenli ifadelerde kafanız karışırsa şu anlık dert etmeyin. Kendi konularına geldiğimizde detaylı olarak inceleyeceğiz. Yine de sormak isterseniz buradan elimden geldiğince yanıtlarım.

Şimdi diğer komutumuz olan clc‘yi inceleyelim. clc komutu bize o anki komut penceresini temizlememizi sağlar. Kullanımı da oldukça basittir. Örneği vermeden önce, bu iki komutun genelde bir sonraki derste göreceğimiz .m uzantılı dosyaların başına yazıldığını ve böylece program her denendiğinde eski değişkenlerin temizlenerek istenmeyen hataların önlenmeye çalışıldığını belirteyim. O dosyaların başına ne yazdığımız da örneğimiz olsun:

clear; clc;

Bu satırı komut ekranında da çalıştırabiliriz.

 

 
comments powered by Disqus