我有一组实验值。例如,我的值为1120像素,我需要使用某种因子z来乘以这些1120像素,得到大约1.15的值。此外,我有800像素,需要将其乘以相同的因子z,得到大约1.2的值。以下是我的实验值:
1120 * z = approximately 1.15
800 * z = approx. 1.2
720 * z = approx. 1.25
640 * z = approx. 1.3
560 * z = approx. 1.4
480 * z = approx. 1.5
320 * z = approx. 2.0
我不需要低于1.15或高于2.0的值。
所以我的问题是如何确定z的大小。这看起来有点指数,但我不知道如何在Objective-C中处理这个问题。非常感谢任何帮助。
答案 0 :(得分:2)
它对我来说也是指数级的。我用Grapher来解决这个问题。
由于Grapher在插值指数函数方面表现不佳,我绘制了点并修改了一个指数方程,直到我得到它非常接近。然后我输入了我找到的值作为插值的起点。您可以在应用中使用的公式为:
4.3069 * powf(M_E, -x/200.0f) + 1.1327f
答案 1 :(得分:1)
尝试Wolfram Alpha。在wolfram alpha中输入最合适的{1120,1.15},{800,1.2},{720,1.25},{640,1.3},{560,1.4},{480,1.5},{320,2.0}给你一个具有.998 R ^ 2值的三次方程,相对于99.2指数。但这一切都取决于你的基础模型是什么。 Wolfram的好处是你可以修改输入数据,看看等式对可能的错误有多敏感。