matlab求曲线线性拟合问题

来源:百度知道 编辑:UC知道 时间:2024/06/22 09:01:32
有一道题:x:1 2 3 4 5
y:4 4.5 6 8 10
权函数值均为1
求线性拟合函数,这个要怎么用MATLAB来解哦?

用polyfit函数。

%m文件
clear;
x=[1 2 3 4 5];
y=[4 4.5 6 8 10];
S=polyfit(x,y,1);
X=0:0.1:6;
Y=S(1)*X+S(2);
plot(x,y,'*',X,Y)

其实用指数函数来拟合的效果要好一些,要不你可以运行以下程序比较一下
clear;
x=[1 2 3 4 5];
y=[4 4.5 6 8 10];
p=polyfit(x,y,1);
xx=0:0.1:6;
figure(1);plot(x,y,'*',xx,polyval(p,xx));
u=inline('a(1)*exp(a(2)*x)','a','x');
a=nlinfit(x,y,u,ones(2,1))
y2=a(1)*exp(a(2)*xx);
figure(2);plot(x,y,'*',xx,y2);

你好,我不是来回答问题的。我是看到你之前有一个提问找matcom for bcb,不知道你现在还有没有那个安装,有的话可以发给我一份吗?我的邮箱是bt3118020501@126.com,谢谢你!