求助,matlab二元函数拟合求参数问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 10:36:16
我已经知道了二元函数的解析式,z=f(x,y),w=g(x,y),并且已经有了很多组(x,y),(z,w)的测量数值,现在的问题是,通过这些值,求出函数解析式中的几个参数值,注意函数表达式是非线性的。我们老师以前教过两个求非线性最小二乘拟合的函数:lsqcurvefit和lsqnonlin,但他们都是针对一元函数的,有没有类似针对二元函数的,多谢了!
很着急,好的追加50分!

好像没说他们只能针对一元函数嘛。下面举个最简单的二元函数的例子
已知下列数据,要求拟合函数z=a*x^2+b*y
x=[0.1527 7.4679 4.4510 9.3181 4.6599 4.1865 8.4622 5.2515 2.0265 6.7214];
y=[8.3812 0.1964 6.8128 3.7948 8.3180 5.0281 7.0947 4.2889 3.0462 1.8965];
z=[8.5979 56.6475 26.9266 91.1643 30.1839 23.2528 79.0822 32.7274 8.0064 47.6670];
%只要这样写就可以了
f=@(p,x)(p(1)*x(1,:).^2+p(2)*x(2,:));
p=lsqcurvefit(f,rand(1,2),[x;y],z)%p=[a b]

已知下列数据,要求拟合函数z=a*x^2+b*y
x=[0.1527 7.4679 4.4510 9.3181 4.6599 4.1865 8.4622 5.2515 2.0265 6.7214];
y=[8.3812 0.1964 6.8128 3.7948 8.3180 5.0281 7.0947 4.2889 3.0462 1.8965];
z=[8.5979 56.6475 26.9266 91.1643 30.1839 23.2528 79.0822 32.7274 8.0064 47.6670];
%只要这样写就可以了
f=@(p,x)(p(1)*x(1,:).^2+p(2)*x(2,:));
p=lsqcurvefit(f,rand(1,2),[x;y],z)%p=[a b]

多元线性回归啊,常用的