zoukankan      html  css  js  c++  java
  • Matlab拟合

    实验目的

      (1)掌握曲线拟合的相应算法;

      (2)将拟合与插值法进行比较。

    实验要求

      实验步骤要有模型建立,模型求解、结果分析。

    实验内容

      (1)用给定的多项式,如y=x3-6x2+5x-3,产生一组数据(xi,yi,i=1,2,…,n),再在yi上添加随机干扰(可用rand产生(0,1)均匀分布随机数,或用rands产生N(0,1)分布随机数),然后用xi和添加了随机干扰的yi作的3次多项式拟合,与原系数比较。如果作2或4次多项式拟合,结果如何? 

      (2)用电压V=10伏的电池给电容器充电,电容器上t时刻的电压为   ,其中V0是电容器的初始电压,  是充电常数。试由下面一组t,V数据确定V0,τ 

    t()

    0.5

    1

    2

    3

    4

    5

    7

    9

    V()

    6.36

    6.48

    7.26

    8.22

    8.66

    8.99

    9.43

    9.63

    实验步骤

      (1)解:编程解题,取[1,23]为例展示,代码

     1 %% 给定x,得到y
     2 x=1:0.1:23;
     3 y=x.^3-6*x.^2+5*x-3;
     4 y0=y+rand;%随机干扰
     5 %% 输出多项式系数
     6 f1=[1 -6 5 -3];%原系数
     7 f2=polyfit(x,y0,2);%2次多项式
     8 f3=polyfit(x,y0,3);%3次多项式
     9 f4=polyfit(x,y0,4);%4次多项式
    10 %% 输出图像
    11 % 计算各x点拟合值
    12 y2=polyval(f2,x);
    13 y3=polyval(f3,x);
    14 y4=polyval(f4,x);
    15 % 画图
    16 figure,subplot(2,2,1)
    17 plot(x,y,'r','LineWidth',3);%原图像
    18 legend('原函数','Location','northwest');
    19 title('[1,23]原函数图像');
    20 xlabel('x轴');
    21 ylabel('y轴');
    22  
    23 subplot(2,2,2)
    24 plot(x,y,'r',x,y2,'b','LineWidth',1,'LineWidth',2)%2次多项式拟合
    25 legend('原函数','2次多项式拟合','Location','northwest');
    26 title('[1,23]的2次拟合函数及原函数图像');
    27 xlabel('x轴');
    28 ylabel('y轴');
    29  
    30 subplot(2,2,3)
    31 plot(x,y,'rs',x,y3,'y','LineWidth',1,'LineWidth',2)%3次多项式拟合
    32 legend('原函数','3次多项式拟合','Location','northwest');
    33 title('[1,23]的3次拟合函数及原函数图像');
    34 xlabel('x轴');
    35 ylabel('y轴');
    36  
    37 subplot(2,2,4)
    38 plot(x,y,'rs',x,y4,'g','LineWidth',1,'LineWidth',2);%4次多项式拟合
    39 legend('原函数','4次多项式拟合','Location','northwest');
    40 title('[1,23]的4次拟合函数及原函数图像');
    41 xlabel('x轴');
    42 ylabel('y轴');
    43  
    44  
    45  
    题1_MATLAB

      程序运行

      原系数:1,-6,5,-3;

      二次拟合系数:30,-353.7420,846.8601;

      三次拟合系数:1,-6,5,-2.0439;

      四次拟合系数:-4.6603e-17,1,-6,5,-2.0439。

      右上述运行的结论,得出三次拟合系数与原系数相差不大,只有常数项不一样;四次系数的四次项的系数几乎为0,而接下来的系数与原系数相差就在常数项中;只有二次拟合的系数相差巨大。

      由图可见,三次多项式和四次多项式的拟合效果较好。二次多项式拟合效果较差。

      (2)解:根据题意得,v(t)与T呈指数变化关系,本报告使用指数曲线拟合(非线性拟合),对题干中的变量做新的阐述,v1代替v(t),t0代替τ,v2是拟合后的曲线方程,对v(t)=v-(v-v0)e(-t/τ)取对数,有,则。编程解题,代码

     1 %题2
     2 t=[0.5 1 2 3 4 5 7 9];
     3 v1=[6.36 6.48 7.26 8.22 8.66 8.99 9.43 9.63];
     4 y=log(10-v1);
     5 f=polyfit(t,y,1);
     6 t0=-1/f(1);
     7 v0=10-exp(f(2));
     8 v2=10-(10-v0)*exp(-t/t0);
     9 plot(t,v1,'rx',t,v2,'k:','LineWidth',2,...
    10     'LineWidth',2);
    11 grid on
    12 legend('原始数据','曲线拟合','Location','northwest');
    13 xlabel('时间t(s)'),ylabel('充电电压(V)');
    14 title('电容器充电电压与时间t的曲线');
    15  
    题2_MATLAB

      运行示例,

       由图示,拟合效果良好,解得t0=3.5269,v0=5.6221。也就是τ=3.5269。

    小结

       使用曲线拟合之前最好对该曲线的的可能拟合的方程做大致的估计,并且在拟合完成之后,应当使用其他数据进行检验。

  • 相关阅读:
    Daily Scrum – 1/15
    Daily Scrum – 1/12
    Daily Scrum – 1/11
    Daily Scrum – 1/7
    Daily Scrum – 1/6
    Daily Scrum – 1/5
    Daily Scrum – 1/4
    1/13 update
    stand up meeting 1--11
    stand up meeting 1-6
  • 原文地址:https://www.cnblogs.com/jianle23/p/12950478.html
Copyright © 2011-2022 走看看