怎样用matlab作数据的最小二乘拟合

时间(小时)0.250.50.7511.522.533.544.55酒精含量306875828277686858515041时间(小时)67891011121314151... 时间(小时) 0.25 0.5 0.75 1 1.5 2 2.5 3 3.5 4 4.5 5
酒精含量 30 68 75 82 82 77 68 68 58 51 50 41
时间(小时) 6 7 8 9 10 11 12 13 14 15 16
酒精含量 38 35 28 25 18 15 12 10 7 7 4
展开
 我来答
南柯一梦影视
高粉答主

2018-04-04 · 每个回答都超有意思的
知道大有可为答主
回答量:77
采纳率:100%
帮助的人:2.5万
展开全部

用polyfit()语句可以,


polyfit(x,y,拟合次数n);


x,y是你的数据,n是你要进行几次拟合,填1的话为一次也就是最小二乘法拟合


你可以这样写


x=[ 0.25 0.5 0.75 1 1.5 2 2.5 3 3.5 4 4.5 5 6 7 8 9 10 11 12 13 14 15 16];


y=[30 68 75 82 82 77 68 68 58 51 50 41 38 35 28 25 18 15 12 10 7 7 4];


p=polyfit(x,y,1);


plot(x,y,'b',x,polyval(p,x),'r');  %如果作图的话,蓝线为原数据,红线为拟合数据。

先画散点图大致确定曲线类型。然后用polyfit,polyval函数(这两个是多项式拟合的),比如指数型,取对数就可以用。函数用法百度下就好。

百度网友d53e6ce3c
2010-08-23
知道答主
回答量:11
采纳率:0%
帮助的人:0
展开全部
用polyfit()语句可以
polyfit(x,y,拟合次数n);
x,y是你的数据,n是你要进行几次拟合,填1的话为一次也就是最小二乘法拟合
你可以这样写
x=[ 0.25 0.5 0.75 1 1.5 2 2.5 3 3.5 4 4.5 5 6 7 8 9 10 11 12 13 14 15 16];
y=[30 68 75 82 82 77 68 68 58 51 50 41 38 35 28 25 18 15 12 10 7 7 4];
p=polyfit(x,y,1);
plot(x,y,'b',x,polyval(p,x),'r'); %如果作图的话,蓝线为原数据,红线为拟合数据
不知道对你有没有帮助
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Carrot_hy
2010-08-23 · TA获得超过1836个赞
知道小有建树答主
回答量:374
采纳率:0%
帮助的人:231万
展开全部
clc;clear;
t=[0.25 0.5 0.75 1 1.5 2 2.5 3 3.5 4 4.5 5 6 7 8 9 10 11 12 13 14 15 16];
w=[30 68 75 82 82 77 68 68 58 51 50 41 38 35 28 25 18 15 12 10 7 7 4];
plot(t,w,'o');%绘制输入数据点
n=input('Please input the order n =');%输入拟合阶次
p=polyfit(t,w,n);%得到拟合多项式的系数
tt=linspace(0,16,100);
ww=polyval(p,tt);
hold on;
plot(tt,ww);
hold off;
fprintf('%.0f 阶拟合多项式的系数为',n);p
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式