matlab 如何拟合二维函数表达式? z=f(x,y)
来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/05/21 22:59:14
matlab 如何拟合二维函数表达式? z=f(x,y)
就像matlab里用“lsqcurvefit”拟合一维函数y=f(x)一样,不同的是未知数有两个.
比如,已知函数表达式是 z=a0+a1*x+a2*y
并且已知三组数据,(比如可以用z=3x+4y+1先弄出一组数据,再反过来估计函数表达式)
x=[1 2 1 2 0 0]
y=[0 0 1 1 1 2]
z=[4 7 8 11 5 9]
求出待估计的系数a0,a1,a2的值从而得到表达式.
就像matlab里用“lsqcurvefit”拟合一维函数y=f(x)一样,不同的是未知数有两个.
比如,已知函数表达式是 z=a0+a1*x+a2*y
并且已知三组数据,(比如可以用z=3x+4y+1先弄出一组数据,再反过来估计函数表达式)
x=[1 2 1 2 0 0]
y=[0 0 1 1 1 2]
z=[4 7 8 11 5 9]
求出待估计的系数a0,a1,a2的值从而得到表达式.
楼主说的这个问题是线性拟合问题,不必用专门的拟合命令:
推导:
z = a0+a1*x+a2*y
==> z = [1 x y]*[a0
a1
a2]
所以,要求未知参数列向量a,直接用矩阵除法就可以了:
a = xy\z
其中
xy = [1 1 0
1 2 0
1 1 1
1 2 1
1 0 1
1 0 2] %第2列为x,第3列为y
z = [4 7 8 11 5 9]';
求出的结果是:
>> xy\z
ans =
1.0000
3.0000
4.0000
再问: 谢谢,我在万方找到一篇文章用最小二乘法解方程解决了,《二元一次函数曲线拟合的Matlab实现.pdf》。 不是应该[1 x y]的逆矩阵左乘Z矩阵 求出系数矩阵A么,怎么是[1 x y] /z还得到正确结果了,而且不是方阵没有逆矩阵额。。。
再答: 首先,“ [1 x y] /z ”应该是 [1 x y]\z(左除矩阵[1 x y]),也就是说,[1 x y] 在分母上,z在分子上(谁在斜杆的下方谁就是分母); 然后,这里的矩阵除法实际上是最小二乘法的一种在线性方程组中的表达,并不真正是矩阵求逆。
推导:
z = a0+a1*x+a2*y
==> z = [1 x y]*[a0
a1
a2]
所以,要求未知参数列向量a,直接用矩阵除法就可以了:
a = xy\z
其中
xy = [1 1 0
1 2 0
1 1 1
1 2 1
1 0 1
1 0 2] %第2列为x,第3列为y
z = [4 7 8 11 5 9]';
求出的结果是:
>> xy\z
ans =
1.0000
3.0000
4.0000
再问: 谢谢,我在万方找到一篇文章用最小二乘法解方程解决了,《二元一次函数曲线拟合的Matlab实现.pdf》。 不是应该[1 x y]的逆矩阵左乘Z矩阵 求出系数矩阵A么,怎么是[1 x y] /z还得到正确结果了,而且不是方阵没有逆矩阵额。。。
再答: 首先,“ [1 x y] /z ”应该是 [1 x y]\z(左除矩阵[1 x y]),也就是说,[1 x y] 在分母上,z在分子上(谁在斜杆的下方谁就是分母); 然后,这里的矩阵除法实际上是最小二乘法的一种在线性方程组中的表达,并不真正是矩阵求逆。
matlab 如何拟合二维函数表达式? z=f(x,y)
matlab二维函数z=f(x,y)拟合公式
请问知道n个三位散点,如何用matlab画出拟合曲面?如何做出拟合函数z=f(x,y)?拟合函数各种形式均可
matlab 已知三个散点组x[],y[],z[] 想拟合z=f(x,y),得出多元函数表达式 怎么具体操作?先插值?
在MATLAB中三元函数Z=F(X,Y)怎么拟合?
请帮忙编写一个matlab计算程序,拟合二元一次函数z=f(x,y)
matlab拟合函数我想用matlab拟合C=f(x,y)现在 有一些散点数据,(x,y,它们对应的c),能做吗?求高手
我想编一个MATLAB的程序,画一个三元函数的三维图,表达式f(x,y,z)=exp(-x^2-y^2-z^2),最好能
matlab 偏微分已知函数F(x,y) 表达式如何求其对先x再y的偏微分.
matlab中函数与y=f(x)表达式的区别
请用MATLAB拟合三元三次多项式F(x,y,z)=a0+a1*x+a2*x^2+a3*x^3+a4*y+a5*y^2+
用matlab表示z=f(x,y),有什么函数或者方法,