मेरे पास डेटा की एक सरणी है, जब प्लॉट किया गया है, ऐसा लगता है।MATLAB वक्र-फिटिंग, घातीय बनाम रैखिक
मैं polyfit
आदेश का उपयोग करने के लिए मोटे तौर पर 1.7
और 2.3
के बीच समय के लिए सबसे अच्छा फिटिंग घातीय निर्धारित करने के लिए की जरूरत है। मुझे इस घातीय की तुलना एक साधारण रैखिक फिट से भी तुलना करनी चाहिए।
मैं समीकरण Temp(t) = Temp0 * exp(-(t-t0)/tau)
, जहां t0
समय तापमान Temp0
करने के लिए इसी है दी कर रहा हूँ (मैं जहाँ मेरे वक्र फिटिंग शुरू करने के लिए चुन सकते हैं, लेकिन यह मोटे तौर पर 1.7 और 2.3 के बीच के क्षेत्र तक ही सीमित होना चाहिए)। मेरा प्रयास यहाँ है।
% Arbitrarily defined starting point
t0 = 1.71;
%Exponential fit
p = polyfit(time, log(Temp), 1)
tau = -1./p(1)
Temp0 = exp(p(2))
tm = 1.8:0.01:2.3;
Temp_t = Temp0*exp(-(tm)/tau);
plot(time, Temp, tm, Temp_t)
figure(2)
%Linear fit
p2 = polyfit(time, Temp, 1);
Temp_p = p2(1)*tm + p2(2);
plot(time, Temp, tm, Temp_p)
मेरा घातीय फिट जैसा दिखता है। मेरा रैखिक फिट जैसा दिखता है। (आभासी समरूप)। मैं गलत तरीके से क्या कर रहा हूँ? क्या दो फिट इतने समान हो सकते हैं? मुझे बताया गया है कि circshift
मदद कर सकता है, लेकिन सहायता फ़ाइल पढ़ने के बाद मैं आदेश की प्रयोज्यता को समझ नहीं पाया।
@ एमोरो से लिंक द मैथवर्क्स द्वारा तोड़ दिया गया प्रतीत होता है। अद्यतन संस्करण [यहां] है (http://www.mathworks.com/help/stats/examples/curve-fitting-and-distribution-fitting.html)। – horchler
धन्यवाद @horchler, उदाहरण के लिए मैंने अपडेट किया गया उदाहरण अपडेट किया गया है: [लाइनरिटी में परिवर्तन करके फिटिंग नॉनलाइनर मॉडल में समस्याएं] (http://www.mathworks.com/help/stats/examples/pitfalls-in- फिटिंग-नॉनलाइनर-मॉडल-बाय-ट्रांसफॉर्मिंग-टू-लाइनरिटी.html) – Amro