关于matlab曲线拟合函数 拟合的目标函数为y=Asin((1/2048)x+b)
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/09 07:54:34
关于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的解.
一共需要拟合六十组x和y,每组x和y都分别有20480个数据.x一直取1/2048,2/2048,3/2048,.20480/2048.y的取值见图片,每一列为一组y的取值,共有六十列.求大神帮忙写一个matlab程序,能将excel中得数据导入,然后计算得出六十组a和b的解.
用最小二乘拟合吧.把那个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. 你试试看.应该可以.
再问: 我想请问一下。我后来发现那个拟合的目标函数需要改成asin(bt+c)这种形式了,就是原来b是固定的,只有a,c两个参数,现在需要abc三个参数,程序要改哪些地方?我matlab还没开始学,比较菜,麻烦您了,谢谢
再答: 改掉inline里的函数原型,在lsqcurvefit初始值那里多加一个数。。然后我发现打错了一行y0=B(1,:);应该是y0=B(i,:); clear all B=[粘贴]; B=B'; x0=1/2048:1/2048:10; for i=1:60 f=inline('a(1)*sin(a(2)*x+a(3))','a','x'); y0=B(i,:); [xx,res]=lsqcurvefit(f,[1 1 1],x0,y0); C(i,:)=xx; end C C就是60行3列的,每行的3个数从左到右就是对应的a、b、c,共有60组。 你试试看看行不行吧。。
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. 你试试看.应该可以.
再问: 我想请问一下。我后来发现那个拟合的目标函数需要改成asin(bt+c)这种形式了,就是原来b是固定的,只有a,c两个参数,现在需要abc三个参数,程序要改哪些地方?我matlab还没开始学,比较菜,麻烦您了,谢谢
再答: 改掉inline里的函数原型,在lsqcurvefit初始值那里多加一个数。。然后我发现打错了一行y0=B(1,:);应该是y0=B(i,:); clear all B=[粘贴]; B=B'; x0=1/2048:1/2048:10; for i=1:60 f=inline('a(1)*sin(a(2)*x+a(3))','a','x'); y0=B(i,:); [xx,res]=lsqcurvefit(f,[1 1 1],x0,y0); C(i,:)=xx; end C C就是60行3列的,每行的3个数从左到右就是对应的a、b、c,共有60组。 你试试看看行不行吧。。
关于matlab曲线拟合函数 拟合的目标函数为y=Asin((1/2048)x+b)
matlab 线性函数的拟合 不要用toolsbox 和 GUI,拟合两组数据X和Y,分别拟合Y=a*X+b和y=ax^
用MATLAB对y=a*x^b模型函数的拟合
用matlab求拟合函数Y=L/1+a*exp(-b*x)
用matlab做曲线拟合,对关于x和y的两组数据进行y=a*log(x)+d 拟合 求程序
MATLAB曲线拟合函数的问题!
matlab拟合函数我想用matlab拟合C=f(x,y)现在 有一些散点数据,(x,y,它们对应的c),能做吗?求高手
Matlab 曲线拟合 lsqcurvefit函数问题,老是运行有错,但自己手动拟合的曲线拟合性很好,求大神帮忙解决
怎样用matlab拟合反比例函数像:y=a+b/x
在matlab中怎样自定义拟合对数函数(y=a*log(b*x))
matlab中的指数曲线拟合问题,我有一个函数,他的格式是y=exp(-x/a)
matlab函数作图在问下 曲线 上有以下点,请编写用曲线拟合求出其关系式的matlab程序,并画图分析拟合效果.x 5