代戚坦码如下:
% 初始数模谨据
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))clearclcn=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))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)