zoukankan      html  css  js  c++  java
  • matlab 非线性曲线拟合

    %
    matlab 非线性曲线拟合, nlinfit & lsqcurvefit & lsqnonlin;
    %x0 初始向量
    %p 表达式参数变量
    xdata = [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];
    ydata = [30 68 75 82 82 77 68 68 58 51 50 41 38 35 28 25 18 15 12 10 7 7 4];
    figure(1);plot(xdata,ydata,'o');


    %%
    %(2):
    f=inline('函数表达式','p','xdata');%内联函数
    p=nlinfit(xdata,ydata,f,x0);
    %(3)
    p=lsqcurvefit(f, x0, xdata, ydata)
    %(4)
    p= lsqnonlin(f, x0)
    %%
    %(1):
    f1=inline('p1(1)*(exp(-p1(2)*xdata)-exp(-p1(3)*xdata))','p1','xdata');
    x0=[114 0.18 2.01];
    p1=nlinfit(xdata,ydata,f1,x0);
    figure(1);hold on;plot(xdata,p1(1)*(exp(-p1(2)*xdata)-exp(-p1(3)*xdata)),'r');
    %%(1):
    p2=lsqcurvefit(f1,x0, xdata, ydata) ;
    figure(1);hold on;plot(xdata,p2(1)*(exp(-p2(2)*xdata)-exp(-p2(3)*xdata)),'g')
    %%(2):
    p3=lsqnonlin(f,x0) ;
    figure(1);hold on;plot(xdata,p3(1)*(exp(-p3(2)*xdata)-exp(-p3(3)*xdata)),'m')

    %总结,效果基本一致;inlinfit对初值很敏感

    参考:http://blog.sina.com.cn/s/blog_6ef450c80101gi2s.html

  • 相关阅读:
    Flex布局-语法篇
    css grid布局
    js 方法的一些简写和技巧
    css瀑布流
    js防抖和节流
    js循环
    两行css代码实现居中元素
    手写代码部分
    BigDecimal类的概念和使用
    Math类的概念和使用
  • 原文地址:https://www.cnblogs.com/gkh-whu/p/10267674.html
Copyright © 2011-2022 走看看