我使用oct2py在python代码中调用一个倍频程函数。一切都应该正常,使用octave执行的octave函数可以正常工作,但当我使用python调用该函数时,出现以下错误:
import os
pathToExecutable = ('C:\\Octave\\Octave-5.2.0\\mingw64\\bin\\octave-cli.exe')
os.environ['OCTAVE_EXECUTABLE'] = pathToExecutable
from oct2py import octave
import pprint
import numpy as np
import matplotlib.pyplot as plt
from scipy.io import loadmat
octave.addpath(octave.genpath('E:/funcs/software/octave_calls'))
octave.eval('MSPP')
Oct2PyError: Octave evaluation error: error: 'AvgPwr' undefined near line 22 column 15 error: called from: MSPP at line 22, column 8
这一行中的倍频程代码是下一个:
Power=AvgPwr
当我从.mat文件导入AvgPower时使用
load params.mat %<--transcription corrected (before it was load(params.mat)
编辑:
MSSP的第一行
warning off
close all;
clear all;
clc;
%% Load pameters
load params.mat
################################################################################
%% CW Laser
Plaser = 10^((AvgPwr-30)/10); % Average Laser Power
emzm = 1.0;
params.mat是在另一个倍频程文件中生成的,我在其中加载所有参数,它包含变量AvgPwr,我认为倍频程代码一切都是正确的,因为当我使用倍频程运行它时,它工作得很好
目前没有回答
相关问题 更多 >
编程相关推荐