用matlab对酒精浓度进行数据拟合

本文通过绘制散点图分析了气体浓度(ppm)与酒精溶液百分比之间的关系,并利用MATLAB进行三次多项式拟合,最终得出精确的数学表达式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)先画出“气体浓度ppm与液体浓度%”之间的散点图,如下:

Data=[
        0.10 672
 0.15 700
 0.20 722
 0.25 729
 0.30 737
 0.35 737
 0.40 740
 0.45 748
 0.50 750
 0.55 755
 0.60 765
 0.65 770
 0.70 780
 0.75 790];
>> xData=Data(:,1);
yData=Data(:,2);
plot(xData,yData,'bo');
title('original data')

得到如下散点图:

2)判断曲线类型,由上面的散点图可知,气体浓度ppm随着酒精溶液的百分比增大,而增大。曲线走势是一个S型,

  可以把它看成是一个3次函数,即a*x^3+b*x^2+c*x+d

3)曲线拟合

在matlab的命令行输入:

>> A=[0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75] %自变量x的值
B=[672 700 722 729 737 740 745 748 750 755 765 770 780 790]    %因变量y的值
x=0.1:0.05:0.75  %变量x的取值范围
[P,S]=polyfit(A,B,3) %产生一个3次多项式P
poly2str(P,'x') %打印多项式P

-----------------------------------------------------------------------------------------

函数y--x,即f(x)=y,如下:

即y=f(x)=1180*x^3 - 1634*x^2 + 806*x + 611

4)验证

  新建一个.m文件,命名为jiujing.m,如下:

function jiuppm=jiujing(x);
  if x>=0 && x<0.03
      jiuppm=20+1000*x;
  elseif x>=0.03 && x<0.1
      jiuppm=400+1000*x;
  elseif x>=0.1 && x<=1
      jiuppm=1180*x.^3-1634*x.^2+806*x+611;
     
  end

------------------------------------------------------------------

在matlab的命令行窗口输入:>> jiujing(0.1)

结果为:,与实际值672相差不大,所以该函数拟合成功。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sanqima

一键三连,多多益善

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值