mac 系统下怎么用octave求积分?

话说,为什么要用mac,是发现linux用久了有些软件没有,那就改用mac了。

为什么要用octave,主要还是觉得用盗版的matlab实在是不尊重知识。

补充下:感觉octave没有geogebra速度快,geogebra唯一问题就是精度只有两位小数
2019.09.21补充"计算上下限为字母的定积分"

版本

mac OS:  Mojave ,version:10.14.3

octave: Octave-4.4.1.dmg

openjdk: openjdk-11.0.2_osx-x64_bin.tar.gz

python3:  python-3.7.3-macosx10.9.pkg

安装

先安装openjdk

解压缩之后,直接把文件夹放到/Applications/这个目录下面就可以了

再安装python3.7.3

正常安装即可。

为python3.7.3安装SymPy库

打开命令行,输入如下命令即可:

pip3 install SymPy

将命令行的python默认版本从python2.7改为python3

命令行输入:

sudo rm -rfv /usr/bin/python
sudo ln -sv /usr/local/bin/python3 /usr/bin/python

安装octave

正常安装即可。

将octave命令添加到/usr/bin目录

sudo ln -sv /Applications/Octave-4.4.1.app/Contents/Resources/usr/bin/octave /usr/bin/octave

从命令行启动octave

直接输入octave即可

在octave下安装symbolic库

进入octave,然后在命令行输入

pkg install -forge symbolic

使用

计算不定积分

从命令行进入octave,在octave命令行输入如下命令:

pkg load symbolic
syms x
f1=x^2*sqrt(4+x^2)
s1=int(f1)

这样就求得了函数x^2*\sqrt{4+x^2} 的积分

用起来有点慢

计算定积分

将前面的不定积分公式换成定积分公式如下:

s1=int(f1,0,1)

其中的0,1分别对应积分的上下限,这样得到的s1是一个表达式,要变成具体的值,调用vpa公式:

vpa(s1,5)

这样将s1变成一个具体的数0.71463,这个值有5位小数,对应的就是vpa公式后面的第二个参数

计算上下限为字母的定积分

syms x
a = sym('a')
s1 = int(1,x,0,a)

得到积分限分别为0,a的定积分,其值为a

添加新评论