Как передать func_args feval в oct2py? (Windows) - PullRequest
0 голосов
/ 26 октября 2019

Я новичок в программировании и мне трудно читать документацию. Мне нужно добавить аргументы в мой октавный скрипт из 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 (Community Edition) для Windows 10 10.0, и я уже добавил переменную среды OCTAVE_EXECUTABLE = C: \ Octave \ Octave-5.1.0.0 \ mingw64 \ bin \ octave-cli.exe

Для функций без параметров у меня нет проблем, потому что это необязательный параметр.

Код в Python, который я использую и работалis:

from oct2py import Oct2Py
oc = Oct2Py()
z = oc.feval(func_path='C:/Users/Me/PycharmProjects/T1/hip.m')
print(z)

Поскольку я использую код октавы, который не требует дополнительных аргументов:

function r = hip()
r = sqrt(4^2+2^2);
end

Этот код возвращает значение 'r' в Python. Но теперь мне нужно привести два аргумента, подобных этому:

function r = hip(x,y)
r = sqrt(x^2+y^2);
end

Если кто-то может привести пример с использованием '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
...