MATLAB ile veri setine karşılık gelen fonksiyon bulma (curve fitting)

taydin

Timur Aydın
Staff member
Katılım
24 Şubat 2018
Mesajlar
22,395
Şöyle bir veri seti verildi ve bir tablo indeksini kullanarak ilgili verinin okunması ve bu okunan verinin de kullanılması istendi. Ama tabloda sadece 200 tane veri var, ara değerler için interpolasyon yapmam gerekecek. Eğri logaritmik bir doğaya sahip ve özellikle küçük endekslerde verilerin arasındaki mesafe fazla, yüksek bir hata oranına sebebiyet veriyor.

215,
189,
174,
163,
155,
148,
142,
137,
132,
128,
125,
122,
119,
116,
113,
111,
109,
106,
104,
102,
101,
99,
97,
96,
94,
93,
91,
90,
88,
87,
86,
85,
84,
82,
81,
80,
79,
78,
77,
76,
75,
75,
74,
73,
72,
71,
70,
70,
69,
68,
67,
67,
66,
65,
64,
64,
63,
62,
62,
61,
61,
60,
59,
59,
58,
58,
57,
56,
56,
55,
55,
54,
54,
53,
53,
52,
52,
51,
51,
50,
50,
49,
49,
49,
48,
48,
47,
47,
46,
46,
46,
45,
45,
44,
44,
43,
43,
43,
42,
42,
42,
41,
41,
40,
40,
40,
39,
39,
39,
38,
38,
38,
37,
37,
37,
36,
36,
36,
35,
35,
35,
34,
34,
34,
34,
33,
33,
33,
32,
32,
32,
32,
31,
31,
31,
30,
30,
30,
30,
29,
29,
29,
29,
28,
28,
28,
27,
27,
27,
27,
26,
26,
26,
26,
25,
25,
25,
25,
25,
24,
24,
24,
24,
23,
23,
23,
23,
22,
22,
22,
22,
22,
21,
21,
21,
21,
21,
20,
20,
20,
20,
19,
19,
19,
19,
19,
18,
18,
18,
18,
18,
17,
17,
17,
17,
17,
16,
16,
16,
16,
16,
 
Önce verileri MATLAB'e aktardım ve grafiğini çizdirdim. Eğri eksponansiyel karaktere sahip.

1718268454938.png
 
Sonrasında MATLAB'in curve fitting özelliğini açtım ve veri setini yükledim. Varsayılan olarak önce birinci dereceden bir polinom uydurmaya çalıştı. Bunun eksponansiyel veya logaritmik bir eğri olduğunu az çok tahmin edebiliyoruz, ama değişik polinom derecelerinde deneyelim.

1718268624889.png


Dördüncü derece polinom

1718268749021.png
 
İki terimli eksponansiyel fonksiyon

1718268814976.png
 
Demekki bu veri seti, aşağıdaki fonksiyona karşılık geliyor

[math]f(x) = -86.5711 \times log(x) + 215.0828[/math]
Veri seti yerine doğrudan fonksiyonu kullandım ve çok düşük hata oranı ile sonuca gitmiş oldum.
 
Güzelmiş. Matlab yerine başka nerede yapılabilir diye bakarken Libreoffice Calc (Excel'de de varmış) de kullanılabilirmiş.

İlk mesajdaki veri setini A sütununa kopyaladım. Menüden Insert-Chart'a tıklayınca açılan ekrandan Chart type: Line-Line only seçtim.

Grafik üzerinde verilerin olduğu yere (data series column A yazıyor üzerinde bekleyince) sağ tıklayıp "Insert Trendline"ı seçtim. Yine bir ekran açılacak, oradan "Logarithmic" seçip "Show Equation"ı işaretledim.

Yalnız bir saçmalık var, çıkan formülü kopyalıp foruma koyayım dedim, kopyalayamadım (text kısmından bahsediyorum). Bunun için yine formülü kopyaladıktan sonra Libreoffice Draw'u açıp herhangi bir yere yapıştırıyoruz. Sağ tıklayıp "Break" dedikten sonra text kısmını alabildim: https://superuser.com/questions/175...he-plain-text-of-equation-in-libreoffice-calc

f(x) = − 37,5973590951671 ln(x) + 215,082752556851

1718274025943.png
 
Demekki bu veri seti, aşağıdaki fonksiyona karşılık geliyor

[math]f(x) = -86.5711 \times log(x) + 215.0828[/math]
Veri seti yerine doğrudan fonksiyonu kullandım ve çok düşük hata oranı ile sonuca gitmiş oldum.
Her türlü veri setine uygulanabiliyorsa artık bilim adamı oluruz. :)
Bilim adamı demek deney sonuçlarına uygun fonksiyon yazabilecek matematik bilgisine sahip kişi demek.
 
Deney sonuclarina uygun fonksiyon yazmak degil amac. Onu exel vs de yapiyor.

Dediginin tersi olmali.

Bilimadami matematiksel modeli olusturur sonra deneyi yapar deney sonuclarina bakarak modelin dogrulugunu ispatlar.
 
  • Beğen
Reactions: clc
Deney sonuclarina uygun fonksiyon yazmak degil amac. Onu exel vs de yapiyor.

Dediginin tersi olmali.

Bilimadami matematiksel modeli olusturur sonra deneyi yapar deney sonuclarina bakarak modelin dogrulugunu ispatlar.
Ben katılmıyorum.

Öyle olsaydı fiziksel sabitler deney yapmadan bulunurdu. :)
 
aslında çoğu fiziksel sabitler eldeki veriler ile mantık yürüterek ve hesaplayarak bulundu ve çok daha sonra deneylerle ispatlandı. örneğin ışık hızı.
 
Fiziksel sabitler adi ustunde o fiziksel dunyaya ait sabitler. Mesela mu, epsilon, Isik hizi bunlari nasil formulize edeceksin ki?

Gerci bu 3 luden ikisini bilsen ucuncuyu mevcut bilgilerle elde edersin ama bunlar evrenin sabitleri. Ama ilk basta 3 unu de mecburen deney yapip ogreneceksin.
 

Forum istatistikleri

Konular
6,178
Mesajlar
105,422
Üyeler
2,567
Son üye
GaziBey

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top