問這個方程y=a-b*exp(c*x)的意義
- 教育綜合
- 2023-06-24 17:44:05
指數(shù)類型函數(shù)的逼近
數(shù)學(xué)上當(dāng)然不一定,例如我給你的x,y數(shù)據(jù)是在一條直線上的,能有這樣的指數(shù)函數(shù)么?對吧 你既然都叫fit了,就是逼近。其次一般方程都是過定的,因為只有3個參數(shù),你有7個點。 可以用nonlinear fit 先存?zhèn)€myfun.m function F = myfun(x) X=1:7; % 可以換成你的data Y=1-2*exp(3*X); % 可以換成你的data F=x(1)-x(2)*exp(x(3)*X)-Y; x0=[.95,1.1,3.2]; % 初始猜測表示a,b,c [x,resnorm] = lsqnonlin(@myfun,x0) 就會fit出來了,但是我試了幾次發(fā)現(xiàn)a的誤matlab的擬合問題
這種比較復(fù)雜的式子擬合之前先化簡一下比較好,至少可以兩邊取一下對數(shù),另外,這個式子里a,b兩個參數(shù)應(yīng)該合到一起,否則是擬合不出結(jié)果的。擬合函數(shù)y=a*exp(b*x)+c
function res = user_fit(x,y) % 功能:擬合y = a*exp(b*x)+c % 輸入:x,y 待擬合數(shù)據(jù) % 輸出:系數(shù) a,b,c f = @(a,x) a(1).*exp(a(2)*x) + a(3); % 擬合形式,數(shù)組a即代表[a,b,c] a0 = [1,1,1]; % 假設(shè)初始值 res = lsqcurvefit(f,a0,x,y); % 擬合結(jié)果保存在res=[a,b,c]MATLAB中想擬合一條曲線,求大神幫忙寫個程序y=a+b*exp(c*x).想擬合得出a.b.c三個參數(shù)
a = -4167; b = 4168; c = 0.0005339 ; 不過擬合的效果不是很好matlab非線性擬合問題
d. 非線性曲線擬合 利用MATLAB的內(nèi)建函數(shù) 函數(shù)名 描述 FMINBND 只解決單變量固定區(qū)域的最小值問題 FMINSEARCH 多變量無約束非線性最小化問題(Nelder-Mead 方法)。 下面給出一個小例子展示一下如何利用FMINSEARCH 1. 首先生成數(shù)據(jù) >> t=0:.1:10; >> t=t(:); >> Data=40*exp(-.5*t)+rand(size(t)); % 將數(shù)據(jù)加上隨機(jī)噪聲 2.寫一個m文件,以曲線參數(shù)作為輸入,以擬合誤差作為輸出 function sse=myfit(params,Input,Actural_Output) A=params(1)展開全文閱讀