请帮忙编写一个matlab计算程序,拟合二元一次函数z=f(x,y)希望得到一个z=ax+by+c的

发布时间:2021-02-26 02:43:45

请帮忙编写一个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列得到的数据点):0.05 0.05 0.05 0.05 0.050.25 0.15 0.11 0.05 0.050.5

网友回答

clearclcx=[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))
请帮忙编写一个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列得到的数据点):0.05 0.05 0.05 0.05 0.050.25 0.15 0.11 0.05 0.050.5 (图1)
======以下答案可供参考======
供参考答案1:
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
以上问题属网友观点,不代表本站立场,仅供参考!