有关matlab画直线

来源:百度知道 编辑:UC知道 时间:2024/06/01 01:07:15
x=[1:5];
y=[2,4,5,7,9];
怎样用matlab拟和成直线

谢谢

可以用两种办法实现,结果一样:
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):0.05:x(end);%x的间隔更小些
y1=a(1)*x1+a(2);%代入回归方程
plot(x,y,'o',x1,y1)%绘图
%【2】线性回归方法
x2=x(1):0.05:x(end);
pp=polyfit(x,y,1)%pp为回归系数
y2=polyval(pp,x2);%代入回归方程
figure%再画一个图
plot(x,y,'*',x2,y2)
y=poly2sym(pp,'x')%转化为代数方程形式

运行结果:
a =
1.7000
0.3000

pp =
1.7000 0.3000

y =1.7*x+0.3

>> x=[1:5];
>> y=[2,4,5,7,9];
>> a= polyfit(x,y,1);
>> b = polyval(a,x);
>> plot(x,y,'*',x,b)

第三行的 polyfit中的1表示用一次多项式拟合,也就是直线了
第四行的 b表示拟合的多项式的每一个系数
polyval用来求拟合后的多项式在x处的值
第五行的 开始作图了,前面三个参数把要拟合的点画出来
后面的两个参数在画拟合后的线