小编ken*_*tik的帖子

如何在32个二进制选项之间进行迭代?

我有一个优化问题,我有5个变量:A,B1,B2,C1,C2.我试图优化这5个变量,以获得最小的根和平方值.我有一些工作正常的优化技术,但这个特别给我带来了一些麻烦.

我想探索更改变量的所有32个选项并选择最小的RSS值.我的意思是每个变量可以是+/-增量.每个选择导致2个选择,5个变量有32个选择.(2 ^ 5)

为了澄清,我没有添加我的变量:A,B1,B2等彼此,我正在递增/递减任意数量.A +/- X,B1 +/- X2等.我试图找出我的5个变量的增量/减量的哪个组合将返回最低的根和平方值.

                                   A
                                 +/ \-
                                B1   B1
                               +/\- +/\-
                              B2 B2 B2 B2
Run Code Online (Sandbox Code Playgroud)

等等,直到所有5个级别都完成.我不确定哪里开始尝试解决这个问题.什么样的数据结构最适合存储?它是迭代的还是递归的解决方案.我不需要问题的答案,而是需要寻找或在某个地方开始.再次感谢您抽出宝贵时间来看看这个.

为了澄清进一步的混淆,这是我的优化方法.我有5个变量和5个增量,每个增量匹配一个变量.(a,b,c,d,e,f)--->(incA,incB,incC,indD,incE,incF)

我想找到+/- incX到X的最佳组合(x是5个变量中的一个),即:解决方案可能类似于:a + incA,B-incB,c + incC,d + incD,e + incE,f-incF.有32种组合可能性,在阅读了下面的所有答案后,我已经确定了这种可能的算法.(请参阅下面的答案)根据需要进行编辑和提问.这不是一个完美的算法,它是为了澄清和易于理解,我知道它可以被浓缩.

//Settign all possible solutions to be iterated through later.
double[] levelA = new double[2];
double[] levelB = new double[2];
double[] levelC = new double[2];
double[] levelD = new double[2];
double[] levelE = new double[2];

levelA[0] = a + incA;
levelA[1] = a - incA;
levelB[0] = b + …
Run Code Online (Sandbox Code Playgroud)

c# algorithm

7
推荐指数
1
解决办法
374
查看次数

C#自适应声音消除

在我的工作中,整个工程部门刚刚进入一个新的座位安排,让声音比我们任何人都喜欢享受更多的旅行.我想尝试以一种很酷的工程方式来解决这个问题.是否可以使用以下方法创建自适应声音取消:

  1. 麦克风输入
  2. 频率计算
  3. 扬声器播放

如果是这样,我想看哪些图书馆?我假设有一些FFT(快速傅里叶变换)麦克风输入和频率回放.有人能指出我有这些能力的好图书馆吗?(如果这是可能的话)

c# audio noise-reduction

3
推荐指数
1
解决办法
1857
查看次数

标签 统计

c# ×2

algorithm ×1

audio ×1

noise-reduction ×1