24小时热门版块排行榜    

查看: 2466  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

bloomi

新虫 (初入文坛)

[求助] matlab非线性分段方程拟合 急~谢谢~ 已有2人参与

初学者求帮忙!
matlab非线性分段方程拟合 急~谢谢~
如图所示是一组非线性分段方程,其中待拟合参数有:T0,Ta,tm,δT,以及分段点ts。
我尝试使用lsqcurvefit进行拟合,但是代码编写有一些问题。。查阅相关资料也不太知道这种分段点就是未知参数的方程应该如何编程,希望大家给予帮助


xdata = [ 5.5000    6.5000    7.5000    8.5000    9.5000   10.5000   11.5000   12.5000 13.5000   14.5000   15.5000   16.5000   17.5000   18.5000   19.5000   20.5000   21.5000   22.5000   23.5000   24.5000    1.5000    2.5000    3.5000    4.5000];
ydata = [299.0545  300.8932  304.5193  308.6715  311.6907  315.0223  315.7924  317.1786  315.0809  313.1319  312.8464  309.4712  305.4651  304.1893  302.5152  301.9055  303.4350  299.9959  299.2613  299.7677  299.4591  298.5113  298.7621  298.6650];
x0 = [299.05  40  14  0.5  17.4];

function F = fun(x,xdata)
if xdata > x(5)
    w = 4/3*(x(3) - 5.4);
    F = a + b*cos( 3.14/w.*( xdata -c ) );
elseif xdata <= x(5)
    w = 4/3*(c - 5.4);
    k = w/3.14 * ( atan( 3.14/w*(x(5)-x(3)) ) - d/b*asin( 3.14/w*( x(5)-x(3) ) ) );
    F = a + d + ( b*cos( 3.14/w*(ee-c) ) - d ) * k/( k + xdata - ee );
end
end

[x,resnorm] = lsqcurvefit(@fun,x0,xdata,ydata);

这样运行之后会报错:
Error using feval
Output argument "F" (and maybe others)
not assigned during call to
"F:\DTC\pros\fun1012.m>fun1012".

Error in lsqcurvefit (line 203)
            initVals.F =
            feval(funfcn_x_xdata{3},xCurrent,XDATA,varargin{:});
            
Caused by:
    Failure in initial user-supplied
    objective function evaluation.
    LSQCURVEFIT cannot continue.

最后应该就是没有F的返回值了。。。我这个语句写的应该是肯定有问题但是我不太知道是什么问题。。希望能够请高人指点一下 谢谢!!!!!
回复此楼

» 猜你喜欢

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

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

bloomi

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by 月只蓝 at 2014-10-13 09:56:31
推荐用1stopt软件来做。

因为要批量做,有2000多这样的方程需要拟合,(xdata ydata值不一样)所以希望写到程序里去
3楼2014-10-13 12:02:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

月只蓝

主管区长 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
推荐用1stopt软件来做。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2014-10-13 09:56:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

戴钢盔的猪头

木虫 (知名作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
bloomi: 金币+10, ★★★★★最佳答案 2014-10-15 10:09:56
分段函数最小二乘拟合目标函数导数不连续,可采用两段函数的加权加和作为拟合模型。加权因子假设分别为a和b,可设计连续光滑函数作为加权因子。这个函数需要表现出阶越性,可采用某个三角函数。三角函数都是初等函数,连续可导,故可设计加权函数满足:当t小于ts时,a=1,b=0,否则a=0,b=1。具体哪个三角函数呢?楼主自己去研究下吧,授人以鱼不如授人以渔。这个方法分两段,分多段都可以用。

[ 发自手机版 http://muchong.com/3g ]
4楼2014-10-14 15:48:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

戴钢盔的猪头

木虫 (知名作家)

【答案】应助回帖

引用回帖:
4楼: Originally posted by 戴钢盔的猪头 at 2014-10-14 15:48:59
分段函数最小二乘拟合目标函数导数不连续,可采用两段函数的加权加和作为拟合模型。加权因子假设分别为a和b,可设计连续光滑函数作为加权因子。这个函数需要表现出阶越性,可采用某个三角函数。三角函数都是初等函数 ...

补充a和b不是同一个函数,但用到同一个三角函数。

[ 发自手机版 http://muchong.com/3g ]
5楼2014-10-14 15:50:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 h4CP7TrQR8Lg 2026-08-22 5/250 2026-08-23 12:09 by LR9qGULyN2ew
[基金申请] 什么时候开奖? +9 CrisMessi 2026-08-18 10/500 2026-08-23 12:03 by 丶昵称占用
[基金申请] 2026国自然函评费到账 +15 羊腰板 2026-08-21 16/800 2026-08-23 10:45 by process2012
[基金申请] 让我中一个面上吧! +12 大萍1987 2026-08-20 14/700 2026-08-23 10:30 by wrm
[基金申请] 今天放榜吗? +15 布布和一二 2026-08-19 16/800 2026-08-23 09:55 by 张春生
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 DpSrDtM079iu 2026-08-22 5/250 2026-08-23 04:07 by OEbVnUOu01ol
[论文投稿] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 2JOx3r2CYEgw 2026-08-22 4/200 2026-08-23 04:04 by OEbVnUOu01ol
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 2JOx3r2CYEgw 2026-08-22 7/350 2026-08-23 03:55 by OEbVnUOu01ol
[论文投稿] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 2JOx3r2CYEgw 2026-08-22 5/250 2026-08-23 03:52 by OEbVnUOu01ol
[论文投稿] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 2JOx3r2CYEgw 2026-08-22 6/300 2026-08-23 03:40 by OEbVnUOu01ol
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 DpSrDtM079iu 2026-08-22 3/150 2026-08-23 00:55 by OEbVnUOu01ol
[基金申请] 93BebMhtakh前后11位开头都是大写 +7 且听虎啸 2026-08-17 8/400 2026-08-22 21:55 by 医学老男孩
[基金申请] 建议基金发布提前给出明确的时间点 +10 kulium 2026-08-21 13/650 2026-08-21 21:58 by alongwaytogo
[基金申请] 科研孤儿太难了 +17 我4大白菜 2026-08-20 18/900 2026-08-21 20:57 by zhangev
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 今天系统多次维护,明天很可能放榜! +10 zju2000 2026-08-16 11/550 2026-08-20 20:02 by cl479861084
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
信息提示
请填处理意见