小编Dav*_*ave的帖子

用Python和Numpy计算协方差

我试图弄清楚如何计算与Python Numpy函数cov的协方差.当我传递两个一维数组时,我得到了一个2x2的结果矩阵.我不知道该怎么做.我在统计数据上并不擅长,但我认为在这种情况下的协方差应该只是一个数字. 就是我要找的.我写了自己的:

def cov(a, b):

    if len(a) != len(b):
        return

    a_mean = np.mean(a)
    b_mean = np.mean(b)

    sum = 0

    for i in range(0, len(a)):
        sum += ((a[i] - a_mean) * (b[i] - b_mean))

    return sum/(len(a)-1)
Run Code Online (Sandbox Code Playgroud)

这是有效的,但我认为Numpy版本效率更高,如果我能弄清楚如何使用它.

有谁知道如何使Numpy cov功能表现得像我写的那样?

谢谢,

戴夫

python numpy covariance

50
推荐指数
3
解决办法
7万
查看次数

修改Beaglebone Black的设备树

我使用Yocto为Beaglebone Black创建一个小的linux映像.我想我的大部分工作都像我想要的那样,除了我需要访问UART 2和4.当我使用标准的Debian图像时,我用设备树覆盖和capemgr做了这个.但是,我发现使用Yocto构建的内核没有capemgr.

我的选择似乎是:

  1. 用capemgr来构建内核,或者
  2. 使用必要的更改修改设备树文件.

选项2似乎更容易.

UART的设备树覆盖在这里这里.我已经尝试过以某种方式包含这些内容.

  1. 我反编译了我一直使用的设备树blob,并尝试从那里包含这些文件.
  2. 我下载了完整的dts文件集,并尝试在am335x-boneblack.dts中包含UART设备树覆盖.

这两种方法都会产生如下错误:

Error: am335x-boneblack.dts:1.1-2 syntax error
FATAL ERROR: Unable to parse input tree
Run Code Online (Sandbox Code Playgroud)

但是,我注意到在尝试编译am335x-boneblack.dts时我得到了类似的错误,即使没有修改它,所以我可能甚至没有做到这一点.(使用命令dtc -I dts -O dtb -o result.dtb am335x-boneblack.dts)

显然我不知道我在做什么.我怀疑设备树覆盖必须以某种方式进行修改,以便在我尝试使用它们的方式中使用.或者也许我没有做包含权限(只需在文件顶部添加#include).

有没有人有任何想法我可能做错了什么?我正在努力做甚么可能吗?

linux embedded linux-kernel device-tree beagleboneblack

6
推荐指数
1
解决办法
2117
查看次数

重新定义python内置函数

我正在使用python程序,作者编写了一个看起来像这样的函数

def blah():
    str = "asdf asdf asdf"
    doStuff(str)
Run Code Online (Sandbox Code Playgroud)

即使str是内置函数,也不应将其用作变量,这似乎可行。

这里到底发生了什么?我的猜测是str将不再可用作函数,而只能在他编写的blah()函数的范围内使用。那是对的吗?这不会在全球范围内重新定义str,对吗?

python python-2.7

5
推荐指数
2
解决办法
5303
查看次数

为什么我不能在 python 中重写这个方法?

我正在尝试重写 python 类(第一次这样做),但我似乎无法重写此方法。当我运行这个时,我的recv方法不运行。它改为运行超类的方法。我在这里做错了什么?(顺便说一句,这是 python 2.7。)

import socket

class PersistentSocket(socket.socket):
    def recv(self, count):
        print("test")
        return super(self.__class__, self).recv(count)

if __name__ == '__main__':
    s = PersistentSocket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect(('localhost', 2300))
    print(s.recv(1)
Run Code Online (Sandbox Code Playgroud)

python inheritance python-2.7

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

在yocto上安装python-twisted

我已经成功构建了yocto core-image-sato并且运行良好.现在我正在尝试为构建添加一个配方.我想安装python-twisted,但我失败了.

我发现python-twisted似乎在yocto中不可用,但是在openembedded中.所以我从这里克隆了openembedded repo:

http://git.openembedded.org/meta-openembedded/

然后我将必要的目录添加到bblayers.conf中:

BBLAYERS ?= " \
  /home/git/poky/meta \
  /home/git/poky/meta-yocto \
  /home/git/poky/meta-yocto-bsp \
  /home/git/poky/meta-openembedded/meta-oe \
  /home/git/poky/meta-openembedded/meta-python \
  "
Run Code Online (Sandbox Code Playgroud)

当我用bitbake -p解析配方时,我收到以下错误:

Loading cache: 100% |###########################################| ETA:  00:00:00
Loaded 765 entries from dependency cache.                                       
ERROR: ParseError at /home/git/poky/meta-openembedded/meta-oe/recipes-connectivity/networkmanager/networkmanager_1.0.10.bb:12: Could not inherit file classes/bash-completion.bbclass                                                           

Summary: There was 1 ERROR message shown, returning a non-zero exit code.
Run Code Online (Sandbox Code Playgroud)

我尝试删除有问题的文件,因为我怀疑我需要它,但这导致更糟糕的错误.

我不知道从哪里开始.我怀疑问题可能是我从openembedded获得的文件与yocto项目的文件不匹配.但我不知道该怎么做.

任何有关如何将python-twisted添加到core-image-sato的帮助将不胜感激.

linux twisted openembedded bitbake yocto

0
推荐指数
1
解决办法
642
查看次数