zp2tf()触发错误:'is_real_vector'未定义

时间:2014-04-16 14:55:19

标签: octave

这是代码及其产生的错误:

octave:1> z = [-1;1];
octave:2> p = [0.5+0.5j;0.5-0.5j];
octave:3> k = 1;
octave:4> n = 100;
octave:5> pkg load signal
octave:6> [b,a] = zp2tf(z,p,k);
error: 'is_real_vector' undefined near line 38 column 15
error: called from:
error:   /home/raffael/octave/control-2.6.2/@tfpoly/tfpoly.m at line -1, column -1
error:   /home/raffael/octave/control-2.6.2/__vec2tfpoly__.m at line 32, column 7
error:   /home/raffael/octave/control-2.6.2/@tf/tf.m at line 223, column 13
error:   /home/raffael/octave/control-2.6.2/zpk.m at line 101, column 11
error: evaluating argument list element number 1
error:   /home/raffael/octave/signal-1.3.0/zp2tf.m at line 41, column 12

我在Ubuntu 14.04上使用Octave 3.8.1。

根据this打开和关闭的错误报告,此错误可能是由安装错误引起的。

所以我重新安装了Octave和信号包(像往常一样使用apt-get):

sudo apt-get update
sudo apt-get upgrade
sudo apt-get remove octave
sudo apt-get install octave
sudo apt-get install octave-signal

有人可以用Octave 3.8.1确认这是一个错误,还是我的安装过程出现问题?

1 个答案:

答案 0 :(得分:1)

使用我自己的Octave版本和通过pkg安装的软件包在我的系统中工作正常。

从错误消息中,您似乎正在使用本地安装的软件包,但与此同时,您提到通过Ubuntu的软件包管理器安装它们。我建议检查你的~/octave/目录并删除它,如果你坚持使用Ubuntu的包管理器。根据我的经验,使用两者并不是一个好主意。