A. 用最小二乘法在MATLAB中擬合曲線
^你好!
既然y=ax^b
那麼ln(y)=bln(x)+lna;
下面是我的代碼:
clc;clear all
x=[66.52 28.08 37.61 26.68 56.52 22.71 113.163 34.33 48.48 56.18 78.23 43.7 16.75 151.02];
y=[15.03 35.67 27.06 41.3 17.59 47.79 9.64 32.03 24.21 20.31 13.23 25.38 64.17 7.49];
x1=log(x);
y1=log(y);
p=polyfit(x1,y1,1);
b=p(1);
a=exp(p(2));
fprintf('a=%f ',a);fprintf('b=%f ',b);
hold on
plot(x,a*(x.^b),'*')
plot(x,y,'r.')
legend('擬合後的點','擬合前的點')
最後算出來的結果是:
a=1036.841810
b=-0.990830
圖片:
B. 怎樣利用基於最小二乘原理的 matlab 多項式擬合工具箱求出放電曲線方程系數
怎樣利用基於最小二乘原理的 matlab 多項式擬合工具箱求出放電曲線方程系數
曲線擬合回
已知離散點上的答數據集,即已知在點集上的函數值,構造一個解析函數(其圖形為一曲線)使在原離散點上盡可能接近給定的值,這一過程稱為曲線擬合。最常用的曲線擬合方法是最小二乘法,該方法是尋找函數使得最小。
C. Matlab最小二乘法曲線擬合
面對一組數據x,y,用線性最小二乘法作曲線擬合,在不知道x,y之間的關系時,通常將專數據屬x,y作散點圖,進行直觀判斷應該用什麼曲線去作擬合。常用的擬合曲線有:
(1)直線 (2)多項式 一般階數2,3 不宜太高 (3)雙曲線 (4)指數曲線
註:已知一組數據,用什麼樣的曲線擬合最好,可以在直觀判斷的基礎上,選取幾種曲線分別擬合,然後比較,看哪條曲線的最小二乘指標J最小即可。
D. 用Matlab做最小二乘法曲線擬合並預測10,11,12的值,,急!!!!
clear
x=[1,2,3,4,5,6,7,8,9];
y=[173507,12000, 98900 ,85400,63840,110940 ,60400,45100,77340];
p=polyfit(x,y,2);%多項式擬合
x1=10:1:12;
y1=polyval(p,x1);
plot(xy,'o',x1,y1,'r');
title('polyfit');
E. 用Matlab做曲線擬合的最小二乘法,謝謝
命令窗口輸入x=[0,0.5,1,1.5,2,2.5,3,3.5];y=[1,2.4,3.1,5.0,7,11,17,24];cftool
在新抄的圖襲形界面中,點data,creat data,x與y選擇相應的創造data後,在fit里選擇new fit,在選擇自己想要的函數(有很多函數選擇,還可以自定義,不過我沒自定義過),得到結果,
如果要看圖形,那裡有figure,畫圖即可
cftool是很強大的曲線擬合工具箱,也很容易操作,試試吧
F. 如何用MATLAB編寫程序(最小二乘法)曲線擬合
x=[10,20,30,35,40,50,60,70,80,90,100]';
y=[2.1681,2.2030,2.2482,2.2783,2.3075,2.3687,2.4364,2.5053,2.5882,2.6663,2.7611]';
X=[ones(size(x)) x x.^2];
coe=X\y
G. matlab中的cftool工具箱做非線性曲線擬合是用的什麼方法,是最小二乘法嗎
If Method is NonlinearLeastSquares,(非線性曲線擬合)內 then the additional parameters are:
Algorithm - Algorithm to be used in FIT
Levenberg-Marquardt
Gauss-Newton
Trust-Region
默認的為容 Trust-Region
H. MATLAB怎麼用最小二乘法擬合數據曲線
用polyfit函數擬合就行了,這個函數就是利用最小二乘法原理的。也可以使用數據擬合工具箱cftool擬合。
I. 用matlab求最小二乘法(polyfit)曲線擬合
clc
%原數據節點
x=[0.5 1 1.5 2 2.5 3];
y=[1.75 2.45 3.81 4.8 8 8.6];
plot(x,y,'*');
hold on;
%求最小二乘意義下擬合多項式的系數
n=3;%待擬合多項式的次數;內
p=polyfit(x,y,n);
%新的插值節點容
xx=0:0.01:3;
yy=polyval(p,xx);
plot(xx,yy);
你可以再Matlab幫助文件下,搜索polyfit和polyval這兩個命令的含義和用法。
這樣,這個問題是很容易實現的。
J. 用matlab工具進行最小二乘法圓擬合的程序怎麼編
可以來考慮採用polyfit來擬合源,二次多項式polyfit(x,y,2),
x=[0.11 0.13 0.19 0.21 0.27 0.37 0.53 0.59 0.71 0.79 0.89 1.07];
y=[3868-1066 3733-888.3 3659-789.6 3599-710.7 3508-592.2 3463-533 3335-367.6 3257-266.5 3215-213.2 3200-193.8 3125-133.3 3131-106.6];
p=polyfit(x,y,2);
hold on;
plot(x,y,'v')
plot(x,polyval(p,x),'r');
當然,數組中的成員是需要自己寫入的,把你的數據帶入就行