怎么用MATLAB拟合函数的系数

2024年11月19日 18:47
有2个网友回答
网友(1):

直接使用polyfit函数,这个函数是用来实现多项式拟合的,你的函数可以看做是一个一次多项式,y与sin(x)的一次多项式

x=[1,2,3,4,5,6,7,8,9,10];
y=[7,3,6,8,2,4,10,16,2,8];
p=polyfit(sin(x),y,1)
A=p(1)
C=p(2)

网友(2):

%nlinfit 非线性参数拟合
clc;clear;
x=[1,2,3,4,5,6,7,8,9,10];
y=[7,3,6,8,2,4,10,16,2,8];
myfunc=inline('beta(1)*sin(x)+beta(2)','beta','x');
beta=nlinfit(x,y,myfunc,[0 0]);
A=beta(1)
C=beta(2)
%test the model
%x=[1,2,3,4,5,6,7,8,9,10];
%y=2*sin(x)+3;
% myfunc=inline('beta(1)*sin(x)+beta(2)','beta','x');
% beta=nlinfit(x,y,myfunc,[0 0]);
% A=beta(1)
% C=beta(2)