就像上面那样,橘色和蓝色是两条折线,求出它们的和绿色的折线。
1
shylockhg 2019-09-05 20:34:49 +08:00
什么序?
|
2
Tony042 2019-09-05 20:46:16 +08:00
上 Python 和 Scipy 吧,不清楚要怎么拟合这条线,可以试下线性回归?
|
3
Eleflea OP |
4
rogwan 2019-09-05 21:06:31 +08:00 via Android
这个折线是一个函数,还是不可导的点阵?
|
6
keith1126 2019-09-05 21:46:39 +08:00 1
最直接的想法,分段求出表达式,然后相加...应该是可行的,而且写起来不太复杂
|
8
nflush 2019-09-05 22:16:04 +08:00 via Android
有没有这样的线( x1,y1 ) ( x2,y2 ) ( x3,y3 ) x1<x2<x3,且 y2<y1<y3 ?
|
10
Tony042 2019-09-05 22:25:35 +08:00
@Eleflea 不都有点了,先从大到小排个序,然后分段线性回归或者直接求分段函数就可以了吧,换句话说先找到所有连续不可导的位置,然后分段函数就行了
|
11
Tony042 2019-09-05 22:38:56 +08:00
@Eleflea 整理下思路,首先新分段函数的所有端点一定是未求和之前某一折线的端点,对所有端点排序,从小到大,对每一个端点的左邻域和右邻域分别求导,如果导数不同即为新分段函数的端点,这样就得到了新函数的解析式
|
12
lastmandream 2019-09-05 23:09:04 +08:00 via Android
两点就能确定一条直线,然后就是分段函数
|
13
qwertyegg 2019-09-06 00:03:49 +08:00 1
把两条线的折点坐标记录下来求一个并集
根据这个并集插值成两个长度一样的序列 然后简单的加起来就行了 |
14
noqwerty 2019-09-06 03:40:05 +08:00 via Android
我做的话可能就直接 LOESS 拟合了,不过不知道你具体需求是拿来干什么
|
15
cheneydog 2019-09-06 09:12:16 +08:00
x 轴的取值是一样的么?那直接把 x 相同的 y 加起来不就 ok ?
|
16
wingkou 2019-09-06 10:33:58 +08:00
#13 说的对,最简单的做法了,应该也是最好的了
|