Rumah > Artikel > tutorial komputer > Gunakan kaedah kuasa dua terkecil untuk memuatkan fungsi kuasa y=a*x^b dan fungsi eksponen y=b*exp(a)
x=[0.34 0.35 0.36 0.37 0.38 0.39 0.40 0.41 0.42 0.43];
y=[0.211 0.313 0.466 0.692 1.03 1.532 2.190 3.250 4.823 7.158];
Muat yang pertama:
fungsi f = pertama(c, x, y)
f = y - c(1) .* x .^ c(2);
Simpan sebagai fail first.m.
Jalankan dari baris arahan:
c = lsqnonlin('first', [0 0], [], [], [], x, y);
a = c(1)
b = c(2)
Muat yang kedua:
fungsi f = pertama2(c, x, y)
f = y - c(2) .* exp(c(1) .* x);
Simpan sebagai fail first2.m.
Jalankan dari baris arahan:
c2 = lsqnonlin('first2', [0 0], [], [], [], x, y);
a2 = c2(1)
b2 = c2(2)
Gunakan fungsi polyfit (untuk pemasangan polinomial, kaedah kuasa dua terkecil digunakan)
Beri saya contoh
x=[90 91 92 93 94 95 96];
z=[70 122 144 152 174 196 202];
a=polyfit(x,z,1)
Hasil:
a =
1.0e+03 *
0.0205 -1.7551
1 mewakili polinomial darjah 1 (ia adalah garis lurus apabila darjah 1, terpakai untuk situasi anda)
a ialah vektor pekali polinomial, yang disusun daripada sebutan tertib tinggi kepada sebutan tertib rendah,
Jika anda ingin menggunakan keputusan, sebagai contoh, anda ingin tahu apa yang sama dengan z apabila x=97
Kemudian ada dua kaedah,
Gunakan pekali secara terus
>>a(1)*97+a(2)
ans =
233.4286
Atau gunakan fungsi polyval
>>polival(a,97)
ans =
233.4286
Kaedah kuasa dua terkecil ialah teknik pengoptimuman matematik yang mencari padanan fungsi terbaik untuk set data dengan meminimumkan jumlah ralat kuasa dua.
Kaedah kuasa dua terkecil ialah menggunakan kaedah paling mudah untuk mendapatkan beberapa nilai sebenar yang tidak dapat diketahui, sambil meminimumkan jumlah ralat kuasa dua.
Kaedah kuasa dua terkecil biasanya digunakan untuk pemasangan lengkung. Banyak masalah pengoptimuman lain juga boleh dinyatakan dalam bentuk kuasa dua terkecil dengan meminimumkan tenaga atau memaksimumkan entropi.
Sebagai contoh, mari kita mulakan dengan fungsi linear termudah y=kx+b
Diketahui bahawa terdapat beberapa titik (1.1, 2.0), (2.1, 3.2), (3, 4.0), (4, 6), (5.1, 6.0) pada paksi koordinat, dan ungkapan hubungan fungsi linear bagi imej yang melalui titik ini
Sudah tentu, garis lurus ini tidak boleh melalui setiap titik Kita hanya perlu meminimumkan jumlah kuasa dua jarak dari 5 titik ke garis lurus Ini memerlukan penggunaan kaedah kuasa dua terkecil on. Banyak yang perlu dibincangkan Memandangkan anda hanya bertanya tentang kaedah kuasa dua terkecil, saya hanya akan bercakap tentang ini.
Ini adalah sesuatu yang hanya dipelajari di kolej, dan biasanya digunakan untuk pemodelan.
Atas ialah kandungan terperinci Gunakan kaedah kuasa dua terkecil untuk memuatkan fungsi kuasa y=a*x^b dan fungsi eksponen y=b*exp(a). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!