我目前开始使用八度音程进行一些数据分析,并且对于特定的矩阵操作存在一些问题.
假设您有以下数据矩阵:
A =
1 11 22 33
44 13 12 33
1 14 33 44
现在我想删除这个矩阵的所有行,这些行不能完成例如以下条件.
octave:6> A(:, 4) == 33
ans =
1
1
0
我将获得此表单的矩阵,它只选择这些行:
A_new =
1 11 22 33
44 13 12 33
我知道在一些循环的帮助下这是可能的.但是,是否有更清洁的解决方案,例如使用提供的标准库?那太好了 :]
R已经发布了一些类似的问题: 在R中,选择满足条件的矩阵行
我正在玩这个为我的个人系统编写桌面集成应用程序的想法,它应该像通常的桌面小部件引擎(screenlets,gdesklets,google小工具)一样.它应该从互联网上给我一个关于我的系统的不同信息的完整概述,并最终应该在我的桌面上可视化它们.它应该集中我所有的日常必要信息.
最简单的方法肯定是为一个已知的桌面小部件引擎编写我自己的小部件,但我更喜欢从头开始编写它.因此,我正在寻找一些实现提示,我如何在桌面上构建一个全局视图,窗口管理器没有用边框,标题栏和其他东西装饰,并且没有背景颜色.特殊透明度X%效果不是必需的,需要compiz.
这方面的一个很好的例子是具有额外的libcario绘图支持.我还会选择像GTK +或QT这样更大的gui工具包.直接使用更复杂的X11 API接口也是一种选择.优选的语言是C和C++.
如果有人可以分享他的知识,如果他已经在该领域有类似的经验,我会很高兴.
有谁知道我如何从 Eigen::VectorXf 中提取块的好方法,该块可以被解释为特定的 Eigen::MatrixXf 而无需复制数据?(向量应该包含几个展平矩阵)
例如类似的东西(伪代码):
VectorXd W = VectorXd::Zero(8);
// Use data from W and create a matrix view from first four elements
Block<2,2> A = W.blockFromIndex(0, 2, 2);
// Use data from W and create a matrix view from last four elements
Block<2,2> B = W.blockFromIndex(4, 2, 2);
// Should also change data in W
A(0,0) = 1.0
B(0,0) = 1.0
Run Code Online (Sandbox Code Playgroud)
目的很简单,有多个表示指向内存中的相同数据。
这可以通过提取子矩阵视图并重塑它们来完成,例如在 python/numpy 中。
A = numpy.reshape(W[0:0 + 2 * 2], (2,2))
Run Code Online (Sandbox Code Playgroud)
我不知道 Eigen 是否支持 Eigen::Block 的重塑方法。 …
有没有人对使用标准c库的libgraphviz有一些经验?
对于我当前的项目,我想编写一个简单的工具,可以在jpg图像中或甚至在小型X11窗口上可视化我的一个抽象语法树.Graphviz本身提供了七种不同的库,我可以使用它们并链接到我的应用程序:
不幸的是,我不知道我的任务需要哪个库.我也不需要将我的树表示转换为点语言,并希望将其直接写入图像.(当然,使用将抽象转换为点语言的API也会很棒).
谢谢你的每一个建议:)