2

我正在做一个八度的程序,我得到了

t=0:.0002:20;

Gs=tf(100,[1 10])

u1=sin(t);

y1=lsim(Gs,u1,t);

plot(t,9.95*sin(t-0.1),’r’,t,y1,’b’)

但是,当我在命令窗口中编写 Gs=tf(100,[1 10]) 时,它会出现“警告:'tf' 函数属于您已安装但未加载的 Octave Forge 控制包。要加载包,从 Octave 提示符运行 'pkg load control'。” 我怎样才能加载这个包?我真的无法理解... 在此处输入图片描述

在此处输入图像描述

当我加载它时,它出现:

pkg 加载控制警告:addpath: C:\Octave\OCTAVE~1.0\mingw64\share\octave\packages\control-3.2.0: 没有这样的文件或目录警告:从第 48 行的 load_packages_and_dependencies 调用 第 47 行的第 5 列 load_packages第 3 列 pkg 第 461 行第 7 列

t=0:.0002:20;Gs=tf(100,[1 10]) 错误:在目录 C:\Octave\OCTAVE~1.0\mingw64\share\octave\packages control-3.2.0 中找不到任何 INDEX 文件
,尝试 'pkg rebuild all' 到生成缺少的 INDEX 文件错误:从第 94 行第 5 列的 describe>parse_pkg_idx 调用第 59 行第 40 列描述第 555 行第 43 列 未实现> 第 540 行第 15 列 未实现第 127 行第 11列未实现

4

1 回答 1

3

octave终端中,键入

pkg load control

加载控制包。如果您尚未安装控制包,则需要安装它。您可以通过键入直接从Octave Forge执行此操作

pkg install -forge control

请注意,这将在您预定义的“前缀”中安装此软件包。您可以通过键入找到它在哪里

pkg prefix

如果您不确定是否control已安装软件包,您可以通过键入检查已安装软件包的列表

pkg list

键入help pkg以查看有关 octave 包管理器如何工作的更多详细信息。


无论如何,tf函数是属于control包的,和所有的包一样,你需要先加载它,然后才能使用它的函数。

话虽如此,即使在加载控制包之后,您的上述代码也不起作用。似乎您正在tf使用错误的格式调用该函数。

于 2020-12-02T19:07:01.043 回答