3
我需要内插数据。为浮点数我通常使用如何对分类数据进行插值
interp1(given_time,given_data,uniform_time)
然而,在这种情况下,我的given_data
是一个字符串数组细胞:
time=[1,5,18,30,40,42,47,54,64]
season=[{'winter'},{'winter'},{'winter'}, {'spring'}, {'spring'}, {'spring'}, {'summer'}, {'summer'}, {'summer'} ]
uniform_time=1:5:64
uniform_season= ????
输出的每个单元必须根据uniform_time
如何在matlab中实现它?
万一uniform_time(i)
正是之间time(j)
time(k)
和,的season(j)
或season(k)
是可接受的任一值。
在上述情况下,我期望能获得:
uniform_season= [{'winter'}, {'winter'}, {'winter'}, {'winter'}, {'winter'}, {'spring'}, {'spring'}, {'spring'}, {'spring/summer'}, {'summer'}, {'summer'}, {'summer'}, {'summer'}]
通过{'spring/summer'}
我的意思是要么{'spring'}
或{'summer'}
但不能同时喜欢{'spring/summer'}
。
new data: 1 6 11 16 21 26 31 36 41 46 51 56 61
closest old data: 1 5 18 18 18 30 30 40 41/42 47 54 54 64
string of old data: 'winter' 'winter' 'winter' 'winter' 'winter' 'spring' 'spring' 'spring' spring/summer' 'summer' 'summer' 'summer' 'summer'
可不可以给您所期望的输出看起来像一个例子
我根据这个表来计算呢? – rlbond
@rlbond查看我的更新。 – zahmati
尝试用像[[1,1,1,2,2,2,3,3,3]]这样的数字的索引向量来替换季节(其他的'unique'输出将会有所帮助),然后使用'interp1'与最近的邻居标志,并使用结果索引回'独特'的第一个输出# – Dan