一、octave安装


Mac下安装octave


二、octave基本语法(basic operations)


1、进入octave

Octave 入门

2、5+6

Octave 入门


3、3-2

Octave 入门


4、5*8

Octave 入门


5、1/2

Octave 入门


6、2^ 6

Octave 入门


7、1==2 %false(百分号这是注释)

Octave 入门


8、1 ~= 2 (1不等于2,波浪线加等号)

Octave 入门


9、1 && 0 %AND  (与运算)

Octave 入门


10、1 || 0 %OR(或运算)

Octave 入门


11、xor(1,0) (异或)
Octave 入门

12、简化提示 PS1('>> ');
Octave 入门

13、变量赋值,可以在末尾加分号,让其不输出

Octave 入门


14、disp的用法
Octave 入门

15、format 控制输出长短格式
Octave 入门

16、定义一个矩阵(分号起到换行的作用)
Octave 入门

17、行向量和列向量
Octave 入门

18、v = 1:0.1:2(从1到2,步长为0.1增加产生的行向量)
Octave 入门

19、v = 1:6

Octave 入门


20、ones(2,3)

Octave 入门


21、rand(2,3)

Octave 入门

22、randn(2,3) (高斯随机变量)

Octave 入门


23、生成一个1行10000列的矩阵,乘以10平方,减去6,再用hist(w)画出

Octave 入门

Octave 入门


24hist(w,50)画出有50条柱

Octave 入门
Octave 入门

25、eye(4)单位矩阵

Octave 入门

26help使用

例如:help eye就会显示eye函数的一些使用方法,同理help randhelp help可以查看help指令的一些使用方法

Octave 入门


三、octave下操作数据(computing on data)


1、A(3,2)

Octave 入门


2、A(2,:)

Octave 入门


3、A(:,2) (第二列所有元素)

Octave 入门


4、A([1 3],:) (取第一列和第三列所有元素)

Octave 入门


5、替换矩阵中的某列

Octave 入门


6、在矩阵右边添加列

Octave 入门



7、size(A)
Octave 入门

8、A(:)  %(将A中所有元素放入到一个列向量里)

Octave 入门


9、矩阵横向合并 C = [A B]

Octave 入门



10、矩阵纵向合并C = [A ; B]
Octave 入门


11、[A B] 和 [A ; B]输出结果相同

Octave 入门


12、矩阵相乘 A * C 

Octave 入门


13、矩阵对应元素相乘 A .* B(octave中点号一般表示元素位运算)

Octave 入门


14、A .^2

Octave 入门


15、1 ./ v

Octave 入门


16、1 ./ A

Octave 入门


17、自然对数 log(v)

Octave 入门


18、指数运算 exp(v)

Octave 入门


19、绝对值abs(v) 

Octave 入门


20、-v

Octave 入门


21、将向量中元素加一 (等价于v+1)

Octave 入门


22、矩阵的转置

Octave 入门


23、max(a)

Octave 入门


24、[val,ind] = max(a)

Octave 入门


25、max(A)

Octave 入门


26、a < 3

Octave 入门


27、find(a<3)

Octave 入门


28、魔幻阵 A = magic(3) (所有行列对角线上的数字加起来和相同)

Octave 入门


29、[r,c] = find(A >= 7)

Octave 入门


30、sum(a)

Octave 入门


31、prod(a) (乘积)

Octave 入门


32、floor(a) (向下舍去)

Octave 入门


33、ceil(a) (向上入一)

Octave 入门


34、max(rand(3),rand(3)) (逐一比较生成的两个随机矩阵,选择较大那个)

Octave 入门


35、选取矩阵每一列和每一行的最大值,max(A)默认每一列最大值

Octave 入门


36、找出矩阵最大值 max(max(A)) 或者 max(A(:)) 

Octave 入门


37、矩阵求每一列的和 sum(A,1)

Octave 入门


38、矩阵求每一行的和 sum(A,2)

Octave 入门


39、A .*eye(9)

Octave 入门


40、sum(sum(A .*eye(9)))

Octave 入门


41、对角线翻转 flipud(eye(9))

Octave 入门


42、逆矩阵 pinv(A)

Octave 入门



四、用octave画图(plotting data)


1、正弦函数

Octave 入门

Octave 入门


2、余弦函数

Octave 入门

Octave 入门


3、同时画正弦,余弦函数(完整图)(路径+print -dpng 'myplot.png' 可以保存图)

Octave 入门

Octave 入门


4、 subplot使用

Octave 入门

Octave 入门


5、改变轴的刻度

Octave 入门

Octave 入门


6、清除 

clf;


7、可视化矩阵

Octave 入门

Octave 入门


Octave 入门

Octave 入门



五、octave的控制语句(for, while, if statements


1、for

Octave 入门


2、while

Octave 入门


3、break, if

Octave 入门


4、if else

Octave 入门


六、octave向量化


一行语句就可以实现

Octave 入门


C++中的实现
Octave 入门

在之前的例子中,我们知道theta是要逐一求解,他们是同步更新的,所以可以把它们转化为向量求解,他们的维数是相同的,转换求解可以简化很多步骤。
Octave 入门






相关文章: