octave之算数Arithmetic

原创 2018-02-23 14:24 阅读(196)次

数学的遗忘是我学习机器学习中最烦恼的事情了。

我不知道有多少程序员跟我一样把数学大部分都已经还给老师了。

但要学好机器学习甚至是深度学习,数学得捡回来。


Exponents and Logarithms 指数和对数

Trigonometry 三角函数

其他




Exponents and Logarithms 指数和对数

e 约等于2.718这件事情没忘吧。

exp (x)
计算以自然对数e为底的指数计算

exp(3)
ans =  20.086



log (x)

以e为底求对数

log(2.71)
ans =  0.99695

log1p (x)

相当于log(x+1) ,貌似没什么用的方法。


log10 (x)
以10为底求对数


log2 (x)
以2为底求对数


pow2 (x)
以2为底的指数计算

pow2(3)
ans =  8


nextpow2 (x)

计算出以2为底的指数次方,满足大于X中最小的整数。有点绕口。


realpow (xy)
x的y次方


sqrt (x)

x的平方根


realsqrt (x)
x的平方根,但如果x为负数,则报错,跟sqrt差别不大


cbrt (x)

x的立方根


nthroot (xn)
求底数,即a^n = x ,求a



Trigonometry 三角函数

octave的三角函数参数是以弧度作为参数的,而不是角度,换算公式如下:弧度 =  角度 * pi /180

注意:如果函数名最后是"d"结尾,那则是用角度值传参


rad = deg2rad (deg)
角度转弧度


deg = rad2deg (rad)
弧度换角度


sin (x)    对应的就是sind (x), 以下就不一一列举了

cos (x)

tan (x)

sec (x)

csc (x)

cot (x)

这几个不用介绍了吧,常规三角函数方法


asin (x)
反正弦,下面类似

acos (x)

atan (x)

asec (x)

acsc (x)

acot (x)


sinh (x)
双曲正弦函数

asinh (x)
反双曲正弦函数

类似的···我不罗列了,函数名规则显而易见了。



sum (x)  和 sum (xdim)
求和,可以用在矩阵上,那就是不同维度的求和

prod (x) 和 prod (xdim)

乘积和


cumsum (x)   累和

x =[1:1:3;2:2:6]   
x =


   1   2   3
   2   4   6
cumsum(x)
得到 
ans =

   1   2   3
   3   6   9

cumprod (x)
累积

cumprod(x,2)
ans =

    1    2    6
    2    8   48


sumsq (x)  和 sumsq (xdim)
同一个维度的数值先平方再求和

sumsq(x)
ans =

    5   20   45

ceil (x)
向上取整

fix (x)
去掉小数点后

floor (x)
向下取整  (跟fix的区别注意在于负数的处理)

round (x)

四舍五入····这么描述很明白了吧

max (x)
取最大值,如果x是矩阵,分每列取最大。如果双参数,一个矩阵一个标量,会矩阵中元素分别和标量比较,返回一个矩阵

min (x)
取最小值。其他和max一样


cummax (x)
从上到下逐个比较,当最大出现时,后面的元素都替换成最大值,但前面的不受影响。

cummin (x)
跟cummax异曲同工


hypot (xy)
x y的对应元素各自的平方和再求平方根 (绕口)

gradient (m)
计算梯度,比较矩阵间的元素的距离(梯度),分别计算出来

这个方法有点难理解

上段代码

a = [1 5 7;4 5 3;7 9 12;15 12 16]
⁩a =


    1    5    7
    4    5    3
    7    9   12
   15   12   16
gradient(a)
得到
ans =

   4.00000   3.00000   2.00000
   1.00000  -0.50000  -2.00000
   2.00000   2.50000   3.00000
  -3.00000   0.50000   4.00000
举例说明一下,ans[1,1]  =4   是 a[1,1] 和 a[1,2] 的梯度4,  ans[2,2] =5 是 a[2,1] 和 a[2,3] 梯度-0.5  =(3-4)/2,这样是否明白了

 这个方法的参数很多,建议使用的时候详查api  点击打开链接



dot (xydim)
矩阵x和矩阵y 点积 ,就是按位现成,然后一列相加起来。

cross (xy)
向量积,又叫叉积,

 


divergence (fxfyfz

散度: 散度是描述空气从周围汇合到某一处或从某一处流散开来程度的量。 好吧,这个我暂时还没懂。大家请自己看api

再下去的API数学要求很高,甚至一些涉及物理,我决定另外抽一文章来说明。
本文到此结束。



本站作品的版权皆为作品作者所有。

本站文字和内容为本站编辑或翻译,部分内容属本站原创,所以转载前务必通知本站并以超链接形式注明内容来自本站,否则以免带来不必要的麻烦。

本站内容欢迎分享,但拒绝有商业目的的转载!




下一篇:Elastic Stack 介绍