请帮忙编写一个matlab计算程序,拟合二元一次函数z=f(x,y)希望得到一个z=ax+by+c的二元一次函数其中:x:50 100 150 200 250 300 350 400 450 500.y:40 80 120 160 200z是一个10X5的矩阵(其实就是X行和Y列得

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/08 19:33:56
请帮忙编写一个matlab计算程序,拟合二元一次函数z=f(x,y)希望得到一个z=ax+by+c的二元一次函数其中:x:50 100 150 200 250 300 350 400 450 500.y:40 80 120 160 200z是一个10X5的矩阵(其实就是X行和Y列得
xV[SV+:vpeۼ?d$Yn}Qmgj@!`m.C 8`l s$0:yJ<=;٣ݧ{ G˝Odvݜl7rV7Nc=GBYdfܿ7CN5:i*!u4*yDj;j\ΈY-m79iT @1PT*8+E@ã0 c2ly%$!Hc<fPIjKc(3W-gԫP aEy"d7:Szy s>)؁΁#H`jLAyC<"=fN0$SJ"8G"jH}>ʀP2㩝j5O(@`V!N[ IVgAw=Zt𣻾MnmKV_ǧC^8S)\ޝ~Avf ǜw.,~`rҪwy8켗`ws̴_YKs Nh{; =Z<ϐL,l> af-3c'j<I]%; G'Cx3 'TRzI zOT7!U ol U5g-U ]DԢ#t! ( hڐ@; b0v2 R|(7-RьeF8;](Jgy Wә^Pap)3KJR-+iXTC3,=eJFj 4^dI53)D$(Ԉ& $aʆT+M (\%%eU IIa25Ɋ"$UV +\_bas Źw0oɠJJ(8t_p~T8/z=2}pw➣3#] jc4 SL\ rC_h.ݗ{}k

请帮忙编写一个matlab计算程序,拟合二元一次函数z=f(x,y)希望得到一个z=ax+by+c的二元一次函数其中:x:50 100 150 200 250 300 350 400 450 500.y:40 80 120 160 200z是一个10X5的矩阵(其实就是X行和Y列得
请帮忙编写一个matlab计算程序,拟合二元一次函数z=f(x,y)
希望得到一个z=ax+by+c的二元一次函数
其中:
x:50 100 150 200 250 300 350 400 450 500.
y:40 80 120 160 200
z是一个10X5的矩阵(其实就是X行和Y列得到的数据点):
0.05 0.05 0.05 0.05 0.05
0.25 0.15 0.11 0.05 0.05
0.5 0.2 0.2 0.04 0.04
1.6 1 0.5 0.11 0.07
2.5 2.4 1.14 0.34 0.12
3.2 2.7 1.54 0.7 0.21
3.4 3.1 2.1 1.15 0.3
3.75 3.5 2.56 1.4 0.6
4 3.8 2.95 2 0.9
4.2 4 3.2 2.2 1.1
请帮忙别写一个拟合程序
目前这个运算结果最后生成的图形是一个平面。如果我想将原始数据xyz描出一个曲面,能不能再帮忙补充两句代码,同时将给出的已知数据描点连成曲面。

请帮忙编写一个matlab计算程序,拟合二元一次函数z=f(x,y)希望得到一个z=ax+by+c的二元一次函数其中:x:50 100 150 200 250 300 350 400 450 500.y:40 80 120 160 200z是一个10X5的矩阵(其实就是X行和Y列得
clear
clc


x=[50 100 150 200 250 300 350 400 450  500];
y=[40 80 120 160 200];
z=[0.05 0.05 0.05 0.05 0.05
0.25 0.15 0.11 0.05 0.05
0.5 0.2 0.2 0.04 0.04
1.6 1 0.5 0.11 0.07
2.5 2.4 1.14 0.34 0.12
3.2 2.7 1.54 0.7 0.21
3.4 3.1 2.1 1.15 0.3
3.75 3.5 2.56 1.4 0.6
4 3.8 2.95 2 0.9
4.2 4 3.2 2.2 1.1];
[y,x]=meshgrid(y,x);
p=[x(:),y(:),ones(numel(z),1)]\z(:)%p=[a;b;c]
plot3(x(:),y(:),z(:),'ro');
hold on;grid on
mesh(x,y,p(1)*x+p(2)*y+p(3))


clear;
clc;
x = [50 100 150 200 250 300 350 400 450 500];
y = [40 80 120 160 200];
[myx,myy] = meshgrid(x,y);
z = [0.05 0.05 0.05 0.05 0.05
0.25 0.15 0.11 0.05 0.05
...

全部展开

clear;
clc;
x = [50 100 150 200 250 300 350 400 450 500];
y = [40 80 120 160 200];
[myx,myy] = meshgrid(x,y);
z = [0.05 0.05 0.05 0.05 0.05
0.25 0.15 0.11 0.05 0.05
0.5 0.2 0.2 0.04 0.04
1.6 1 0.5 0.11 0.07
2.5 2.4 1.14 0.34 0.12
3.2 2.7 1.54 0.7 0.21
3.4 3.1 2.1 1.15 0.3
3.75 3.5 2.56 1.4 0.6
4 3.8 2.95 2 0.9
4.2 4 3.2 2.2 1.1];
cxd_1 = reshape(myx',50,1);
cxd_2 = reshape(myy',50,1);
cxd_3 = ones(50,1);
cxd_X = [cxd_1 cxd_2 cxd_3];
cxd_Y = z(:);
myb = regress(cxd_Y,cxd_X);
a = myb(1)
b = myb(2)
c = myb(3)

结果:
a =
0.0072
b =
-0.0132
c =
1.0057


copyright (c) by cxd1301

收起