如何用matlab求最小二乘法

 我来答
匿名用户
2017-08-20
展开全部
fz=@(z,x)z(1)*x.^2+z(2)*x+z(3),'z','x';[z,resnorm,residual,exitflag,output]=lsqcurvefit(fz,z0,x,y,[],[],options)z0为系数矩阵初值一般评价最小二乘非线性拟合不是用相关性系数,而是用residual,残差或残差平方和再有一种是用nonfit,很简单的一种非线性回归,不用写函数格式我没有看清楚,不好意思,所谓偏最小二乘法,就是指在做基于最小二乘法的线性回归分析之前,对数据集进行主成分分析降维,将最后得到的主成分作为输入的x,你可以看一下princomp这个函数是进行主成分分析的
百度网友fa0075460
2020-10-23
知道答主
回答量:12
采纳率:0%
帮助的人:6135
展开全部
举例
x=[0 0.2 0.4 0.6 0.8 1.0]; %测得的温度数据
y=[0 0.19 0.32 0.46 0.66 0.83]; %测得的电容数据
p=polyfit(x,y,1) %调用拟合函数
x1=0:0.1:1.2; %设置采样区间,采样点
y1=polyval(p,x1); %计算多项式在x1处的值
plot(x,y,'*r',x1,y1,'-b');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-09-19
展开全部
线性最小二乘法的函数:isqlin非线性最小二乘法的函数:isqcurvefit具体用法自己doc命令查吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LEO__HAO
2017-09-19 · TA获得超过196个赞
知道答主
回答量:36
采纳率:100%
帮助的人:14.6万
展开全部
Matlab中提供的 lsqcurvefit() 函数。
调用格式:[a,Jm]=lsqcurvefit(Fun,a0,x,y)
Fun为原型函数的matlab表示,可以使M=函数或是inline()函数,a0是最优化的初值,x,y是原始输入数据向量,调用该函数则将返回待定系数向量a以及系数的目标函数Jm。
例:
x=0.1:0.1:1;
y=[2.3201,2.6470,2.9707,3.2886,3.6008,3.9090,4.2147,4.5191,4.8232,5.1275];
%建立Matlab函数原型为M-函数
function y=sss(a,x)
y=a(1)*x+a(2)*x.^2*exp(-a(3)*x)+a(4);
>>a=lsqcurvefit(@sss,[1,2,2,3],x,y)
a=2.4587 2.4489 1.4466 2.0734
参考资料: 精通Matlab
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式