Matlab强制拟合函数过零方法


某些情况下,需要强制目标函数通过原点,即0,0点,这时用常规的拟合方法,可能出现问题。不一定能过原点。使用非线性拟合方式来实现之。话不多说,咱们代码上见!

function [a] = solve_zerofit(xdata,ydata)

   a = lsqcurvefit(@targetfun, [1 2 3], xdata, ydata);     % [1 2 3] 为a的任意初值
   
   %%%%%%%%%%
   plot(xdata,ydata,'r')
   hold on
   syms x; 
   ezplot(targetfun(a,x),[-10,10]);       
   %%%%%%%%%%
   
   function  y = targetfun(a,x)                           % 函数原型 强制过零点拟合 
   y = a(1) * x + a(2) * x.^2 + a(3) * x.^3;              % 函数原型 强制过零点拟合 

 

点击数: 1679   打印  添加到收藏   发布时间: 2016-12-22




上一篇:清空USB FX2LP FIFO缓冲方法
下一篇:Matlab模拟PID方法-推荐





» 相关内容
  Chart1控件坐标轴范围设定和恢..
  一个二维码生成页面-简洁实用
  AD7656六通道16位逐次逼近型25..
  TTL和232/485电平不分导致串口..
  .net程序中给picturebox增加滚..
  Slave FIFO时TD_init函数常用..
  Android手机App内嵌入web交互..
  薏米仁的功效补气益脾除湿
  vb.net如何杀死目标进程win7-x..
  Try_Catch_Throw的使用方法
  .Net多线程更新UI或窗体控件内..
  单电源光电二极管接法-等效零..
  运放+达林顿管的恒流电路工作..
  运放的相位补偿技巧
  单电源供电-同向放大电路接法-..