如何用matlab进行多元曲线拟合
设(x,y)=f(a,b,c)已知当c=1,2,3时,(x,y)对应f(a0,b0,c)的各三个值已知当b=1,2,3时,(x,y)对应f(a0,b,c0)的各三个值已知...
设(x,y)=f(a,b,c)
已知当c=1,2,3时,(x,y)对应f(a0,b0,c)的各三个值
已知当b=1,2,3时,(x,y)对应f(a0,b,c0)的各三个值
已知当a=1,2,3时,(x,y)对应f(a,b0,c0)的各三个值
要求拟合出x和y的关系式,其中包含了a,b,c等参数
请问在matlab中能做到吗?调用哪些函数?这些函数的各个参数的意义是什么?
比如,V=a1*p+a2*p^2+b1*c+b2*c^2,已知四组p,c值和对应的V值,怎么用matlab把a1,a2,b1,b2算出来?能说一下具体步骤吗? 展开
已知当c=1,2,3时,(x,y)对应f(a0,b0,c)的各三个值
已知当b=1,2,3时,(x,y)对应f(a0,b,c0)的各三个值
已知当a=1,2,3时,(x,y)对应f(a,b0,c0)的各三个值
要求拟合出x和y的关系式,其中包含了a,b,c等参数
请问在matlab中能做到吗?调用哪些函数?这些函数的各个参数的意义是什么?
比如,V=a1*p+a2*p^2+b1*c+b2*c^2,已知四组p,c值和对应的V值,怎么用matlab把a1,a2,b1,b2算出来?能说一下具体步骤吗? 展开
4个回答
展开全部
可以做到!!关于参数问题 help之
我一般喜欢使用nlinfit
非线性拟合,我用过很多次发现要用好她
的关键在于你要找到一个很好的初值
举个例子:
椭圆的方程可以是
ax^2+by^2+cxy+dx+ey+f=0;
发现其实双曲线,抛物线和他的一样
所以你在选取初值的时候最起码初值带入后
是个椭圆,
不然你拟合出来不仅仅是效果差,可能就变质
你说的情况其实是解方程了(四个未知数四个方程)
对于更多的数据:
先编写函数
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)
我一般喜欢使用nlinfit
非线性拟合,我用过很多次发现要用好她
的关键在于你要找到一个很好的初值
举个例子:
椭圆的方程可以是
ax^2+by^2+cxy+dx+ey+f=0;
发现其实双曲线,抛物线和他的一样
所以你在选取初值的时候最起码初值带入后
是个椭圆,
不然你拟合出来不仅仅是效果差,可能就变质
你说的情况其实是解方程了(四个未知数四个方程)
对于更多的数据:
先编写函数
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)
东莞大凡
2024-08-07 广告
2024-08-07 广告
在东莞市大凡光学科技有限公司,我们利用Halcon软件处理机器视觉项目时,会用到自定义标定板以满足特定需求。Halcon支持用户根据实际应用场景自定义标定板形状与标记点。这不仅可以灵活应对不同工作环境,还能提高标定精度。通过调整圆点数量、间...
点击进入详情页
本回答由东莞大凡提供
展开全部
先把点所对应的坐标表示出来,再用matlab函数进行多项式拟合
举例:
程序如下:
x=[1,
2,
3,
4,
5,
6,
7,
8,
9,
10]
y=[1.2,
3,
4,
4,
5,
4.7,
5,
5.2,
6,
7.2]
注:
一次多项式拟合:
p1
=
polyfit(x,y,1)
三次多项式拟合:
p3
=
polyfit(x,y,3)
plot
原始数据、一次拟合曲线和三次拟合曲线
x2=1:0.1:10;
y1=polyval(p1,x2)
y3=polyval(p3,x2)
plot(
x,
y,
’*’,
x2,
y1,
‘:’,
x2,
y3)
如果满意请采纳!
举例:
程序如下:
x=[1,
2,
3,
4,
5,
6,
7,
8,
9,
10]
y=[1.2,
3,
4,
4,
5,
4.7,
5,
5.2,
6,
7.2]
注:
一次多项式拟合:
p1
=
polyfit(x,y,1)
三次多项式拟合:
p3
=
polyfit(x,y,3)
plot
原始数据、一次拟合曲线和三次拟合曲线
x2=1:0.1:10;
y1=polyval(p1,x2)
y3=polyval(p3,x2)
plot(
x,
y,
’*’,
x2,
y1,
‘:’,
x2,
y3)
如果满意请采纳!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个……应该把这个函数先两边取对数,然后就是线性拟合了,手上没有matlab,你搜索一下网上或者matlab的help吧,变成线性形式应该就很方便了。
对了,在help里面用英文搜索应该搜linear
fitting
以上。
想不起来函数的老狼
对了,在help里面用英文搜索应该搜linear
fitting
以上。
想不起来函数的老狼
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上的说法完全支持,只是没有用过nlinfit
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询