matlab 输入矩形序列,从python调用Matlab函数:“初始值设定项必须是矩形嵌套序列”...

我正在编写一个python脚本,我希望从中调用matlabanovan函数。

我尝试对文件test.txt进行此功能的基本测试,该文件包含3列:1.472008228227131532e+01 1.000000000000000000e+00 1.000000000000000000e+00

1.423892587976163249e+01 2.000000000000000000e+00 1.000000000000000000e+00

1.434051782779769013e+01 3.000000000000000000e+00 1.000000000000000000e+00

1.478373164841650045e+01 4.000000000000000000e+00 1.000000000000000000e+00

1.463143763527341612e+01 5.000000000000000000e+00 1.000000000000000000e+00

1.580723346731706513e+01 6.000000000000000000e+00 1.000000000000000000e+00

1.964295632547030124e+01 1.000000000000000000e+00 2.000000000000000000e+00

1.922724696768608510e+01 2.000000000000000000e+00 2.000000000000000000e+00

1.886686329445662480e+01 3.000000000000000000e+00 2.000000000000000000e+00

1.960702674675711066e+01 4.000000000000000000e+00 2.000000000000000000e+00

1.983434584140020007e+01 5.000000000000000000e+00 2.000000000000000000e+00

2.050709640103466569e+01 6.000000000000000000e+00 2.000000000000000000e+00

此文件作为数组data导入。

在matlab中,anovan函数的调用如下:

^{pr2}$

在python中,我尝试如下调用函数:import matlab.engine

eng = matlab.engine.start_matlab()

data = np.genfromtxt('test.txt')

eng.anovan(matlab.double(data[:,0]),matlab.int8(data[:,1:2]))

不幸的是,这会产生以下错误:ValueError: initializer must be a rectangular nested sequence

我可以看到将最后两个数组列传递给函数时存在一些问题,但不确定解决方案。如有任何建议,我们将不胜感激。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值