要兼顾三组数据,在试验条件不变的情况下,可对三组数据取平均值后再拟合。
如:a1=[x1,y1];a2=[x2,y2];a3=[x3,y3];假设x1,x2,x3,y1,y2,y3是列向量且元素个数相等,
x=mean([x1,x2,x3],2);
y=mean([y1,y2,y3],2);
a=[x,y];
再对x,y进行拟合就可对三组数据都兼顾到了。
假如说你要求的函数的形式如y=ax^2+bx+c
若要保证过(7,9)这点,你就可把函数的形式改为y-9=a(x-7)^2+b(x-7)
即y=a(x-7)^2+b(x-7)+9
把这函数编入m文件(function文件)
function [y]=f(aa,x)
y=aa(1)(x-7)^2+aa(2)(x-7)+9;
另外编个文件输入
x=rand(1,10)
y=rand(1,10)
aa=[1 2]
F=f(aa,x)
[A,res]=lsqcurvefit('f',ones(1,2),[x],F)
这里只是举个例子,你只要把x,y以及(7,9)以及多项式的形式改成你的数据就可以了。
lsqcurvefit的用法可参照help lsqcurvefit
完毕。
以上就是关于MATLAB多组数据如何进行拟合全部的内容,包括:MATLAB多组数据如何进行拟合、matlab用多项式函数拟合曲线,且使这个函数要过一定点(x0,y0)、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)