如何用matlab拟合直线 求程序,刚接触什么都不懂,哪位大神帮帮忙

如何用matlab拟合直线 求程序,刚接触什么都不懂,哪位大神帮帮忙,第1张

代戚坦码如下:

% 初始数模谨据

x=[0.02,0.04,0.06,0.08,0.1]

y=[0.56,3.96,7.40,10.88,14.42]

% 拟合直线y=p(1)*x+p(2)

p=polyfit(x,y,1)

disp('matlab相约七点半 579164912')

% 显示拟合前后直线,其中方框为拟合前数据,直线为拟合后的直线

yy=polyval(p,x)

plot(x,y,'s',x,yy)

%拟合的直线旦仔基方程

y=poly2sym(p)

运行结果:

>>Untitled3

matlab相约七点半 579164912

 

y =

 

(866*x)/5 - 737/250

 觉得有帮助就采纳吧。

函液团数polyfit用于多项式曲线拟合\x0d\x0ap=polyfit(x,y,m)\x0d\x0a其中,x,y为已知数据点向量,分别表示横,纵唤埋高坐标,m为拟合多项式的次数,结和尺果返回m次拟合多项式系数,从高次到低次存放在向量p中.\x0d\x0a利用y0=polyval(p,x0),可求得多项式在x0处的值y0\x0d\x0a\x0d\x0a源程序如下:\x0d\x0ax=[12345]\x0d\x0ay=[3681115]\x0d\x0ap=polyfit(x,y,1)\x0d\x0ax0=1:7\x0d\x0aplot(x,y,'*',x0,polyval(p,x0))

clearclc

n=10

A=rand(n,1)

A=[-2+A*3,-3+A*4,-4+A*5]+1*(rand(n,3)-0.5)%n个随机点,自己改成想要陆派的数团衡据早或贺

F=@(p)arrayfun(@(n)norm(cross(A(n,:)-[p(1),p(2),p(3)],[p(4),p(5),p(6)]))/norm([p(4),p(5),p(6)]),[1:size(A,1)])

p=lsqnonlin(F,[1 1 1 1 1 1])

hold onview(3)grid on

t=linspace(-5,5)

plot3(A(:,1),A(:,2),A(:,3),'r.')

plot3(p(1)+t*p(4),p(2)+t*p(5),p(3)+t*p(6))

title(sprintf('拟合直线为:\n(%g,%g,%g)+(%g,%g,%g)t\n',p))


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12309533.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存