matlab中的指數曲線擬合問題,我有函式,他的格式是y exp x

時間 2021-08-11 18:14:12

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,...