1樓:匿名使用者
x=[1.52 3.03 3.27 4.2 0.93 -4.2 -3.27 -3.03 -1.52];
y=[0.8 2.1 4.6 7.1 8.4 7.1 4.6 2.1 0.8];
z=[2.16 2.4 2.69 3.82 3.02 2.68 2.5 2.48 2.31];
a=[x',y',ones(size(x'))];
a=a\z'
得到a =
0.0592
0.1269
2.1371
就是說a(1)=0.0592
a(2)=0.1269
a(3)=2.371
原理:我們可以把這題看成已知x,y,z,來求a(1),a(2),a(3)
由於表示式對於a(1),a(2),a(3)來說是線性的。
也就相當於求解三元一次方程組(只不過這裡的方程數比未知數個數多)。這個可以用矩陣來解決。
你先看一下上面構造出來的a,然後再看一下a乘以[a1;a2;a3]這個列向量。
可能你就知道上面是什麼意思了。
2樓:張慶
用命令rstool 自 己看幫助吧
3樓:曉傑_張
這個擬合出來的是平面吧,怎麼能是曲面擬合呢?
matlab曲面擬合最小二乘法
4樓:匿名使用者
matlab中用最小二乘擬合的常用函式有polyfit(多項式擬合)、nlinfit(非線性擬合)以及regress(多元線性迴歸)。由於是曲面擬合,自變數有2個,應變數一個,可以使用的有nlinfit和regress,線性時用regress,非線性時用nlinfit。
具體介紹一下regress
regress雖然名義上只能做線性迴歸但是可以把x^2等非線性量作為一個額外自變數做計算,因此在一些特殊情況下也可以做非線性擬合。
以matlab自帶的資料為樣本,示例**如下:(%後面的是註釋)
clc;clear;
load carsmall%此資料樣本matlab自帶
x=weight;y=horsepower;z=mpg;%取這3個變數作為擬合物件,x、y自變數,z應變數
plot3(x,y,z,'p');
hold on;
c=ones(length(x),1);
b=regress(z,[x,y,c]);%純線性擬合 模型z=b(1)*x+b(2)*y+b(3)
[x,y]=meshgrid(linspace(1500,5000,10),linspace(40,240,10));
c=ones(10);
mesh(x,y,b(1)*x+b(2)*y+b(3)*c);
得到下圖:
b=regress(z,[x.^2,y.^2,x.*y,x,y,c]);%新增非線性項進行擬合
figure
plot3(x,y,z,'p');
hold on;
mesh(x,y,b(1)*x.^2+b(2)*y.^2+b(3)*x.*y+b(4)*x+b(5)*y+b(6)*c);
grid on;
得到下圖:
5樓:濯自禕
x=[x1 x2 x3...],x2=[x1² x2² x3²...]
y=[y1 y2 y3...],y2=[y1² y2² y3²...]
z=[z1 z2 z3...],
n=length(x); x=[x2 y2 ones(n,1)]a=regress(z,x)
c=a(3),b=a(2),a=a(1)
matlab三維曲面進行平面擬合,利用最小二乘法
6樓:匿名使用者
可以直bai接使用matlab的曲面擬du合zhi工具箱,但是平面擬合的
dao效果一般
1、在命令窗內口輸入待擬合的數容據
>> x=[11.4,11.4,11.
4,11.4;13.1,13.
1,13.1,13.1;14.
8,14.8,14.8,14.
8;16.5,16.5,16.
5,16.5;18.2,18.
2,18.2,18.2];
y=[0.84,0.72,0.
61,0.45;0.68,0.
49,0.44,0.41;0.
57,0.43,0.40,0.
38;0.42,0.37,0.
33,0.17;0.39,0.
30,0.24,0.16];
z=[1.62,2.51,2.
63,2.64;1.93,2.
58,3.01,3.23;2.
45,2.83,3.27,3.
31;2.60,3.27,3.
33,3.45;2.93,3.
74,4.09,4.35];
2、輸入sftool命令開啟曲面擬合工具箱,然後依次選擇x,y,z資料
>> sftool
3、因為你要求平面擬合,所以選擇一次多項式型別
4、左側面板即為擬合結果
其中,r-square表示擬合度,越接近於1表示擬合效果越好,此時僅為0.8241,所以效果並不好。
7樓:ccc橙子陳
直接使用baimatlab的曲面擬du合zhi工具箱輸入sftool命令開啟曲面擬合工具箱,dao然後依次選回擇x,y,z資料
因為你要答求平面擬合,所以選擇一次多項式型別左側面板即為擬合結果
其中,r-square表示擬合度,越接近於1表示擬合效果越好,此時僅為0.8241,所以效果並不好。
請問一組三維資料點,用matlab最小二乘法擬合二次曲面,程式怎麼寫
8樓:匿名使用者
呵呵算你狠,我剛要在這發,你都已經發上來了
matlab用最小二乘法求一形如y t at b (a和b為待定係數)的多項式,使之與下列資料相擬合
宇逸 1.使用非線性最小二乘擬合函式lsqcurvefit擬合t 1 2 3 4 5 6 7 8 y 4.00 6.40 8.00 8.80 9.22 9.50 9.70 9.68 fun b,x x.b 1 x b 2 x0 0.1 0.1 b lsqcurvefit fun,x0,t,y 結果為...
eviews軟體怎麼用最小二乘法來消除異方差
如果是一般的迴歸,那麼加權最小二乘法取權僅僅是方程本身誤差項的絕對值的倒數!兩種方法 1.蠢且勤快的方法 在迴歸結果視窗中按estimate,改變你的迴歸項分別為 y 1 abs resid x1 1 abs resid x2 1 abs resid 當然要在做完你的ols後馬上做,否則你的resi...
EVIEWS做最小二乘法怎麼做 高人指點,急 急 急
我怎麼記得和樓上有點差別 難道不是直接 ls y c x y的位置放因變數,x位置放解釋變數,要是有截距項就寫著c,沒有就去了我說的是eview5 在命令視窗下輸入 ls y c 1 c 2 x按回車 本幻須穎初 ls命令也可以估計大部分非線性模型。請問eviews做出最小二乘法的結果,這個圖怎麼看...