标签: simplification

布尔代数简化

在进行这种简化时,需要帮助不知道思考过程.! - 表示NOT让我说我有!((A + B)*(A +!B))我需要使用除了绝对之外的所有规则来简化它.
我知道这是A*!B +!A*B但我需要知道到达那里的过程.什么是开始的好地方.我做了几件不同的事,但我从来没有想出正确的答案.

boolean-logic simplification

6
推荐指数
2
解决办法
1655
查看次数

如何简化这个非常长的if语句?

如何简化这个if语句?这是一个加号:http: //i.stack.imgur.com/PtHO1.png

如果语句完成,则在x和y坐标处设置块.

for y in range(MAP_HEIGHT):
    for x in range(MAP_WIDTH):
        if (x%5 == 2 or x%5 == 3 or x%5 == 4) and \
            (y%5 == 2 or y%5 == 3 or y%5 == 4) and \
            not(x%5 == 2 and y%5 == 2) and \
            not(x%5 == 4 and y%5 == 2) and \
            not(x%5 == 2 and y%5 == 4) and \
            not(x%5 == 4 and y%5 == 4):
            ...
Run Code Online (Sandbox Code Playgroud)

python graphics if-statement simplification modulus

6
推荐指数
3
解决办法
1676
查看次数

简化嵌套的IF语句

我有一个类似于以下的功能

string Foo(bool A, bool B)
{
    if(A)
    {
        if(B)
        {
            return "W";
        }
        else
        {
            return "X";
        }
    }
    else
    {
        if(B)
        {
            return "Y";
        }
        else
        {
            return "Z";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

那双重嵌套对我来说是错误的.有没有更好的方法来实现这种模式?


谢谢大家的帮助,我最终走上了三路.它帮助改变了这个:

if (female)
{
    if (nutered)
    {
        destRow["TargetSex"] = "FS";
    }
    else
    {
        destRow["TargetSex"] = "F";
    }
}
else
{
    if (nutered)
    {
        destRow["TargetSex"] = "MN";
    }
    else
    {
        destRow["TargetSex"] = "M";
    }
}
Run Code Online (Sandbox Code Playgroud)

对此

destRow["TargetSex"] = female ? (nutered ? "FS" : "F")
                              : …
Run Code Online (Sandbox Code Playgroud)

c# simplification

5
推荐指数
1
解决办法
149
查看次数

如何阻止Matlab重新排列符号变量?

这个符号表达式在Matlab中

syms x y;
f = x * y * y
Run Code Online (Sandbox Code Playgroud)

回报

f =

x*y^2
Run Code Online (Sandbox Code Playgroud)

如何阻止Matlab简化表达式并将其保留为x * y * y?我试图以这种方式打印计算步骤,因此重新排序这些术语会引起混淆.

matlab expression symbolic-math simplification

5
推荐指数
1
解决办法
631
查看次数

简化正则表达式

我正在进行关于正则表达式的练习,我真的不确定如何做到这一点.

正则表达式是:

((a*)(b*))* ? (a*)
Run Code Online (Sandbox Code Playgroud)

我对此非常不好,但我认为((a*)(b*))*可以简化为(a ? b)*但是如果这是正确的,那么最后? (a*)只是重复,所以我认为整个表达式可以简化为(a ? b)*.这看起来是否正确?

编辑:∪代表工会

regex simplification

5
推荐指数
1
解决办法
2243
查看次数

Sympy复指数的绝对值

当处理极地形式的复数时,我经历了一种奇怪的行为.例如,做

from sympy import *
simplify(Abs(exp(I)))
Run Code Online (Sandbox Code Playgroud)

我期望结果1,因为如果指数只是虚数,复指数的绝对值应该总是1.然而,sympy给出了答案

Abs(exp(I))
Run Code Online (Sandbox Code Playgroud)

做另的选择

phi=symbols('phi', real=True)
y=exp(I*phi)
sqrt(y*conj(y))
Run Code Online (Sandbox Code Playgroud)

给出了预期的结果,但在我看来不如绝对.我是否错过了一些限制,以防止只使用abs时症状执行此简化?

python sympy simplification

5
推荐指数
1
解决办法
1752
查看次数

如何获得简化的斯坦福兔子模型

有人会反对这不是一个编程问题.我愿意捍卫它与SO的相关性,或者在其他地方提出问题,如果有人有一个好的建议,可以找到更好的地方来获得这种帮助.

经典的斯坦福兔子模型有近70,000个多边形.我正在寻找一个简化版本,大约4,000个多边形.(这是我正在研究的开源屏幕保护程序.)在网上搜索,我发现许多人已经简化了各种研究项目的模型.但我还没有找到一个可下载的,简化的复杂模型.

我发现的最接近的是Scanview程序,它带有16,000多边形的模型简化.但是,它是以二进制SVM(ScanView Model?)格式提供的,我没有找到准备好的信息,而且ScanView网页确实表明它可能是加密的,请不要破解它.:-)

我搜索了一些主要的在线3D模型下载网站,并没有找到那里的兔子.考虑到兔子受欢迎程度,以及允许自由重新分配它的事实,这让我感到惊讶.

如果没有可供下载的简易模型,我自己简化它的最简单方法是什么?使用像meshlab这样的程序?

谢谢...

graphics resources models simplification

4
推荐指数
1
解决办法
4575
查看次数

如何在 Python 中将条件与 for 循环结合起来?

我有一个简单的例子。我认为可以在 Python 中以最少的努力结合 if 语句和 for 循环。鉴于:

sublists = [number1, number2, number3]

for sublist in sublists:
    if sublist:
        print(sublist)
Run Code Online (Sandbox Code Playgroud)

我以为我可以将 for 循环压缩为:

for sublist in sublists if sublist:
Run Code Online (Sandbox Code Playgroud)

但这会导致无效的语法。我对这个例子并不太特别,我只是想要一种将简单的 if 语句与循环结合起来的方法。

python syntax for-loop simplification

4
推荐指数
1
解决办法
8956
查看次数

有没有更优雅/聪明/简短的方法来使未知数字接近0?

基本上我正在研究物理游戏.需要减少侧向运动(如接近0,而不是变为负值),但我不知道它在哪个方向,所以我不知道是添加阻力还是减去阻力.

(如果物品向右移动,则具有正向力,向左移动,负向力)

现在我这样做:

if (objects[i]->force.x > 0)
    objects[i]->force.x -= drag;
else
    objects[i]->force.x += drag;
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但我觉得必须有一个更时尚的方式来做到这一点.

找到一种确保它不会超过0的方法也不会有什么坏处

c++ math reduction simplification

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

我可以简化这段代码吗?如果是这样的话

我正在尝试向我的第一个MVVM程序添加多个命令.但我在这里添加它们的方式对我来说是错误的.我想尽量避免重复,我可以制作一种我可以轻松修改的父命令吗?

internal class AddTimerBarCommand : ICommand
{
    public AddTimerBarCommand(MainViewModel viewModel)
    {
        _MainViewModel = viewModel;
    }

    private MainViewModel _MainViewModel;
    public event EventHandler CanExecuteChanged;

    public bool CanExecute(object parameter)
    {
        return true;
    }

    public void Execute(object parameter)
    {
        _MainViewModel.AddTimerBar();
    }
}

internal class RmvTimerBarCommand : ICommand
{
    public RmvTimerBarCommand(MainViewModel viewModel)
    {
        _MainViewModel = viewModel;
    }

    private MainViewModel _MainViewModel;
    public event EventHandler CanExecuteChanged;

    public bool CanExecute(object parameter)
    {
        return true;
    }

    public void Execute(object parameter)
    {
        _MainViewModel.RmvTimerBar();
    }
Run Code Online (Sandbox Code Playgroud)

c# simplification

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