24小时热门版块排行榜    

查看: 3194  |  回复: 18

小小莓邮

铁虫 (小有名气)

[求助] matlab拟合参数显示初始点是一个局部最小值 已有5人参与

小弟最近刚学习用matlab拟合参数,但编写完运行显示Initial point is a local minimum.得到的k值为k0,求给位大神给指点一下怎么解决这种问题!急求,新人啥也不懂啊!先在此谢过啦!
function zixie
clear all;
clc;
data=[0 8.32 0;
    1 7.37 0.211;
    2 6.74 0.738;
    3 5.92 1.106;
    4 5.68 1.296;
    5 5.01 1.583;
    6 6.09 1.364;
    8 5.35 1.84;
    10 4.99 2];
x0=[8.32 0];
k0=[10 10 10 10 10 ];
lb=[0 0 0 0 0];
ub=[+inf +inf +inf +inf +inf];
yexp=data(:,2:3);
[k,resnorm,residual,exitflag,output,lambda,jacobin]=lsqnonlin(@objFunc1,k0,lb,ub,[],x0,yexp)
fprintf('\tk1=%.4\n',k(1)),
fprintf('\tk2=%.4\n',k(2)),
fprintf('\tk3=%.4\n',k(3)),
fprintf('\tk4=%.4\n',k(4)),
fprintf('\tk5=%.4\n',k(5))
function f=objFunc1(k,x0,yexp)
tspan=[0 1 2 3 4 5 6 8 10];
[t x]=ode45(@funceqs,tspan,x0,[],k);
y(:,1)=x(:,1);
y(:,2)=x(:,2);
f1=y(:,1)-yexp(:,1);
f2=y(:,2)-yexp(:,2);
f=[f1;f2];
function dxdt=funceqs(t,x,k)
dx1dt=-k(1)*k(2)*x(1)*sqrt(k(3)*x(2))/(k(1)+k(2)*x(1))-k(4)*k(5)*x(2);
dx2dt=k(1)*k(2)*x(1)*sqrt(k(3)*x(2))/(k(1)+k(2)*x(1))+k(5)*x(2);
dxdt=[dx1dt;dx2dt];

Initial point is a local minimum.


Optimization completed because the size of the gradient at the initial point
is less than the default value of the function tolerance.


<stopping criteria details>
k =

    10   10   10    10    10
Optimization completed: The final point is the initial point.
The first-order optimality measure, 0.000000e+00, is less than
options.TolFun = 1.000000e-06.

Optimization Metric                                   Options
relative first-order optimality =   0.00e+00         TolFun =   1e-06 (default)

>>
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖


感谢参与,应助指数 +1
fegg7502: 金币+1, 3ks 2014-02-27 08:43:13
k0=[10 10 10 10 10 ] 换成其他数值试试。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2014-02-26 22:02:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

戴钢盔的猪头

木虫 (知名作家)

【答案】应助回帖


感谢参与,应助指数 +1
fegg7502: 金币+1, 3ks 2014-02-27 08:43:23
你赋的初值是局部极值。换个初值试试。

[ 发自手机版 http://muchong.com/3g ]
3楼2014-02-26 22:09:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖


感谢参与,应助指数 +1
fegg7502: 金币+1, 鼓励交流 2014-02-27 08:43:32
x2的起始值为0(0 8.32 0)有问题吧?会导致计算值全部为0;

还有公式还可以化简,否则有过拟合现象。

dx1dt=-k1*k2*x1*sqrt(k3*x2)/(k1+k2*x1)-k4*k5*x2;
dx2dt=k1*k2*x1*sqrt(k3*x2)/(k1+k2*x1)+k5*x2;

可简化为:

dx1dt=-x1*sqrt(x2)/(k1+k2*x1)-k4*k5*x2;
dx2dt=x1*sqrt(x2)/(k1+k2*x1)+k5*x2;
4楼2014-02-26 23:10:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pdl9527

专家顾问 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
fegg7502: 金币+1, 鼓励交流 2014-02-27 08:43:41
先用原方程线性化求得K作为初值,然后再用最小二乘拟合~~
5楼2014-02-27 00:00:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小小莓邮

铁虫 (小有名气)

引用回帖:
3楼: Originally posted by 戴钢盔的猪头 at 2014-02-26 22:09:59
你赋的初值是局部极值。换个初值试试。

弱弱的问一句,这个局部初值是什么意思!是像楼上说的只要更改待估计参数k的初值就能解决吗?
6楼2014-02-27 09:45:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小小莓邮

铁虫 (小有名气)

引用回帖:
2楼: Originally posted by 月只蓝 at 2014-02-26 22:02:02
k0= 换成其他数值试试。

也就是说这造成这种现象是初值的原因是吧!有没有什么方法可以先初步估计一下初值,然后再以这个值为初值进一步估计参数?
7楼2014-02-27 09:49:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

戴钢盔的猪头

木虫 (知名作家)

【答案】应助回帖

引用回帖:
6楼: Originally posted by 小小莓邮 at 2014-02-27 09:45:06
弱弱的问一句,这个局部初值是什么意思!是像楼上说的只要更改待估计参数k的初值就能解决吗?...

不是局部初值,是局部极值。打个比方讲,比如类似f(x)=1*exp(-(x-1).^2)+2*exp(-(x-10).^2)这样的函数,如果作图应该是两个高斯型,在x=1处有个局部极大值,周围的点对应函数值都没有f(1)大。如果采用这样的初值,就无法寻找函数的全局极值。事实上显然f(x)的极大值出现在f(10)=2。初值赋得不好可能导致运算陷入局部极值,无法收敛。

[ 发自手机版 http://muchong.com/3g ]
8楼2014-02-27 10:05:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小小莓邮

铁虫 (小有名气)

引用回帖:
4楼: Originally posted by dingd at 2014-02-26 23:10:52
x2的起始值为0(0 8.32 0)有问题吧?会导致计算值全部为0;

还有公式还可以化简,否则有过拟合现象。

dx1dt=-k1*k2*x1*sqrt(k3*x2)/(k1+k2*x1)-k4*k5*x2;
dx2dt=k1*k2*x1*sqrt(k3*x2)/(k1+k2*x1)+k5*x2;

...

x2是产物。t=0时是为0啊,不过计算值出来每个点都是x0这个初值。这是什么原因?是x2=0造成的吗?
9楼2014-02-27 10:05:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小小莓邮

铁虫 (小有名气)

引用回帖:
5楼: Originally posted by pdl9527 at 2014-02-27 00:00:32
先用原方程线性化求得K作为初值,然后再用最小二乘拟合~~

这个方程可以线性化吗?求指点
10楼2014-02-27 10:06:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 小小莓邮 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 294求调剂材料与化工专硕 +9 陌の森林 2026-03-18 9/450 2026-03-19 11:12 by kakakapanpan
[考研] 一志愿西安交通大学材料工程专业 282分求调剂 +5 枫桥ZL 2026-03-18 5/250 2026-03-19 11:08 by kakakapanpan
[考研] 能源材料化学课题组招收硕士研究生8-10名 +4 脱颖而出 2026-03-16 11/550 2026-03-19 08:11 by 脱颖而出
[考研] 304求调剂 +6 司空. 2026-03-18 6/300 2026-03-18 23:03 by 星空星月
[考研] 085410人工智能专硕317求调剂(0854都可以) +3 xbxudjdn 2026-03-18 3/150 2026-03-18 22:14 by zhq0425
[考研] 【同济软件】软件(085405)考研求调剂 +3 2026eternal 2026-03-18 3/150 2026-03-18 19:09 by 搏击518
[考研] 295求调剂 +3 一志愿京区211 2026-03-18 5/250 2026-03-18 17:03 by zhaoqian0518
[考研] 298-一志愿中国农业大学-求调剂 +7 手机用户 2026-03-17 7/350 2026-03-18 14:34 by vgtyfty
[考研] 材料专硕306英一数二 +10 z1z2z3879 2026-03-16 13/650 2026-03-18 14:20 by 007_lilei
[考研] 312求调剂 +8 陌宸希 2026-03-16 9/450 2026-03-18 12:39 by Linda Hu
[考研] 326求调剂 +5 上岸的小葡 2026-03-15 6/300 2026-03-17 17:26 by ruiyingmiao
[考研] 290求调剂 +3 p asserby. 2026-03-15 4/200 2026-03-17 16:35 by wangkm
[考研] 0703一志愿211 285分求调剂 +5 ly3471z 2026-03-13 5/250 2026-03-16 16:16 by 哦哦123
[考研] 327求调剂 +6 拾光任染 2026-03-15 11/550 2026-03-15 22:47 by 拾光任染
[考研] 求老师收留调剂 +4 jiang姜66 2026-03-14 5/250 2026-03-15 20:11 by Winj1e
[考研] 085601材料工程315分求调剂 +3 yang_0104 2026-03-15 3/150 2026-03-15 10:58 by peike
[考研] 材料与化工 323 英一+数二+物化,一志愿:哈工大 本人本科双一流 +4 自由的_飞翔 2026-03-13 5/250 2026-03-14 19:39 by hmn_wj
[考研] 266求调剂 +4 学员97LZgn 2026-03-13 4/200 2026-03-14 08:37 by zhukairuo
[考研] 材料301分求调剂 +5 Liyouyumairs 2026-03-12 5/250 2026-03-13 14:42 by JourneyLucky
[考研] 070303一志愿西北大学学硕310找调剂 +3 d如愿上岸 2026-03-13 3/150 2026-03-13 10:43 by houyaoxu
信息提示
请填处理意见