manjaro下为octave安装control软件包
最近在看《算法之美》,里面配套的代码是octave的,安装好了软件后,运行代码,发现提示没有发现package control
一、打开图形化的octave软件,通过帮助菜单--octave软件包,自动打开网页:https://gnu-octave.github.io/packages/,也可以在浏览器地址栏输入地址打开
二、在search package栏输入control,搜索结果中单击control
三、可以下载到本地安装,也可以复制后面的命令:pkg install "https://downloads.sourceforge.net/project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/control-3.4.0.tar.gz",在octave命令中输入以上命令也可以
四、我这里make出错了,提示没有gfortran命令,安装gcc-fortran解决,命令sudo pacman -S gcc-fortran
五、在octave中,依旧可以使用shell命令切换目录,找到文件直接执行,或者安装本地的软件包都可以的。
六、代码为:
clc;clear;close all; %% 加载Control Package,使用Matlab则注释下1行 pkg load control %% 定义参数 S = 5; x0 = [70]; h = 175; a = 20; Ei = [2500,2100,2500]; alpha = 1.3; Ea = [0, 0, 500]; %% 定义G(s) G_s = tf([1],[7000,10*alpha]); %% 定义扰动和输入 d = -alpha*(6.25*h-5*a+S); u1 = (Ei(1)-Ea(1)); u2 = (Ei(2)-Ea(2)); u3 = (Ei(3)-Ea(3)); %% 系统的输出 t = 0: 1: 3000; x1 = (u1+d)* step(G_s,t) + 7000 * x0 * impulse(G_s,t) ; x2 = (u2+d)* step(G_s,t) + 7000 * x0 * impulse(G_s,t) ; x3 = (u3+d)* step(G_s,t) + 7000 * x0 * impulse(G_s,t) ; %% 绘图 plot (x1, 'b'); hold on plot (x2, 'k'); hold on plot (x3, 'r'); grid on; hold off; legend ('Case 1', 'Case 2', 'Case 3');
命令行下的octave下,我的文件名为:picontrol.m,命令行中,输入picontrol 回车
结果如下:
也可以安装其他的包:
pkg install "https://downloads.sourceforge.net/project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/control-3.4.0.tar.gz"
pkg install "https://downloads.sourceforge.net/project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/signal-1.4.3.tar.gz"
pkg install "https://downloads.sourceforge.net/project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/symbolic-3.0.1.tar.gz"
pkg install "https://downloads.sourceforge.net/project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/struct-1.0.18.tar.gz"
pkg install "https://downloads.sourceforge.net/project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/optim-1.6.2.tar.gz"
pkg install "https://downloads.sourceforge.net/project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/netcdf-1.0.16.tar.gz"
pkg install "https://github.com/gnu-octave/statistics/archive/refs/tags/release-1.5.1.tar.gz"
pkg install "https://downloads.sourceforge.net/project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/image-2.14.0.tar.gz"
pkg install "https://downloads.sourceforge.net/project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/instrument-control-0.8.0.tar.gz"
pkg install "https://downloads.sourceforge.net/project/octave-raspberrypi/v0.0.3/raspi-0.0.3.tar.gz"
pkg install "https://downloads.sourceforge.net/project/octave-mqtt/v0.0.3/octave-mqtt-0.0.3.tar.gz" you may failed!
pkg install "https://downloads.sourceforge.net/project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/fuzzy-logic-toolkit-0.4.6.tar.gz"
pkg install "https://downloads.sourceforge.net/project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/parallel-4.0.1.tar.gz"
pkg install "https://downloads.sourceforge.net/project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/splines-1.3.4.tar.gz"
pkg install "https://github.com/gnu-octave/octave-sqlite/releases/download/v0.0.2/octave-sqlite-0.0.2.tar.gz"
pkg install "https://downloads.sourceforge.net/project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/ga-0.10.3.tar.gz"
pkg install "https://downloads.sourceforge.net/project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/general-2.1.2.tar.gz"
pkg install "https://downloads.sourceforge.net/project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/arduino-0.10.0.tar.gz"
也可以在联网状态下:命令行输入 pkg install -forge 包名 进行软件包安装
也许需要:sudo pacman -S gcc-fortran
pkg install -forge signal symbolic struct
pkg install -forge optim netcdf image instrument-control statistics