octave的学习

octave的学习

最近在看andrew的关于machine learning的学习。发现他在用octave的工具来学习machine learning。虽然知道后面应该会用numpy,pandas,pymatlab.但是感觉确实octave的语言比较简单。在这儿写一篇文章来学习一下的。

常用的语句指令

四则运算

5+6
3-2
5*8
1/2
2^6

基本逻辑运算

1==2
1~=2
8>1 && 0
9>1 ||0
xor(0,1)

修改Octave提示符

PS1(‘>>’);

比较下列两行命令

a=3
a=3;

练习

b=‘hi’;
a=pi;
disp(a)
disp(sprintf(‘2 decimals:%0.2f’,a))

format long % 修改数据类型
a

format short 
a

向量和矩阵

A=[1 2;3 4;5 6]
v1=[1 2 3]
v2=[1 ; 2; 3;]
v=1:0.2:2 //有用 起始:增量:终止
v=1:6
ones(2,3)
zeros(1,3)
rands(3,3)

在目前的矩阵中,我们看到;就是一个行的分隔符。,则表示矩阵的行数和列数使用的

w=rand(1,3)
w=-6+sqrt(10)*randn(1,10000)
hist(w)
hist(w,50)
I=eys(6)
help eye
help rand
help help

移动数据

基本命令

A=[1 2;3 4;5 6]
size(A) //ans=3 2 放回矩阵A的大小  其实就是**,**的运用场景
sz=size(A) size(A)返回结果其实就是一个矩阵
size(sz) //ans=1 2(返回sz是一个1行2列的矩阵)
size(A,1) //ans =3 行数
size(A,2) //ans =2 列数
length(A) //**放回行列最大的那个数** 
length([1;2;3;4;5]) //ans=5 (一般用在向量上)

length 是在size的基础上面又加了一层过滤的效果

路径配置

pwd
cd ‘路径地址’
ls
featureX.dat
priceY.dat
load(‘featureX.dat’)
who
whos
clear x
clears

数据保存和读取操作

V=[1;2;3;4;5;6]
save hello.bat V
clears
load(‘hello.mat’)
save hello.txt v -ascii

矩阵的索引操作

A=[1 2; 3 4; 5 6]
A(3,2) ans= 6
A(2,:) //ans =3 4 返回第2行
A(:,2) //ans= [2;4;6]返回第2行
A([1 3],:)//ans=[1 2; 5 6] 返回第1和3行
A(:,2)=[10;11;12]//给A的第2列赋值
A=[A,[100;101;102]]//给A增加一列
A(:)//生成单独的列向量
A=[1 2;3 4;5 6]
B=[11 12;13 14;15 16]
C=[A B] //左右连接矩阵A和B
C=[A;B] //上下连接矩阵A和B

计算数据

A=[1 2;3 4;5 6]
B=[11 12;13 14;15 16]
C=[1 1;2 2]
A*C
A.*B
A.^2
V=[1;2;3]’ % 求逆矩阵
1./V %求倒数
log(V) 求自然对数
exp(V) 求e的幂次运算
abs([1;-2;-3])  求绝对值运算
V+1 //加一运算

我们从上面看到.是一个特殊的字符,有点像编译中的/感觉可以记忆一下的

A=magic(3)
[r,c]=find(A>=7)
a=[1.0 1.1 1.9 2 2.5 2.7]

sum(a)
prod(a) //product 求积运算
floor(a) //返回小于等于a的最大整数,可以理解为去除小数部分
ceil(a) //返回大于等于a的最小整数
round(a) //四舍五入
max(rand(3),rand(3)) //逐个元素比较两个3*3的矩阵,取最大值放回一个3*3的矩阵. 
max(A,[],1)//返回每一列的最大值
max(A,[],2)//放回每一个行的最大值
max(max(A))//返回最大值
A=magic(9)
sum(A,1)
sum(A,2)
flipud(A)//上下翻转矩阵
pinv(A) //求逆矩阵

max 两个矩阵中,元素一一比较,取最大值生成一个矩阵

你可能感兴趣的:(deep_learning)