MATLAB最小二乘法拟合曲线
x=[0.110.130.190.210.270.370.530.590.710.790.891.07];y=[3868-10663733-888.33659-789.6...
x=[0.11 0.13 0.19 0.21 0.27 0.37 0.53 0.59 0.71 0.79 0.89 1.07];
y=[3868-1066 3733-888.3 3659-789.6 3599-710.7 3508-592.2 3463-533 3335-367.6 3257-266.5 3215-213.2 3200-193.8 3125-133.3 3131-106.6];
x和Y的函数为y=a+bx^2
需拟合出关于想,x,y的曲线
请写出具体程序~~~~ 展开
y=[3868-1066 3733-888.3 3659-789.6 3599-710.7 3508-592.2 3463-533 3335-367.6 3257-266.5 3215-213.2 3200-193.8 3125-133.3 3131-106.6];
x和Y的函数为y=a+bx^2
需拟合出关于想,x,y的曲线
请写出具体程序~~~~ 展开
5个回答
展开全部
楼主是想把最小二乘法的算法体现出来么,看下面这段代码是不是你想要的:
x0=[0.11 0.13 0.19 0.21 0.27 0.37 0.53 0.59 0.71 0.79 0.89 1.07];
y0=[3868-1066 3733-888.3 3659-789.6 3599-710.7 3508-592.2 3463-533 3335-367.6 3257-266.5 3215-213.2 3200-193.8 3125-133.3 3131-106.6];
for i=1:3
xx0(i,1:length(x0))=x0.^(3-i);
end
coe=inv(xx0*xx0')*xx0*y0'
%以上得到y=-2808x^2+514.5x+2.7784,将给出点和拟合曲线画在同意图中如下%
plot(x0,y0,'b*');
hold on;
x=0:0.01:1.5;
y=-280*x.^2+514.5*x+2778.4;
plot(x,y,'.');
看拟合图线比较吻合楼主你给的公式是不是有问题,结果又x的一次项
富港检测技术(东莞)有限公司_
2024-04-02 广告
2024-04-02 广告
正弦振动多用于找出产品设计或包装设计的脆弱点。看在哪一个具体频率点响应最大(共振点);正弦振动在任一瞬间只包含一种频率的振动,而随机振动在任一瞬间包含频谱范围内的各种频率的振动。由于随机振动包含频谱内所有的频率,所以样品上的共振点会同时激发...
点击进入详情页
本回答由富港检测技术(东莞)有限公司_提供
展开全部
最小二乘法不难,
就是一个目标函数求极值问题,
目标函数是
err0=(5.6-f(3))^2+(5.81-f(4))^2+...+(5.96-f(8))^2
erro函数再对a0,a1,...
^a4
求导,令倒数为零即可。
就是一个目标函数求极值问题,
目标函数是
err0=(5.6-f(3))^2+(5.81-f(4))^2+...+(5.96-f(8))^2
erro函数再对a0,a1,...
^a4
求导,令倒数为零即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如上所述,采用polyfit来拟合,二次多项式polyfit(x,y,2)
x=[0.11 0.13 0.19 0.21 0.27 0.37 0.53 0.59 0.71 0.79 0.89 1.07];
y=[3868-1066 3733-888.3 3659-789.6 3599-710.7 3508-592.2 3463-533 3335-367.6 3257-266.5 3215-213.2 3200-193.8 3125-133.3 3131-106.6];
p=polyfit(x,y,2);
hold on;
plot(x,y,'o')
plot(x,polyval(p,x),'r');
x=[0.11 0.13 0.19 0.21 0.27 0.37 0.53 0.59 0.71 0.79 0.89 1.07];
y=[3868-1066 3733-888.3 3659-789.6 3599-710.7 3508-592.2 3463-533 3335-367.6 3257-266.5 3215-213.2 3200-193.8 3125-133.3 3131-106.6];
p=polyfit(x,y,2);
hold on;
plot(x,y,'o')
plot(x,polyval(p,x),'r');
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用nonlinfit,或者多项式拟合polyfit(x,y,2),或者非线性曲线拟合指令lsqcurvefit
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
x=[0.11 0.13 0.19 0.21 0.27 0.37 0.53 0.59 0.71 0.79 0.89 1.07];
y=[3868-1066 3733-888.3 3659-789.6 3599-710.7 3508-592.2 3463-533 3335-367.6 3257-266.5 3215-213.2 3200-193.8 3125-133.3 3131-106.6];
f=@(p,x)p(1)+p(2)*x.^2;
p=nlinfit(x,y,f,[1000,1000])% p(1)即a,p(2)即b
%p =
% 1.0e+003 *
% 2.8813 0.1636
x1=0:0.1:1.2;
y1=p(1)+p(2)*x1.^2;
plot(x,y,'or',x1,y1,'b')%查看拟合效果,看出用拟合公式拟合的不好
y=[3868-1066 3733-888.3 3659-789.6 3599-710.7 3508-592.2 3463-533 3335-367.6 3257-266.5 3215-213.2 3200-193.8 3125-133.3 3131-106.6];
f=@(p,x)p(1)+p(2)*x.^2;
p=nlinfit(x,y,f,[1000,1000])% p(1)即a,p(2)即b
%p =
% 1.0e+003 *
% 2.8813 0.1636
x1=0:0.1:1.2;
y1=p(1)+p(2)*x1.^2;
plot(x,y,'or',x1,y1,'b')%查看拟合效果,看出用拟合公式拟合的不好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询