【发布时间】:2015-08-26 09:11:27
【问题描述】:
我有 6 条曲线来描述以固定价格购买的门票数量的 ECDF。
现在我想插值以在它们之间制作曲线,但遵循下一个公式。例如以 10k 的价格估算 ECDF,应以 F(10k)=αF1+(1-α)F2 为指导;与 0
所以我尝试了@rayryeng 制作的代码
max_len = max(数值(F1),数值(F2)); F1_interp = interp1(1:numel(F1), F1(:).', linspace(1,numel(F1),max_len)); F2_interp = interp1(1:numel(F2), F2(:).', linspace(1,numel(F2),max_len));
阿尔法 = (10e3 - 9.5e3) / (11e3 - 9.5e3); Fnew = alpha*F1_interp + (1-alpha)*F2_interp;
【问题讨论】:
-
我认为您没有正确使用我的代码。
F1和F2的曲线大约有 300 个元素,而Fnew的曲线是 25 个元素。你能提供F1和F2在你的帖子中的内容吗? -
F1 和 F2 添加的元素不超过 53 个。让我发布数据,您会发现两列的长度不同 F1 F2 24 59 4 9 208 5 225 6 6 69 2 28 12 191 4 4 66 23 19 39 22 194 53 2 129 40 86 55 78 2 26 262 56 41 2 63 7 62 6 163 10 5 14 10 4 13 1 61 2 2 4
-
好的。我似乎误解了
x轴。x轴上有哪些值?你有这些吗? -
我管理它的唯一数据是之前发布的,然后我使用ecdf函数对数据> a1 = xlsread('Data.xlsx'); >[f1,x1] = ecdf(a1(:,[1]));所以在x轴上发布的数据是>2 2 4 6 7 10 12 19 22 24 26 53 56 66 78 86 129 208 225(我不能以正确的方式发布数据和代码)跨度>
-
非常感谢您的帮助!非常感谢!
标签: matlab linear-interpolation ecdf