使用matlab 如何拟合拟合 z=ax^2+bx+cy,求a、b、c?求大神解答,高悬赏!

使用matlab 如何拟合拟合 z=ax^2+bx+cy,求a、b、c?求大神解答,高悬赏!
x= [141.836
147.114
142.212
142.387
146.073
144.597
139.105
146.495
142.814
142.764]
y= [41.962
40.629
44.677
41.914
42.844
44.429
44.717
42.487
40.342
41.701]

z= [585
630
576.66
580.2
621.3
621.67
568.3
623.3
565.3
579.6]

参考代码:

x= [141.836
    147.114
    142.212
    142.387
    146.073
    144.597
    139.105
    146.495
    142.814
    142.764];
y= [41.962
    40.629
    44.677
    41.914
    42.844
    44.429
    44.717
    42.487
    40.342
    41.701];
z= [585
    630
    576.66
    580.2
    621.3
    621.67
    568.3
    623.3
    565.3
    579.6];

% 拟合
f = @(C,X) C(1)*X(:,1).^2+C(2)*X(:,1)+C(3)*X(:,2);
C0 = rand(1,3);
C = lsqcurvefit(f,C0,[x y],z)

% 计算拟合误差
norm(z-f(C,[x y]))

% 绘图
[X,Y] = meshgrid(138:.5:148, 40:.2:46);
Z = X;
Z(:) = f(C,[X(:) Y(:)]);
clf
scatter3(x,y,z,'filled')
hold on
mesh(X,Y,Z,'EdgeA',0.3,'FaceA',0.3)
view(-10,5)

拟合得到的系数为(依次为a、b、c)

C =
    0.0544   -5.1871    5.1578

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-11-29
请给出具体数值,方便讲解。追问

数据已补充,谢谢!

使用matlab 如何拟合拟合 z=ax^2+bx+cy,求a、b、c?求大神解答,高悬赏...
% 拟合f = @(C,X) C(1)*X(:,1).^2+C(2)*X(:,1)+C(3)*X(:,2);C0 = rand(1,3);C = lsqcurvefit(f,C0,[x y],z)% 计算拟合误差norm(z-f(C,[x y]))% 绘图[X,Y] = meshgrid(138:.5:148, 40:.2:46);Z = X;Z(:) = f(C,[X(:) Y(:)]);clfscatter...

matlab自定义函数拟合
X可以是矩阵,当有多列时,每一列均为一个自变量。MODELFUN有特定的格式。MODELFUN接受2个参数,第一个是待拟合的参数矢量,第二个是自变量矩阵。模板函数定义案例:模型:y=ax^2+bx+c 定义模型函数代码:f_model=@(b,x)b(1)*x.^2+b(2)*x+b(3); %定义时要注意x是一个矢量 BETA0是...

在matlab 中用最小二乘法拟合y=a*x^2+b*x的程序要如何写?
matlab中曲线拟合的最优标准是采用最常见的最小二乘法,而所谓曲线拟合就是利用最小二乘法使得拟合多项式在各节点处的偏差达到最小。给出一组数据的话就可以进行数据拟合。你说的应该是2次拟合多项式 程序如下:t=输入数据;y=输入数据;p=polyfit(t,y,3)然后就可以进行数据拟合了。

如何用matlab进行多元曲线拟合
function f=ffun(a,x)f=a(1)*x(:,1)+a(2)*x(:,1).^2+a(3)*x(:,2)+a(4)*x(:,2).^2;其余运行 x=[p,c];%p,c为列响量,f也为列向量 a0=[1,1,1,1];%初值取好点效果更好 a=nlinfit(x,f,'ffun',a0)

用MATLAB将这些点用最小二乘法拟合成一条三维曲线并得出一般方程和参数...
根据数据判断,三维曲线方程 为 z(x,y)=Ax^2+Bx*y+Cy^2+Dx+Ey+F 用matlab的regress()函数命令,拟合出A、B、C、D、E、F系数。拟合结果:方程系数 A=-0.39445,B=-0.44107,C=-0.12052,D=-88.1778,E=-47.1086,F=-4240.7499 R²=0.99999 %决定系数(拟合精度)用matlab...

如何使用matlab进行拟合、求导、求定积分
1、拟合 根据X、Y1、Y2三个向量,做出其散点图,判断散点图的曲线趋势,自定义拟合函数,使用lsqcurvefit拟合函数,求出其拟合系数,得到 A函数:y1=fa(x)B函数:y2=fb(x)2、求导 使用diff函数,分别对A函数和B函数求导 Dy1=diff(fa,1)Dy2=diff(fb,1)Dy=Dy1-Dy2 3、定积分 使用integral...

matlab拟合求方程系数,然后把曲线作图发现自己拟合相差甚远,求高手相...
你是用的最小二乘的方式,这种方式固然可以,但是这种方法固然有一定的误差,但是问题不是太大 你的方法拟合出的图像如下 其实你可以用拟合工具箱来做命令窗口输入cftool 如图,这个效果就要好很多了

急!求高手,如何用matlab进行曲线拟合,就是已知x轴和y轴的数值,拟合出一...
用polyfit拟合 p=polyfit(x,y,2); %用2次多项式 figure(1);title('拟合1')hold on plot(x,y,'+',x,polyval(p,x));legend('原始值','拟合值');用lsqcurvefit拟合 f=@(b,x) b(1)+b(2).*x+b(3).*x.^2; %构造要拟合的函数 b=lsqcurvefit(f,[1,1,1],x,y); %进行...

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,...

如何用matlab进行多元非线性拟合
一、 单一变量的曲线逼近 Matlab有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性、非线性曲线拟合。下面结合我使用的 Matlab R2007b 来简单介绍如何使用这个工具箱。假设我们要拟合的函数形式是 y=A*x*x + B*x, 且A>0,B>0。1、在命令行输入数据:》x=[110.3323 ...

相似回答