zoukankan      html  css  js  c++  java
  • [matlab] 1.拟合

    x = [1 2 3 4 5 6 7 8 9 ];
    y = [9 7 6 3 -1 2 5 7 20];
    
    p=polyfit(x,y,3);  %数字代表拟合函数的阶数
    xi=0:0.01:10;
    yi=polyval(p,xi);
    plot(x,y,'r>',xi,yi)
    
    
    for i=1:9
        text(x(i)+0.1,y(i)+0.02,num2str(i)) ; %加上0.1使标号和点不重合,标记每个点
    end

    也可以使用GUI工具箱来产生多项式拟合

    选定matlab 工作空间中x,y的值

    然后点击matlab菜单栏的绘图,选择如下  或者直接在命令行窗口输入cftool

     也可以指定函数进行拟合

    拟合函数 f(t)=acos(kt)e^(wt)
    syms t
    x=[0;0.4;1.2;2;2.8;3.6;4.4;5.2;6;7.2;8;9.2;10.4;11.6;12.4;13.6;14.4;15]; %数据必须为列向量
    y=[1;0.85;0.29;-0.27;-0.53;-0.4;-0.12;0.17;0.28;0.15;-0.03;-0.15;-0.071;0.059;0.08;0.032;-0.015;-0.02];%数据必须为列向量
    subplot(1,2,1)
    plot(x,y,'r<');
    % 拟合函数 f(t)=acos(kt)e^(wt)
    f=fittype('a*cos(k*t)*exp(w*t)','independent','t','coefficients',{'a','k','w'});
    polyfun=fit(x,y,f); %显示拟合函数
    xi=0:0.01:20;
    yi=polyfun(xi);
    subplot(1,2,2)
    plot(x,y,'rs',xi,yi,'.');

     

    拟合函数为 f(t)=0.9987cos(1.001t)e^-0.2066t
  • 相关阅读:
    MSSQL转MySql
    MVC 4中的坑
    IIS错误记录
    MongoDB C#备忘
    IL指令集 收藏【转载】
    使用aforg.net 录制摄像头 附源码
    使用aforg.net 捕获摄像头 附源码
    Tesseract parameters in 3.02 version
    Unity平台宏定义
    unity3d杂录【2】
  • 原文地址:https://www.cnblogs.com/clemente/p/9512483.html
Copyright © 2011-2022 走看看