问题标签 [decomposition]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database - 分解为 BCNF
虽然我确实了解正常形式是什么,但我在使用它们时遇到了麻烦。我正在学习数据库系统课程,不知何故我对此有点迷茫。我尝试过谷歌、stackoverflow、课程幻灯片和书籍,但例子似乎每次都让我偏离轨道。如果我在这篇文章中做出一些错误的假设/结论,我非常希望得到一些指示,但也希望得到一些关于我最终遗漏的指示。
我今天遇到的一个具体练习是:给定这个 DB,将其转换为 BCNF:
据我了解,这里有两个可能的候选键。AB 和 F。这是因为两者都能够导出整个 DB,并且因为它们都由单个左手边组成,所以它们都是最小的。
假设我们以 F 作为主键。
起初:DB(F->AB)
对于 1NF,似乎没有重复组。查看。
对于 2NF,似乎没有部分依赖。(如果 F 是唯一的主键,这不是不可能的吗?)
对于 3NF 有一个问题!AB 和 A 都不是键,而是确定其他属性。为了解决这个问题,它们需要成为键:(抱歉缺少下划线,似乎没有下划线的选项)
据我了解,对于 BCNF,过程如下:将 3NF DB 与原始 DB 进行比较。在 3NF DB 中找到整个左侧存在且至少存在一个右侧的原始 DB 中的出现。我不太确定怎么可能没有这个。也许我误解了这部分。无论如何,继续;
第一次出现是 F->AB。这是主键,因此可以。
第二次出现是 AB->EF。由于 AB 是候选键,因此也可以。
最后出现是 A->CD。A 只是候选键的一部分。这违反了 BCNF,必须重写。这就是我完全下车的地方。我不知道如何重写它,我不确定到目前为止的过程是否有意义。谁能帮我把它包起来?
matlab - lu() 函数如何决定返回什么?
让我们A
成为以下矩阵:
如果我调用该lu( )
函数并像这样保存返回值:
MATLAB 返回 L, U 使得 L * U = A:
当我像这样保存返回值时:
L * U不等于 A:
因为lu( )
返回 L, U, P 使得L * U = P * A
我的问题:
- 函数如何
lu( )
知道我请求了多少返回参数? - 我可以在我的代码中复制这种行为吗?
tree - 用于 EBNF 语法的 ANTLR 解析器并获得带有结果的分解树
我正在尝试制作一个词法解析器来计算给定 EBNF 术语的所有解决方案。例如:
语法:
T::= 无 | 在 | (T+T) | (T*T)
一个::=一个| 乙 | c | d | e
运营商:
* 异或
. 序列
+ 并行
符号:
abcde
示例术语:
a.(b+c).(d*e)
计算项:
预期的树输出:
解决方案应该是所有的树枝。
我的问题是,这将是执行此操作的最佳方法?
现在我想使用 ANTRL 来构建语法分析树。
但我不太确定如何使用重构方法来计算术语。
谢谢!
java - 希尔伯特-黄变换:瞬时频率
我正在用 Java 实现“经验模式分解”。下一步是希尔伯特-黄变换,我需要找到如何获得“瞬时频率”。有人知道如何获得吗?
使用 EMD 方法,任何复杂的数据集都可以分解为有限且通常数量很少的分量,即固有模态函数 (IMF) 的集合。下一步是希尔伯特-黄变换。由此我计算信号的相位,在我必须计算瞬时频率之后,我在 Matlab 代码中搜索如下链接:http ://read.pudn.com/downloads100/sourcecode/math/408870/emd/instfreq/archive/ ifreq.m__.htm
但我不明白。
谢谢
opencv - OpenCV中矩阵的Cholesky分解
OpenCV 中是否有任何函数可用于在矩阵上应用 Cholesky 分解?
matlab - Matlab chol 函数返回单个数字 Choleksy 分解
我有一个A
390 x 390 的矩阵,其中包含以下数字:
141270,991258825 -92423,2972762164
-92423,2972762164 60465,8168198016
139998,877391881 -91591,0460330842
30573,0969789307 -20001,7456206658 ...
如果我尝试chol(A)
,Matlab 会失败并说矩阵必须是正定的。好的,我在 API 中看到[R,p] = chol(A)
也适用于负定矩阵。我试过这个,但R
后来变成了一个 1x1 矩阵。但我期望一个 390x390 的矩阵。
java - 如何在输出中显示整个计算?
晚上好,
我是java初学者,我被分配编写一个分解素数的程序。这就是我到目前为止所得到的。
所以分解部分似乎工作,但我需要输出,如果输入数字 180,看起来类似于这样:
我不知道该怎么做。
sql - BCNF分解查询
我有一个关系R(A, B, C, D)与功能依赖ABC --> D和D --> A。
问题是,这是否有 BCNF,答案如下:
(c) ABCD不在 BCNF 中,因为D --> A和D不是键。但是,如果我们将R拆分为AD、BCD,我们将无法保留依赖关系ABC --> D。所以没有BCNF分解。
现在我的问题是,我知道如果将关系R拆分为R1(A,D)和R2(BCD) ,则无法保留ABC->D ,但是如果将R2(BCD)更改为R2(ABCD)会怎样。那不就保存下来了吗?我们有什么理由不能这样做?
matrix - 在正定矩阵上使用 Chol 分解时出错
我有以下两个 2x2 矩阵:
A = [0.0087 0.0368; -0.0368 0.0087]
B = [1.5653 2.0499; -2.0499 1.5653]
我已经检查过每个矩阵的 Hermitian 部分是正定的:
eig(0.5*(A+A'))>0
所以我不知道为什么 usingchol(A)
返回一个错误,说矩阵必须是正定的。
我错过了什么吗?
r - R - 短时间序列的趋势估计
我在 2012 年进行的气候实验中获得了非常短的时间序列数据。这些数据包括每日水溶液通量和每日 CO2 通量数据。CO2 通量数据包括 52 天,而水溶液通量数据只有 7 天。我每天对 CO2 通量数据进行几次测量,但我计算了每日平均值。
现在,我想知道这些时间序列中是否存在趋势。我发现我可以使用 Kendall 趋势测试或 Theil-Sen 趋势估计器。我之前使用过 Kendall 测试来进行跨越数年的时间序列。我不知道如何使用 Theil-Sen 趋势估计器。
我将数据放入 R 中的 ts 对象中,但是当我尝试进行分解(使用函数 decompose)时,我得到时间序列跨越少于 2 个周期的错误。我想提取趋势数据,然后对其进行 Mann-Kendall 测试。
这是我到目前为止得到的代码:
谁能帮助我如何用我很短的时间序列进行趋势分析?任何 google-fu 都无济于事。还有,有人能告诉我 Kendall tau 的大小是什么意思吗?它的值从 -1 到 1。tau=0.5 是强趋势还是弱趋势?
谢谢,斯特凡