1樓:華工大學生
樓上的分析很好,不過他先入為主了.就是說先給定了a值,然後來按擬合,確實是截距為0的,但實際資料卻不是這麼好.就按他給的例子,我分析並寫了下面的**,你執行一下就有更深的體會:
a=0.3145;
x=-0.3:0.01:3;
y=exp(-x/a);
plot(x,y)
ly=log(y);
lx=x+rand(size(x))/100;%注意這一步,是為了讓你的x量發生生變化!
aa=-lx/ly;%這個就是你要求的aa,看可以發現它與a很接近!
hold on
plot(lx,exp(-lx/aa),'r');%畫出圖對比可以發現很接近!
norm(y-exp(-lx/aa));%這個是計算誤差,可以發現它很小!
總之,aa=-x/log(y);x和y都是你的實際資料.
****************************************=
是你沒有理解我們的意思了.
樓上說得好,補充得好!
你只要執行:
aa=-x/log(y);
就得到你要的a了.
我估計你沒有看懂我的回答.
2樓:鹿雪賞天空
fun=@(a,x)
1./((exp(a(1)+a(2)*x)+16^(-1)));
fita=nlinfit(x,y,fun,[01]);
輸入的x,y是你要擬合的資料的自變數和因變數[01]是給擬合引數a(1)
a(2)的初值,
如果能夠給出比較接近結果的初值,擬合收斂比較快如果初值離實際結果的值很遠,有可能使得擬合不收斂,得不到結果得到的fita(1)和fita(2)就是a(1)a(2)兩個引數
用matlab進行曲線擬合多項式擬合
文庫精選 內容來自使用者 beyond1215 matlab學習 多項式擬合 1 1 polyfit函式 matlab的polyfit函式用於多項式擬合,其語法為 p polyfit x,y,k 其中,x,y分別是橫縱座標向量,它們不僅元素個數相同,而且同為行向量或同為列向量。k為非負整數,是待擬合...
細菌生長用origins的什麼曲線擬合
用改良肉湯5,50,750ml連續繼代培養雞大腸桿苗074,0107和078三個血清型菌株。在最終使用的肉湯預熱至37 條件下,測定各菌株不同培養時間的菌落形成單位,以菌數的對數作縱座標,培養時間作橫座標,繪製出各菌株的生長曲線。在本試驗條件下,3個血清型菌株具有相似的生長模式,均可劃分為3個時期,...
如何根據matlab擬合的曲線讀出影象中點的座標值
樓主的意思是 已知 上的一條曲線,如何獲取該曲線上點的座標 x,y 下面有段程式,是本人讀曲線座標所寫,看看對樓主是否有幫助 clcclear all im1 imread runx2.jpg 樓主在此替換成自己的 im rgb2gray im1 im im end 1 1,imshow im m,...