怎样用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 展开
酒精含量 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 展开
3个回答
展开全部
用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函数(这两个是多项式拟合的),比如指数型,取对数就可以用。函数用法百度下就好。
TableDI
2024-07-18 广告
2024-07-18 广告
**VLOOKUP匹配功能简介**VLOOKUP是Excel中极为常用的一个函数,主要用于在表格的首列查找指定的值,并返回该行中指定列处的值。该函数对于数据整理、查找、核对等工作极为便利。使用时,需要明确查找值、查找区域、返回结果的列号以及...
点击进入详情页
本回答由TableDI提供
展开全部
用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(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'); %如果作图的话,蓝线为原数据,红线为拟合数据
不知道对你有没有帮助
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询