24小时热门版块排行榜    

查看: 2460  |  回复: 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的回帖

戴钢盔的猪头

木虫 (知名作家)

引用回帖:
7楼: Originally posted by bloomi at 2014-10-28 15:53:28
问个问题。。。“当t小于ts时,a=1,b=0,否则a=0,b=1”
在这样的条件下函数还能连续光滑吗。。。...

2/pi*arctan(w*x),x是实验参数(自变量),w是一个因子,越大阶越性越强,可以自行给出,尽量缩短转换带。你自己去画,再来说连不连续,可不可导。这个函数从-1阶越到1(还是有转换带的,但可以人为使之缩短到远小于采样间隔)。至于怎样阶越到0,自己去想,别再问我了。

[ 发自手机版 http://muchong.com/3g ]
8楼2014-10-28 17:39:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

月只蓝

主管区长 (职业作家)

【答案】应助回帖

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

戴钢盔的猪头

木虫 (知名作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 DpSrDtM079iu 2026-08-22 5/250 2026-08-23 04:07 by OEbVnUOu01ol
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 2JOx3r2CYEgw 2026-08-22 4/200 2026-08-23 03:55 by OEbVnUOu01ol
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 QTy3jDtz1uLt 2026-08-21 9/450 2026-08-23 03:04 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 医学老男孩
[基金申请] 什么时候开奖? +7 CrisMessi 2026-08-18 8/400 2026-08-22 18:29 by 淀粉搬运工
[教师之家] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 2JOx3r2CYEgw 2026-08-21 4/200 2026-08-22 16:52 by sunzitan
[基金申请] 今天基金会出结果吗?20260819 +16 kkkl_v 2026-08-19 17/850 2026-08-22 16:12 by 阿布Abu
[基金申请] 放榜前的不淡定 40+4 snowwithsea 2026-08-19 14/700 2026-08-21 23:51 by cratir
[基金申请] 建议基金发布提前给出明确的时间点 +10 kulium 2026-08-21 13/650 2026-08-21 21:58 by alongwaytogo
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +16 医学老男孩 2026-08-20 20/1000 2026-08-21 21:13 by Ldrop2023
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 感觉是下周放榜了 +7 angus9576 2026-08-17 12/600 2026-08-21 13:38 by weiyin
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[论文投稿] 投稿咨询 +5 wwm09 2026-08-17 7/350 2026-08-21 10:11 by 期刊论文帮手
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 估计是周四 +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
[基金申请] 今天放榜吗? +14 布布和一二 2026-08-19 15/750 2026-08-19 18:07 by gltch
信息提示
请填处理意见