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傅立葉曲線擬合,matlab擬合工具箱用傅立葉逼近對某條曲線擬合???
以下 在7.1版以上均可執行。將以下 儲存為m檔案 function yy zzz700createfit x,y,n xdata x ydata y set up fittype and options.ft fittype fourier num2str n opts fitoptions ft...
用matlab進行曲線擬合多項式擬合
文庫精選 內容來自使用者 beyond1215 matlab學習 多項式擬合 1 1 polyfit函式 matlab的polyfit函式用於多項式擬合,其語法為 p polyfit x,y,k 其中,x,y分別是橫縱座標向量,它們不僅元素個數相同,而且同為行向量或同為列向量。k為非負整數,是待擬合...
如何根據matlab擬合的曲線讀出影象中點的座標值
樓主的意思是 已知 上的一條曲線,如何獲取該曲線上點的座標 x,y 下面有段程式,是本人讀曲線座標所寫,看看對樓主是否有幫助 clcclear all im1 imread runx2.jpg 樓主在此替換成自己的 im rgb2gray im1 im im end 1 1,imshow im m,...