• basit, kullanışlı ve işlevsel teriminin karşılığı..
    -genetik algoritma ile asansör optimizasyonu projesinde kullandım. grafik kütüphanesiyle felan gayet güzeldi.
    -yüz tanıma sisteminde kullandım 150bin kayıttan banamısın demedi..
  • iş dünyasinda fazla kullanilmaz çok pahalidir lisansi olmasa da olur.
  • matlab'da kapalı formda * iteratif çalışıyorsanız ve yine matlab'da oluşturduğunuz bir fonksiyonla bir .bat uzantılı dosya aracılığıyla başka bir programı (c, c++, python, etc.) her iterasyonda tekrar çalıştırmak için kullanıyorsanız aşağıdaki gibi işlem adımları-işlemler gerekir:

    'decomposition' --> fonksiyon adı
    'x' --> fonksiyona giren değer
    'value' --> fonksiyondan üretilen/dönen çıktı değeri
    'decomexecute' --> .bat uzantılı dosyanın ismi
    'd:\projectopt\decomexecute.bat' --> decomexecute.bat isimli dosyanın yolu
    'dec.exe' --> decomexecute.bat dosyasının içeriği (yani dec.c gibi bir uzantı verirseniz, her iterasyonda aynı/sabit değeri döndürür.) uzantıyı .exe vererek her iterasyonda/her çalıştırıldığında giriş değerine göre farklı sonuç döndürür.

    --------------------main matlab code--------------------------------------------
    ...
    value = decomposition(x);
    ...
    --------------------main matlab code--------------------------------------------

    ----------------------decomposition function code------------------------------
    function [value] = decomposition
    system('d:\projectopt\decomexecute.bat');
    ...
    value=...
    ----------------------decomposition function code------------------------------

    ----------------------decomexecute.bat file--------------------------------------
    dec.exe
    ----------------------decomexecute.bat file--------------------------------------
  • matlab'da ana kod bloğunuzun cpu time'ını * ölçmek istiyorsanız örneğin;

    --------------------main matlab code--------------------------------------------
    tic;
    initime = cputime;
    time1 = clock;

    ...

    fintime = cputime;
    elapsed = toc;
    time2 = clock;
    fprintf('tıc toc: %g\n', elapsed);
    fprintf('cputıme: %g\n', fintime - initime);
    fprintf('clock: %g\n', etime(time2, time1));
    --------------------main matlab code--------------------------------------------
  • pek çok mühendisin düşündüğünün aksine açılımı mathematics-laboratory değil, matrix-laboratory olan gelişmiş(!) bir hesap makinesidir. test, simulasyon ve modelleme amaçlı kullanılır. özellikle sinyal işleme, makine öğrenmesi, robotik ve kontrol alanlarında çalışanlar için birincil program görevindedir. eğer bu programı bilmiyorsanız yalnızca çok fonksiyonlu bir hesap makinesi gibi kullanırsınız, birkaç diferansiyel denklem çözdürür ortamlarda "aaağğbi matlabda bir coşturuyorum görmen lazım" dersiniz. eğer biraz biraz anladıysanız ve hele ki simulink'te simmechanics (şimdilerde adını değiştirip robotics system toolbox yaptılar), control toolbox, dsp system toolbox, computer system toolbox kullanmaya başlarsanız en sevdiğiniz bilgisayar oyunlarını bile kenara attıracak büyüleyiciliklerle karşılaşacağınıza sizi temin ederim.

    2019 sürümü yeni çıktı, muncıklamak için can atıyor da olsam henüz bitirmem gereken bir kodum var. sürüm farkından yine kullandığım bir fonksiyona "bu fonksiyon eski sürüm" uyarısı verecek, boş yere gıcık ettirecek diye şimdilik erteliyorum. velhasıl severiz kendilerini.

    bir de dark-theme yaptım arayüzü. üfff fıstık gibi oldu güzel kızım. her ide'sini dark theme seçen hatta youtube'u bile dark olan birisi olarak bunca zaman niçin akıl edemediğime üzülüyorum doğrusu.

    edit: hadi motor yapalım'ın düzeltmesiyle aslında simmechanics'in adını robotic system toolbox yapmamışlar. simscape multibody kütüphanesi rst'a göre simmechanics ile daha fazla ortak blok bulunduruyormuş. ben o kütüphaneyi henüz kullanmaya ihtiyaç duymadığımdan dikkat etmemişim. kendisine teşekkür ediyorum :)
  • saniyeler icinde normal programlarin yaptiklarini halledebilen, zaman-ogrenme egrisinin azalan ivmeye sahip oldugunu dusundugum program. bunlarin adam gibi online dersi cok az, ekonometriye adanmis programlari ise tamamen ucretli. *
    koca bir derya resmen matlab, muhendisliginden tut matematigine, ekonomide dsgelerden markovlardan tut zaman serilerine dek yolu var. yolumuz uzun kendisiyle.
    hazır bir kodda, ortaya cikan grafiklerin rengini colormap(xx) ile degistirememiş biri ve tum google dunyasini taramis ve kodu iceriden modifiye etmis biri olarak baska turlu default color nasil degistirilebilir bilen cikar mi acaba diye de merak ettigim yazilim ayni zamanda.

    edit: yardim icin ulasanlara tesekkurler.
  • bilindiği üzere "yapay zeka" çalışmaları artık günümüze her alanda kendine yer buluyor. bunlardan bir tanesi de "tahminleme" çalışmaları. özellikle sürekli veri tutan sektörlerde "veri" nin ileriye dönük nasıl evrilebileceği hususunda fikir kestirimi yapmak amacıyla, test edilen modeller üzerinden "tahminleme" çalışmaları yapılır ve aksiyon alınmaya çalışılır.

    özellikle mühendislik uygulamalarından olan "matlab" bu hususta hem kullanım kolaylığı hem de kod listesinde istediğiniz değişiklikleri yapma esnekliği tanıması sebebiyle bir tık daha öne çıkıyor.

    peki bunu matlab' de nasıl yapıyorsunuz?
    dinamik zaman serileri' nde çalışmanız gerekiyor. çünkü sizin zamana bağlı değişen verileriniz var ileriye dönük bir zaman serisi oluşturmaya çalışıyorsunuz.

    öncelikle "yapay sinir ağı modeli" nizi oluşturuyorsunuz. bunu oluşturur iken "gizli nöron sayısı- katman sayısı" gibi parametreleriniz var. bu parametreleri çalışmanızın amacı ve verilerinizin niteliğine göre seçiyorsunuz. bir yapay sinir ağında şayet hiç gizli katman bulunmuyorsa bunun anlamı doğrusal fonksiyonlar üzerinden ayırım veya karar verme yapılabildiğidir. yani basitçe girişlerin bir kısmı çıkışlara direk bağlıdır ve bu durumda hangi girişin hangi çıkışa bağlı olduğuna göre bir sonuca varılır.

    yapay sinir ağımızda tek katman bulunması durumu genelde problemlerin büyük çoğunda karşılaşılan bir durumdur ve kısaca giriş ve çıkış arasında sonlu bir kümeden yine sonlu bir kümeye bağlantı bulunması durumunda kullanılır.

    yapay sinir ağlarında bir katmandan fazla katmanın (2 veya daha fazla) kullanılması durumu çok sık rastlanan bir durum değildir. genelde kesin sonuç beklenmeyen ama bir değere yaklaşması istenen problemlerde kullanılan 2 katmanlı çözümler, katman sayısı arttıkça karmaşıklaşmakta ve hem tasarımı hem de analizi zorlaşmaktadır.

    ayrıca ağınızın "öğrenme- performans vb." fonksiyonlarını da belirlemeniz gerekiyor. burada "dinamik zaman serileri" açısından "lavenberg- mequardt" fonksiyonunun yaygın kullanıldığını söyleyebiliriz. performans fonksiyonun ise "minimum square errors" seçiliyor :)..

    model parametrelerinizi belirledikten sonra artık iş ağınızın verilerini tanıtmaya geliyor. "ınput- girdi" verileriniz ve "target- hedef" verilerinizden bahsediyorum. ağa hedef ve girdi verilerini tanıttıktan sonra iş artık "ağın öğrenme parametrelerine" geliyor.

    ağın öğrenmesi için veriyi 3' e ayırıyorsunuz. bu 3 parça "training- validation- test" olarak isimlendiriliyor. training kısmında, ağı olabildiğince çok veri ile eğitmeye başlıyorsunuz. daha sonra öğrenen ağ verileri ile "validation" kısmında ağ genellemeleri ölçülüyor ve en iyi gerçekleşme anında ağın otomatik olarak durdurulması sağlanıyor. daha sonra ağ öğrendiklerini kalan veri ile test ediyor ve test performansı ortaya çıkartıyor. bu aşamayı verilerinizi parça parça ayırarak yapabiliyorsunuz. yani %70 training, 15- 15 validation test olarak.. bunlarla istediğiniz gibi oynayabilirsiniz. ama ağı iyi eğitmek için çok veri her daim daha iyidir. %60 dan aşağıda veri ile çok fazla training yapmamak lazım.

    daha sonra ise artık model hazır, modelin hangi veriyi nerede kullanacağı hazır.. artık "eğitim" başlayabilir. eğitim' de "r" ne kadar düşük çıkar ise modeliniz performans açısından o kadar başarılı oluyor. tek sıkıntı burada ağın "ezber" yapıyor olmamasına dikkat etmeniz lazım. zaten çıkan sonuçlar ve eğrilerden bunu çok rahat anlayabiliyorsunuz.

    daha sonra "ağ sonuçları" ile sizin verilerinizi bir grafik halinde çizmenizi öneririm. daha sonra ise eğer ağınızdan eminseniz. veriyi parçalayın, diyelim veriniz 20 yıllık ve siz gelecek 5 yılın tahminlemesini yapmaya çalışıyorsunuz (belli şartların tabi değişmeyeceğini varsayarak, yada değiştireceğiniz alan varsa onları halledin) tahminlemeyi elinizdeki verilerle test edin ve ağınızın güvenilirliğini ölçün..

    daha sonra ise tahminlemenizi yapın..

    bu kadar kısa anca böyle anlatılıyor ama bu iş tabi biraz vakit ve öğrenme isteği istiyor.. bu tür konulara eğilin arkadaşlar..
  • lineer cebir işlemleri yapmanızı gerektiren her türlü alanda çok güçlü fakat bir türlü sevemediğim programlama dili/ortamı.
  • neural network kısmını başarılı bulduğum uber program.
  • mühendisler (özellikle elektrik elektronik) için hayatı kolaylaştıran yazılım programı. paralı olması handikap, fakat işinizi kolaylıkla yapmanızı sağlayacaktır. bedava olsun yine işimi görsün diyorsanız, bkz python numpy modülü, matlabta yapabileceğiniz herşeyi yapabilirsiniz fakat daha fazla zaman alır.

    birçok üniversitenin öğrencisine bedava sunduğu yazılım programı. matlab ın mat’ı matrix ten geliyor. bu program matrix işlemlerini hızlı bir şekilde yapmak için optimize edilmiş, hayat kurtarıcı birşeydir. yine de çok pahalı olması bu programın handikapıdır.

    tanım: matrix laboratuvarı.
hesabın var mı? giriş yap