Một người bạn của tôi phát hiện ra một số hành vi kỳ quặc trong gnuplot liên quan đến một sự đa thức đơn giản Có thể sombody giải thích điều này?Gnuplot hoạt động kỳ quặc trong sự đa thức phù hợp. Tại sao vậy?
Dưới đây là file:
#!/usr/bin/gnuplot -p
f(x) = B*(x**4) + A
fit f(x) "data.txt" using ($1+273.14):2 via A, B
plot "data.txt" using ($1+273.14):2 notitle,\
f(x) notitle
Dữ liệu là:
# content of data.txt
350 3.856
330 3.242
290 2.391
250 1.713
210 1.181
170 0.763
130 0.437
Cốt truyện kết quả là dòng màu xanh lá cây. Đường màu xanh cho thấy sự phù hợp tốt hơn nhiều bằng cách sử dụng một hàm khác về cơ bản cùng một dạng. Đối với dòng màu xanh lá cây A được thay thế bằng một giá trị không đổi (A = 0,2123 đó là khoảng B * 300^4)
Vì vậy, các đường màu xanh rõ ràng là không phù hợp nhất ở đây từ f(x) = B*(x**4) - 0.2123
mang betterresults xa và cũng có dạng B * x 4 + A. Màu xanh lá cây phù hợp với tham số ** A chỉ đơn giản là bị bỏ qua bởi gnuplot và vẫn không thay đổi bằng thuật toán phù hợp. Thiết lập các giá trị ban đầu khác nhau cho A và B dường như không giúp được gì nhiều - giá trị của A không bao giờ thay đổi cho giá trị inital của nó. Bạn tôi và tôi đang sử dụng phiên bản Gnuplot chuẩn đi kèm với Ubuntu: gnuplot 4.4 patchlevel 3.
Tanks rất nhiều. Là một nhà vật lý, tôi khá quen thuộc với việc lắp ghép nói chung. Tôi đã không nghĩ rằng gnuplot là xấu. Có một lý thuyết toán học khép kín cho phù hợp đa thức và hội tụ của chúng sẽ mang lại kết quả lý tưởng.Gnuplot shouln't có rắc rối với một đa thức đơn giản nhưng tôi hiểu rằng ít nhất vuông phù hợp với một giới hạn yếu về lỗi nên là nguyên nhân của vấn đề của tôi. Cảm ơn một lần nữa. –
@ con-f-sử dụng Yeah, bạn có thể làm tốt hơn với đa thức phù hợp, nhưng thói quen phù hợp trong gnuplot có nghĩa là để xử lý bất cứ điều gì, vì vậy tôi đoán (để đơn giản) họ không cố gắng tìm ra nếu bạn đang phù hợp một đa thức thay vì một số hàm phi tuyến tính. – mgilson
Có, chỉ cần nói rằng có lẽ họ nên ;-) –