ceres basic

12(10x)2.

the cost function also known as residual .

cost function 就是残差的意思啦。


不知道为什么定义这个cost functor  为10 -x

input the cost functor and out put cost function

costfunction we may not know 这个cost function 是ceres定义的? 我不清楚 helloworld



2那个自动求导和解析微分我没看懂

3.鲍威尔法,这个原理得看下最优化书才懂,代码实现使用轮子看起来挺简单

dense QR  QR分解用一个半正交矩阵和上三角矩阵的积求解

4.curve fitting

y=e0.3x+0.1y=e0.3x+0.1 


这个是初始function 加上个gaussian  sample 出一堆数据

然后用y=emx+c. 来拟合

struct ExponentialResidual {
  ExponentialResidual(double x, double y)
      : x_(x), y_(y) {}

  template <typename T>
  bool operator()(const T* const m, const T* const c, T* residual) const {
    residual[0] = T(y_) - exp(m[0] * T(x_) + c[0]);
    return true;
  }

 private:
  // Observations for a sample.
  const double x_;
  const double y_;
};



这个residual 表示蛮搞的

// Data generated using the following octave code.
 // randn('seed', 23497);
 // m = 0.3;
 // c = 0.1;
 // x=[0:0.075:5];
 // y = exp(m * x + c);
 // noise = randn(size(x)) * 0.2;
 // y_observed = y + noise;
 // data = [x', y_observed'];

adding Gaussian noise with standard deviation σ=0.2σ=0.2. Let us fit some data to the curve

这个是用octave 生成的 randn(size(x))就是返回一个与x同样维数的随机数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值