关于matlab曲线拟合函数 拟合的目标函数为y=Asin((1/2048)x+b)一共需要拟合六十组x和y,每组x和y都分别有20480个数据.x一直取1/2048,2/2048,3/2048,.20480/2048.y的取值见图片,每一列为一组y的取值,共有六
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 21:59:26
![关于matlab曲线拟合函数 拟合的目标函数为y=Asin((1/2048)x+b)一共需要拟合六十组x和y,每组x和y都分别有20480个数据.x一直取1/2048,2/2048,3/2048,.20480/2048.y的取值见图片,每一列为一组y的取值,共有六](/uploads/image/z/6604851-3-1.jpg?t=%E5%85%B3%E4%BA%8Ematlab%E6%9B%B2%E7%BA%BF%E6%8B%9F%E5%90%88%E5%87%BD%E6%95%B0+%E6%8B%9F%E5%90%88%E7%9A%84%E7%9B%AE%E6%A0%87%E5%87%BD%E6%95%B0%E4%B8%BAy%3DAsin%28%EF%BC%881%2F2048%EF%BC%89x%2Bb%29%E4%B8%80%E5%85%B1%E9%9C%80%E8%A6%81%E6%8B%9F%E5%90%88%E5%85%AD%E5%8D%81%E7%BB%84x%E5%92%8Cy%2C%E6%AF%8F%E7%BB%84x%E5%92%8Cy%E9%83%BD%E5%88%86%E5%88%AB%E6%9C%8920480%E4%B8%AA%E6%95%B0%E6%8D%AE.x%E4%B8%80%E7%9B%B4%E5%8F%961%2F2048%2C2%2F2048%2C3%2F2048%2C.20480%2F2048.y%E7%9A%84%E5%8F%96%E5%80%BC%E8%A7%81%E5%9B%BE%E7%89%87%2C%E6%AF%8F%E4%B8%80%E5%88%97%E4%B8%BA%E4%B8%80%E7%BB%84y%E7%9A%84%E5%8F%96%E5%80%BC%2C%E5%85%B1%E6%9C%89%E5%85%AD)
关于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. 你试试看.应该可以.