关于matlab曲线拟合函数 拟合的目标函数为y=Asin((1/2048)x+b)一共需要拟合六十组x和y,每组x和y都分别有20480个数据.x一直取1/2048,2/2048,3/2048,.20480/2048.y的取值见图片,每一列为一组y的取值,共有六
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/23 11:17:20
关于matlab曲线拟合函数 拟合的目标函数为y=Asin((1/2048)x+b)一共需要拟合六十组x和y,每组x和y都分别有20480个数据.x一直取1/2048,2/2048,3/2048,.20480/2048.y的取值见图片,每一列为一组y的取值,共有六
关于matlab曲线拟合函数 拟合的目标函数为y=Asin((1/2048)x+b)
一共需要拟合六十组x和y,每组x和y都分别有20480个数据.x一直取1/2048,2/2048,3/2048,.20480/2048.y的取值见图片,每一列为一组y的取值,共有六十列.求大神帮忙写一个matlab程序,能将excel中得数据导入,然后计算得出六十组a和b的解.
关于matlab曲线拟合函数 拟合的目标函数为y=Asin((1/2048)x+b)一共需要拟合六十组x和y,每组x和y都分别有20480个数据.x一直取1/2048,2/2048,3/2048,.20480/2048.y的取值见图片,每一列为一组y的取值,共有六
用最小二乘拟合吧.把那个20480行60列的数就复制粘贴到matlab上就好了吧.复制那个20480行60列的数,在matlab上输入:
B=[粘贴];
B=B';
x0=1/2048:1/2048:10;
for i=1:60
f=inline('a(1)*sin((1/2048)*x+a(2))','a','x');
y0=B(1,:);
[xx,res]=lsqcurvefit(f,[1 1],x0,y0);
C(i,:)=xx;
end
C
编了一个给你,输出的C是60行2列的.每行的2个数从左到右就是对应的a、b,共有60组a、b. 你试试看.应该可以.