data = get(z9).OutputData{1}; satırında aşağıdaki şekilde hata vermekteydi. Error: Functions cannot be indexed using {} or . indexing. Mealen fonksiyonların {} ve . ile indekslenemediğini söylüyor. Biz de adım adım yapalım işlemi: temp1=get(z9); data = temp1.OutputData{1}; Bu kadar.
Kategori Arşivleri: MATLAB
MATLAB
Matlab ile kombinasyondaki bütün olasılıkları nasıl listeleriz? Özellikle tam sayı tipi optimizasyon problemlerinin çözümü için tüm olası çözümleri görmek isteyebiliriz. Çok büyük boyutlu problemler için bu hesabın yapılması imkansıza yakın olduğundan metasezgisel algoritmalar kullanılmaktadır. Örneğin p-medyan problemi çözülürken elimizde 4 nokta var ve iki nokta merkez olabilecekse tüm olası çözümleri bulmak için aşağıdaki komut kullanılır:>>>
mex mlbsuite.c -DWINDOWS komutu ile mex derlemesi yapmak istediğimde: Error using mex No supported compiler or SDK was found. You can install the freely available MinGW-w64 C/C++ compiler; see Install MinGW-w64 Compiler. For more options, visit http://www.mathworks.com/support/compilers/R2016a/win64.html. hatasını aldım. Mathworks kullanıcım olmadığı için önerdiği derleyiciyi direk yükleyemedim. Çözümü: https://sourceforge.net/projects/tdm-gcc/ indirin. “C:\TDM-GCC-64” klasörüne kurun. Matlab içerisinde>>>
Matlab’ta iki tarih arasında kaç gün olduğunu nasıl buluruz? KacGunVar= daysact(‘1-Jan-2012′, ’31-dec-2017’) 2191 gün varmış 🙂 Peki niye lazım bu oldu bilgi. Bir proje için günleri sırayla yazdırmam gerekliydi, bunun sağlamasını nasıl yaparım derken bunu düşündüm. Artık yıl, her ay farklı gün sayıları bulunması nedeniyle aşağıdaki kodu yazarak ilgilendiğim tarih aralığına özel bir çözüm ürettim.>>>
Matlab’ta döngü parametreleri ile değişken ismi nasıl üretilir? Dinamik değişken ismi programlamanın en önemli unsurlarından birisi diye düşünüyorum. Matlab’da bazı değerleri istediğim değişken adlarıyla saklamak istediğim zaman dinamiklik sorun oluşturuyordu. Aşağıdaki kod imdadıma yetişti: for i=1:10 eval(sprintf(‘A%d = [1:i]’, i)); end Bu kod ile aşağıdaki değişlenler oluşturulur:
Matlab ile uniform random sayı nasıl üretilir? Rastgele sayı üretmeden önce aşağıdaki kodu çalıştırdığımız zaman uniform random sayı üretmiş oluruz. rand(‘state’, sum(100*clock))
Öklit uzaklığı nasıl hesaplanır? yazısında ilgili formülizasyonu bulabilirsiniz. a=[1 1 1 1 1 1 1 1 1 1]; b=[2 2 2 2 2 2 2 2 2 2]; 1.Yol: c=norm(a-b) 2.Yol: fark = a – b; d = sqrt(fark * fark’) 3.Yol: e = sqrt(sum((a – b) .^ 2)) 4.Yol: g=pdist2(a,b)
Matlab’ta double değişkeni tanımlı iken eps = 2^-52 değerine, single tanımlı iken 2^-23 değerine eşittir. Matlab eps değerinden daha hassas işlemleri yapamaz. Örneğin: x = 1; y = x + 3*eps/5; komutlarını çalıştırdığımızda: x=1 y=1.0000 değerlerini görürüz. x-y dediğimizde ise sonuç -2.2204e-16 çıkmaktadır. Aslında biz iki değeri de 1 olarak gördük. Peki x==y mi? diye>>>
Onluk sayı sistemindeki bir sayı ikilik sayı sistemindeki bir sayıya aşağıdaki şekilde çevrilir: 1.yol: onluksayi = 30; ikiliksayi = dec2bin(onluksayi); 2.yol: onluksayi = 30; i = 1; q = floor(onluksayi/2); % Sayı ikiye bölünür ve tam kısmı alınır r = rem(onluksayi, 2); % Sayı ikiye bölünür ve kalan bulunur ikiliksayi(i) = num2str(r(i)); % İlk parametre>>>
İkilik sayı sistemindeki bir sayı onluk sayı sistemindeki bir sayıya aağıdaki şekilde çevrilir: 1.yol: ikilisayi = ‘101010’; onluksayi = bin2dec(ikilisayi) 2.yol: ikilisayi = ‘101010’; onluksayi = 0; for i = 1 : length(ikilisayi) onluksayi = onluksayi + str2double(ikilisayi(i)) * 2^(length(ikilisayi) – i); end onluksayi 3.yol: ikilisayi = ‘101010’; onluksayi = 0; i = 1; while>>>