Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在oct2py中为feval提供func_参数?(窗口)_Python_Octave - Fatal编程技术网

Python 如何在oct2py中为feval提供func_参数?(窗口)

Python 如何在oct2py中为feval提供func_参数?(窗口),python,octave,Python,Octave,我是编程新手,很难阅读文档。我需要从Python向我的八度脚本添加参数。在文档中,有关feval的内容如下: Parameters func_path: str Name of function to run or a path to an m-file. func_args: object, optional Args to send to the function 我使用的是PyCharm 2018.1.4(社区版)Windows 10.0,我已经添加了环境变量OCTAVE_EXECUTA

我是编程新手,很难阅读文档。我需要从Python向我的八度脚本添加参数。在文档中,有关feval的内容如下:

Parameters
func_path: str
Name of function to run or a path to an m-file.
func_args: object, optional
Args to send to the function
我使用的是PyCharm 2018.1.4(社区版)Windows 10.0,我已经添加了环境变量OCTAVE_EXECUTABLE=C:\OCTAVE\OCTAVE-5.1.0.0\mingw64\bin\OCTAVE-cli.exe

对于没有参数的函数,我没有问题,因为它是一个可选参数

我正在使用的Python代码是:

从oct2py导入oct2py
oc=Oct2Py()
z=oc.feval(func_path='C:/Users/Me/PycharmProjects/T1/hip.m')
打印(z)
因为我使用不需要可选参数的八度代码:

函数r=hip()
r=sqrt(4^2+2^2);
结束
这段代码在Python中返回'r'的值。但现在我需要给出两个类似的论点:

函数r=hip(x,y)
r=sqrt(x^2+y^2);
结束
如果有人能用func_args给我举个例子。错误消息通常如下所示:

oct2py.utils.Oct2PyError: Octave evaluation error:
error: 'x' undefined near line 2 column 10
error: called from:
hip at line 2, column 3
编辑:完整的错误消息:

Traceback (most recent call last):
  File "C:/Users/LuisE/PycharmProjects/T1/oct2py_v1.py", line 4, in <module>
    z = oc.feval(func_path='C:/Users/Me/PycharmProjects/T1/hip.m')
  File "C:\Users\Me\PycharmProjects\T1\T2\lib\site-packages\oct2py\core.py", line 379, in feval
    store_as=store_as, plot_dir=plot_dir)
  File "C:\Users\Me\PycharmProjects\T1\T2\lib\site-packages\oct2py\core.py", line 579, in _feval
    raise Oct2PyError(msg)
oct2py.utils.Oct2PyError: Octave evaluation error:
error: 'x' undefined near line 2 column 10
error: called from:
    hipotenusa at line 2, column 3
回溯(最近一次呼叫最后一次):
文件“C:/Users/LuisE/PycharmProjects/T1/oct2py_v1.py”,第4行,在
z=oc.feval(func_path='C:/Users/Me/PycharmProjects/T1/hip.m')
文件“C:\Users\Me\PycharmProjects\T1\T2\lib\site packages\oct2py\core.py”,在二月第379行
store_as=store_as,plot_dir=plot_dir)
文件“C:\Users\Me\PycharmProjects\T1\T2\lib\site packages\oct2py\core.py”,第579行,在
提高Oct2Yerror(msg)
oct2py.utils.Oct2Yerror:倍频程计算错误:
错误:第2行第10列附近未定义“x”
错误:从以下位置调用:
第2行第3列的Hipotenus

您能显示给出错误消息的python代码吗?请参考此代码,我尝试了x=2,y=4和oc.feval(func_path='C:/Users/Me/PycharmProjects/T1/hip.m',x,y),但它返回以下内容:文件“C:/Users/LuisE/PycharmProjects/T1/oct2py_v1.py”,第6行z=oc.feval(func_path='C:/Users/Me/PycharmProjects/T1/hip.m',,x,y)^SyntaxError:positional参数跟在关键字Arguments后面尝试这个
oc.feval('C:/Users/Me/PycharmProjects/T1/hip.m',x,y)
这就是解决方案:oc.feval('C:/Users/Me/PycharmProjects/T1/hip.m',x,y)。但我不明白为什么它在第一次添加“func_path”时起作用。