小编Mik*_*Sam的帖子

使用Octave中的matlab代码 - 贝叶斯网络工具箱

我试图在Octave中运行Kevin Murphy的Bayes Net Toolbox并遇到一些问题.我对贝叶斯网络,Matlab和Octave的新手没有帮助.

这个工具箱最初是为Matlab编写的.有一个大型测试文件test_BNT.m,它通过工具箱中的所有功能运行.大部分的错误消息与之间的差异&,并&&在Matlab和倍频.这很容易解决.但是,我现在遇到了一个新问题,我不知道该怎么做.

例如,qmr1.m脚本创建pearl_inf_engine类的实例,设置一些成员成员变量并将类的实例传递给另一个函数.稍后,将在另一个脚本(parallel_protocol.m)中再次访问成员变量.但是当发生这种情况时,会出现以下消息:

error: invalid index for class
error: evaluating argument list element number 1
Run Code Online (Sandbox Code Playgroud)

似乎从一个脚本到另一个脚本,它忘记了该类有任何成员变量,并在您尝试访问它们时给出无效的索引消息.

这是一个容易解决的常见错误吗?路径或工作目录有问题吗?也许其他人已经将BNT转换为八度,知道该怎么做?

编辑

我能够通过此错误消息.诀窍是阅读安装说明(哈哈)并运行addpath(genpathKPM(<BNT base directory)).genpathKPM.m是BNT中包含的脚本,它将所有必需的目录添加到路径中.

这样做了以后,运行test_BNT.m和变化&,以&&|||每个地方,它提供了警戒线.这将清除大部分错误.

但是,我仍然无法运行mpe1.m,mp2.m,mildew1.m和其他一些人.我坚持的新错误消息是:

error: invalid empty index list
error: called from:
error:   C:\FullBNT-1.0.7\bnt\BNT\inference\static\@var_elim_inf_engine\find_mpe
.m at line 63, column 5
Run Code Online (Sandbox Code Playgroud)

在这行代码上:

eval(['sCPT.T(', sargs, num2str(jj), ')=0;']);
Run Code Online (Sandbox Code Playgroud)

如果我可以让所有脚本都能运行,我会在这里发布一个答案,并按照我的步骤进行操作. …

matlab octave

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

使用 Dask 高效地按部分读取大 csv 文件

现在,我正在使用 Dask 读取大型 csv 文件,并对其进行一些后处理(例如,进行一些数学运算,然后通过某些 ML 模型进行预测并将结果写入数据库)。避免将所有数据加载到内存中,我想按当前大小的块读取:读取第一个块,预测,写入,读取第二个块等。

我使用skiprowsand尝试了下一个解决方案nrows

import dask.dataframe as dd
read_path = "medium.csv"

# Read by chunk
skiprows = 100000
nrows = 50000
res_df = dd.read_csv(read_path, skiprows=skiprows)
res_df = res_df.head(nrows)

print(res_df.shape)
print(res_df.head())
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

ValueError:样本不够大,无法包含至少一行数据。sample请增加调用中的 字节数read_csv/read_table

另外,据我了解,它每次都会为所有数据计算二进制掩码([False,False,...,True,...])以查找要加载的行。我们怎样才能更有效地做到这一点?也许使用 dask 中的一些分布式或延迟函数?

python csv dask dask-dataframe

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

错误1193(HY000):未知系统变量'GTID_PURGED'

我从远程服务器上的工作台上备份了数据库。因此,当我在本地环境中导入它时,出现错误:

错误1193(HY000):未知系统变量'GTID_PURGED'

我正在使用xampp服务器

通过控制台或phpmyadmin导入数据库时​​遇到相同的错误

mysql

3
推荐指数
4
解决办法
5146
查看次数

从 Pandas DataFrame 列中删除特定符号(unicode)

我有数据帧(熊猫):

data1 = pandas.DataFrame(['??????, ????', '??? ?????', '????!!'])
Run Code Online (Sandbox Code Playgroud)

如您所见,它包含 unicode 符号(西里尔文):

>>> data1
              0
0  ??????, ????
1     ??? ?????
2        ????!!
Run Code Online (Sandbox Code Playgroud)

我尝试从数据框列中删除所有特定符号。 我试过:

data1.apply(replace ???)
data1[0].replace()
Run Code Online (Sandbox Code Playgroud)

甚至还有 lambda 的东西。但我不知道如何replace正确调用。所以我想显示所有符号必须按范围删除:

x in '!@#$%^&*()'
Run Code Online (Sandbox Code Playgroud)

或者

if chr(x) not in range(1040,1072) # chr() of cyrillic
Run Code Online (Sandbox Code Playgroud)

python string char dataframe pandas

3
推荐指数
2
解决办法
1782
查看次数

检查字符串的任何(所有)字符是否在给定范围内

我有一个包含unicode符号(cyrillic)的字符串:

myString1 = '???????'
myString2 = 'Austri?'
Run Code Online (Sandbox Code Playgroud)

我想检查字符串中的所有元素是否都是英文(ASCII).现在我正在使用循环:

for char in myString1:
    if ord(s) not in range(65,91):
         break
Run Code Online (Sandbox Code Playgroud)

因此,如果我找到第一个非英语元素,我就会打破循环.但是对于给定的示例,您可以看到字符串最后可以包含许多英文符号和unicode.通过这种方式,我将检查整个字符串.此外,如果所有的字符串都是英文的,我仍然会检查每个字符.

有没有更有效的方法来做到这一点?我正在考虑这样的事情:

if any(myString[:]) is not in range(65,91)
Run Code Online (Sandbox Code Playgroud)

python string unicode performance python-3.x

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

微分方程的求解需要很长的时间

在发布实际代码之前,让我告诉您我的计算机的处理器和内存信息是好的:

在此输入图像描述

昨天我发布了关于Lorenz方程(混沌理论中的经典方程),其中一个伟大的人帮助我并展示解决方案,这里是:

function f=lorenz(t,x,a,b,c)
        % solve differential equation like this
        %dx/dt=a*(y-x)
        %dy/dt=-x*z+b*x-y
        %dz/dt=xy-c*z/3
        f=zeros(3,1);% preallocate result
        f(1)=a*(x(2)-x(1));
        f(2)=-x(1)*x(3)+b*x(1)-x(2);
        f(3)=x(1)*x(2)-c*x(3)/3;
        end
Run Code Online (Sandbox Code Playgroud)

和测试程序(脚本):

% test program
x0=[-2 -3.5 21];% initial  point
a=input(' enter first coefficient : ');
b=input(' enter second coefficient: ');
c=input(' enter third coefficient : ');
[t,x] = ode45(@(t,x) lorenz(t,x,a,b,c),[0 10],x0);
plot(t,x(:,1),'r'); 
title(' solution of x part');
grid on
Run Code Online (Sandbox Code Playgroud)

但在运行这些线后

test_program
 enter first coefficient : 10
 enter second coefficient: 28
 enter third coefficient : -8
Run Code Online (Sandbox Code Playgroud)

它还在运行,他说在他的个人电脑上需要2秒钟,所以发生了什么事真的很奇怪?为什么不在我的电脑上编译?即使你看到它我的笔记本电脑有很好的参数,请帮助我 - 即使现在它正在运行所以我应该取消使用ctrl-c.

performance matlab ode

2
推荐指数
1
解决办法
96
查看次数

Matlab:如何在正常曲线上显示sigma和mu

y = normpdf(x,mu,sigma);在Matlab中使用绘制正常曲线.这为我绘制了一条正常的曲线.但是,我需要在曲线上显示其他信息,例如曲线上有垂直线来显示mu和sigma.与此相似: 在此输入图像描述

是否有任何Matlab函数在曲线上绘制这样的垂直线?

谢谢,阿依达

matlab plot

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

Rijndael 算法出错

我找到了这篇文章:链接到 msdn

我想要做的是:加密 Byte() 数组,然后解密它。它有效,但解密的结果不等于原始数组。我的代码:

Dim RMCrypto As New RijndaelManaged()
RMCrypto.Key = Key
RMCrypto.IV = IV
RMCrypto.Padding = PaddingMode.Zeros

Dim dataToDecrypt As Byte() = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}

Dim encrypted As Byte() = Encrypt(dataToDecrypt, RMCrypto)
Dim roundtrip As Byte() = Decrypt(encrypted, RMCrypto)
Run Code Online (Sandbox Code Playgroud)

在哪里

Private Function Encrypt(ByVal plainText As Byte(), RMCrypto As RijndaelManaged) As Byte()

Dim encrypted() As Byte
Using RMCrypto
    ' Create a decrytor to perform the …
Run Code Online (Sandbox Code Playgroud)

.net vb.net encryption cryptography stream

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

SQL:如何在创建表时指定日期格式并填充它

我想以'dd.mm.yyyy'格式保存日期.所以我读到SQL中的日期有不同的格式(通过我使用Visual Studio和SQL Server的方式).

I tried this code:
CREATE TABLE APP(
    ID   INT NOT NULL,
    DT DATE FORMAT 'dd.mm.yyyy',
    ADDRESS  NVARCHAR (100) ,
    PRIMARY KEY (ID)
);
Run Code Online (Sandbox Code Playgroud)

但它返回错误:

'FORMAT'附近的语法不正确.

之后我想使用这段代码:

INSERT INTO APP (ID, DT)
VALUES ('1','22.12.2016')
Run Code Online (Sandbox Code Playgroud)

sql sql-server date

0
推荐指数
2
解决办法
4万
查看次数

在Python代码中使用`pip freeze> requirements`

我在代码中找到了如何使用pip命令:

import subprocess
subprocess.call(["pip", "freeze"])
Run Code Online (Sandbox Code Playgroud)

它在命令提示符下显示所有包.

但它不能这样工作:

import subprocess
subprocess.call(["pip", "freeze", ">", "requirements.txt"])
Run Code Online (Sandbox Code Playgroud)

它不会将其写入文件,它会再次在控制台中打印.

如何以正确的方式运行此命令?

python pip python-3.x

0
推荐指数
2
解决办法
401
查看次数

引用C++时出错

我试着计算通过循环的操作次数为1秒.为此,我记得我开始计算循环并在每次迭代时检查时间的时间.我的想法 - 当这两个时间段的秒数不同时,我打印了多少次循环迭代.

这是我的代码:

#include <ctime>
int main()
{
    // For timing
     time_t t, tstep;
     struct tm* now, *step;

    // this time will change at every iteration
    t = time(0);
    now = localtime(&t);

    // save time of the start moment
    tstep = t;
    step = localtime(&tstep);

    // counter of loop cycles
    int count = 0; 

    for (size_t i = 0; i < 1e100 ; i++)
    {
        // ... here is some calculations    
        t = time(0);
        now = localtime(&t);
        count++;

        if …
Run Code Online (Sandbox Code Playgroud)

c++ time loops reference visual-studio

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