clc;clear
x=1:5;
y=[2 4 5 7 9];
%1非线性回归方法
fun=inline('a(1)x+a(2)','a','x')%规定方程类型
a=nlinfit(x,y,fun,[1 1])%a就是回归系数
x1=x(1):005:x(end);%x的间隔更小些
y1=a(1)x1+a(2);%代入回归方程
plot(x,y,'o',x1,y1)%绘图
%2线性回归方法
x2=x(1):005:x(end);
pp=polyfit(x,y,1)%pp为回归系数
y2=polyval(pp,x2);%代入回归方程
figure%再画一个图
plot(x,y,'',x2,y2)
y=poly2sym(pp,'x')%转化为代数方程形式
运行结果:
a =
17000
03000
pp =
17000 03000
y =17x+03
我以为你想知道的是以下几个问题,
1、画直线,在绘图界面调出绘图编辑工具栏,如下所示:
之后可画直线
2、获得曲线上点,使用ginput命令
如下命令
t=-10:01:10;
Y=sin(t)^2exp(-01t)-05abs(t);
clf,
plot(t,Y,'r')
hold on
plot(t,zeros(size(t)),'k')
xlabel('t'),ylabel('y(t)')
hold off
zoom on
[tt,yy]=ginput(10);
zoom off;
tt
yy
3、曲线拟合
x=1:100;
y=randn(1,100);
plot(x,y,'');%散点图
p = polyfit(x,y,1);
hold on
a=p(1)
b=p(2)
z=ax+b;
plot(x,z)%拟合曲线
hold off
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)