Ml2:Octave Notes
Octave
记录一些 Octave 特有的语法
逻辑运算
- 不等于: ~=
注释
- %
语句后面加分号可以避免回显。
disp(var) 输出var的值
矩阵写法: A = [1, 2; 3 , 4 ; 5, 6]
类似python 中 range 的写法:
v = 1:0.1:2
v = 1 : 6
产生矩阵的方法
- ones(2, 3)
- zeros(2, 3)
- rand(2, 3)
- eye(4) 单位矩阵
- magic(5) 幻方矩阵
计算矩阵长度: size(A) 返回的也是一个矩阵
帮助指令: help xxx
xxx 会变成变量名,代表这个文件,可以用 who/whos 命令查看所有变量。
释放内存: clear 变量名
切片:v = priceY(1:10) 把变量 priceY 的前十个元素赋值给 v
文件加载与存储
- save hello.mat v; 把 v 保存到 hello.dat 文件(二进制形式)
- save hello.mat v -ascii; 把 v 保存到 hello.dat 文件(ASCII形式)
- 加载文件: load xxx.dat 或者 load(‘xxx.data’)
切片/拼接
A = [1, 2; 3 , 4 ; 5, 6]
A(3, 2) A 中第3行,第2列的元素
A(3, :) 第3行所有元素,: 代表所有元素
A(:, 2) 第2列所有元素,: 代表所有元素
A(:, 2) = [10; 11; 12] 给第2列赋值
A = [A,[100; 200; 300]]; 添加一列
A(:) 将A的所有元素创建成列向量
C = [A B] 将 A B 左右拼接起来
C = [A ; B] 把 AB 上下拼接
运算
A * B
A .* B 点乘,AB中相同位置元素相乘
A.^ 2 每个元素做作square运算
1 ./ V 求对应元素的倒数 (V ^ -1)
log(v) 对每个元素
exp(v)
abs(v)
A’ A的转置
max(A) 求每一列的最大值, max(max(A)) 取A中最大值
A < 3 返回的是一个矩阵…..对应01表示对应元素与关系符运算结果
[r, c] = find(A < 3) 返回 A 中满足条件的元素下标
sum(A)
sum(A, 1) 求每一列的总和
sum(A, 2) 求每一行的总和
pinv(A) 求A的逆矩阵
prod(A) 返回 A 中所有元素的乘积
floor / ceil 取整的
max(A, [], 1) 返回每一列的最大值矩阵
max(A, [], 2) 返回每一行的最大值矩阵
plot 画图
绘制 sin
1 |
|
保留画板: hold on;
指定标签:
- xlabel('x-ray')
- ylabel('y-ray')
- legend('sin', 'cos') 指定不同曲线的名称
- title('xxxx')
保存成图片: print -dpng ‘xxxx.png’
figure(n) 绘制图n
subplot(1,2,1) 表格布局(1 x 2),最后一个参数表示接下来操作的布局
axis 修改坐标轴区间
clf 清除图像
控制语句
for 循环
1 |
|
While 循环
1 |
|
if/while 嵌套
1 |
|
If/else
1 |
|
函数
定义函数
1 |
|
调用函数
1 |
|
函数可以返回多个值
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!