matlab中lsqnonlin,求解非线性最小二乘(非线性数据拟合)问题

在求解过程发生时和发生后都对其进行检查(通过将 Display 选项设置为 'iter' 在发生时进行检查,通过检查 output 结构体在发生后进行检查)。

假设您有观测时间数据 xdata 和观测响应数据 ydata,并且要求得参数 x(1) 和 x(2) 以拟合以下形式的模型

ydata=x(1)exp(x(2)xdata).

输入观测时间和响应。

xdata = ...

[0.9 1.5 13.8 19.8 24.1 28.2 35.2 60.3 74.6 81.3];

ydata = ...

[455.2 428.6 124.1 67.3 43.2 28.1 13.1 -0.4 -1.3 -1.5];

创建简单的指数衰减模型。该模型计算预测值和观测值之间的差组成的向量。

fun = @(x)x(1)*exp(x(2)*xdata)-ydata;

以 x0 = [100,-1] 为起点拟合模型。通过将 Display 选项设置为 'iter' 来检查求解过程。获取 output 结构体以获取有关求解过程的详细信息。

x0 = [100,-1];

options = optimoptions('lsqnonlin','Display','iter');

[x,resnorm,residual,exitflag,output] = lsqnonlin(fun,x0,[],[],options);

Norm of First-order

Iteration Func-count f(x) step optimality

0 3 359677 2.88e+04

Objective function returne

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值