C# 带复合区间的数的范围

C# 带复合区间的数的范围,c#,math,gdi+,C#,Math,Gdi+,为了调整字体大小,我需要计算一个范围内开始和结束之间的步长 鉴于: Start Value: 14.0, End Value: 250.0, Steps: 28 Resulting Values: 14.0, 15.5, 17.1, 18.9, ... 204.9, 226.3, 250.0 我通过将10.45%添加到之前的值(基于尝试和错误)来计算每个值,但是我如何计算这个百分比呢? 猜测这里可以使用一些复利类型的函数。 公式或伪代码就可以了 最终,这将是一个C#。Ce^(kt)是数学中的

为了调整字体大小,我需要计算一个范围内开始和结束之间的步长

鉴于:

Start Value: 14.0,
End Value: 250.0,
Steps: 28

Resulting Values: 14.0, 15.5, 17.1, 18.9, ... 204.9, 226.3, 250.0
我通过将
10.45%
添加到之前的值(基于尝试和错误)来计算每个值,但是我如何计算这个百分比呢?
猜测这里可以使用一些复利类型的函数。
公式或伪代码就可以了

最终,这将是一个C#。

Ce^(kt)是数学中的复合利率原则。其中C为初始量,e为常数e=2.71828。。。。它就像圆周率;k是百分比,t是时间。如果您想要百分比,则向后使用Ce^(kt)获得K值

EndValue = StartValue * ( ( 1 + Percentage ) ^ NumberOfSteps )
是您需要的基本配方

如果您知道
NumberOfSteps
并想要
百分比
,则需要一点代数知识才能得到公式(伪代码,
^
是指数运算符):

如果您知道
百分比
,并且想要
NumberOfSteps
,那么最好使用循环

int NumberOfSteps = 0;
for(double i = StartValue; i < EndValue; i *= (1 + Percentage))
{
    ++NumberOfSteps;
}
int NumberOfSteps=0;
对于(双i=起始值;i<结束值;i*=(1+百分比))
{
++步数;
}

您能否提供您当前尝试的代码示例?您知道步骤数并需要百分比,还是知道百分比并需要步骤?我有步骤,但需要计算百分比。太棒了。看起来“步骤”应该是“步骤-1”,但这是可行的。百分比=((EndValue/StartValue)^(1/NumberOfSteps-1))-1
int NumberOfSteps = 0;
for(double i = StartValue; i < EndValue; i *= (1 + Percentage))
{
    ++NumberOfSteps;
}