数学计算带宽

问题描述 投票:0回答:1

我这里有一个方程, 带宽 = A x 200 kHz + B x 40 kHz,其中 0 <= A < 50 and B in [0, 1, 2, 3, 4] (and BW != 0)

我有2个问题,

  1. 如果我有 BW 值,是否可以找到满足上述方程的 A 和 B 值。或者更好地说,是否有可能找出 BW 的值是否满足这个方程?

  2. 如果这个值不满足,我需要找到最接近并且大于当前BW值的值。关于如何做到这一点有什么想法吗?

我对问题1的解决方案 -> 为了检查BW值是否满足,我正在考虑使用mod运算符。所以如果 (((BW % 200) % 40) == 0)。 BW的值满足条件

我对问题 2 的解决方案 -> 我知道我可以计算所有可能的值,然后选择一个,但我想知道是否可以通过数学方式找到该值以节省时间并提高效率

math mathematical-optimization algebra
1个回答
0
投票
BW = 200 A + 40 B

你说B有五个可能的值:0,1,2,3,4
BW 是已知的

如果你得到 B 值之一(我们称之为“b”,b=0 或 b=1 或...),你可以求解 A:

A= (BW - 40 b) / 200

现在只需检查 'A' 是否在有效范围 [0, 50) 内。请注意使用一些小的舍入值(例如 0.0001):

 if ( A>=0 && (50-A)>smallE ) //valid

对 B 的所有有效值重复此操作。

这样您就可以获得所有有效的 A、B 对。


如果没有解决方案,您可以这样处理:

For each value b=B
  calculate BW1 for A= 0
  calculate BW2 for A= 50-smallE
  store b, A, BW1 and BW2

Sort the calculated list on BW
Select the lower BWi that is greater than the given BW
© www.soinside.com 2019 - 2024. All rights reserved.