
求教用matlab实现最小二乘法拟合直线
公式是Y=(rt)^(3-c)要求拟合为横坐标是lnY,纵坐标是lnrt的直线请问此程序怎么编写?重谢rt=(1,1.4,1.6,2,2.4,2.6,3,3.6,4,4....
公式是Y=(rt)^(3-c) 要求拟合为横坐标是lnY,纵坐标是lnrt 的直线
请问此程序怎么编写?重谢
rt=(1,1.4,1.6,2,2.4,2.6,3,3.6,4,4.6,5,6) 对应的Y=(0.264241,0.408167,0.475069,0.593994,0.691559,0.732615,0.800852,0.874311,0.908422,0.94371,0.959572,0.982649) 顺便问一下用matlab能求出回归方程吗?还有相关系数,我对matlab不太懂,谢谢 展开
请问此程序怎么编写?重谢
rt=(1,1.4,1.6,2,2.4,2.6,3,3.6,4,4.6,5,6) 对应的Y=(0.264241,0.408167,0.475069,0.593994,0.691559,0.732615,0.800852,0.874311,0.908422,0.94371,0.959572,0.982649) 顺便问一下用matlab能求出回归方程吗?还有相关系数,我对matlab不太懂,谢谢 展开
1个回答
展开全部
rt=[1 1.4 1.6 2 2.4 2.6 3 3.6 4 4.6 5 6];
y=[0.264241,0.408167,0.475069,0.593994,0.691559,0.732615, ...
0.800852,0.874311,0.908422,0.94371,0.959572,0.982649];
p=polyfit(log(rt),log(y),1) % 多项式拟合,取1次就是直线。结果p是多项式系数
xx=1:.1:6;
yy=exp( polyval(p,log(xx) ) ); % 求多项式的值,1次的话,2个系数,相当于y=p(1)*x+p(2)
plot(rt,y,'o',xx,yy); % 画图,原来的点用圈表示。
我试了一下,用直线拟合的不是很好,用二次多项式拟合就好多了。
y=[0.264241,0.408167,0.475069,0.593994,0.691559,0.732615, ...
0.800852,0.874311,0.908422,0.94371,0.959572,0.982649];
p=polyfit(log(rt),log(y),1) % 多项式拟合,取1次就是直线。结果p是多项式系数
xx=1:.1:6;
yy=exp( polyval(p,log(xx) ) ); % 求多项式的值,1次的话,2个系数,相当于y=p(1)*x+p(2)
plot(rt,y,'o',xx,yy); % 画图,原来的点用圈表示。
我试了一下,用直线拟合的不是很好,用二次多项式拟合就好多了。

2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询