Octave
变量
1 ~= 2 % 不等于
% 百分号表示注释
xor(1,0) % 异或运算
PS('>> ') % 改变提示符样式
a = 3; % 分号阻止打印
disp() % 打印
% e.g.%
a = pi;
disp(sprintf('6 decimals: %.6f', a)) % sprintf()返回字符串
format long % 默认打印更多的位数
format short % 默认打印更少的位数
who % 显示所有变量
clear % 删除变量
load 文件名 % 加载文件成变量
save 文件名 变量名 % 将变量保存成文件(二进制)
save 文件名 变量名 -ascii % 将变量以文本格式(ASCII)保存成文件
矩阵
A = [1 2; 3 4; 5 6]
%{
A =
1 2
3 4
5 6
%}
v = 1:0.1:2 % v是一组值,从1开始,步长为0.1,直到增长到2
v = 1:6 % v是1到6之间的6个整数
ones(2,3) % 生成2*3的矩阵,元素全为1
zeros(1,3)
rand(1,3) % 1*3的矩阵,元素在0~1之间随机
randn(1,3) % 正态随机(高斯随机)
w = rand(1,3)
hist(w) % 绘制w的直方图
hist(w,50) % 有50个竖条的直方图
eye(4) % 4阶单位矩阵
help eye % 查看函数用法
A(3,2) % 索引到矩阵A_{3,2}位置的元素
A(2,:) % : 表示行/列的所有元素
A = [A,[COLUMN VECTOR]] % 矩阵A的右侧添加列向量
A(:) % 矩阵A中所有元素放入单独的列向量
A = [1 2; 3 4; 5 6]
size(A) % 返回矩阵大小
size(A,1) % A的第一维度,即行数
计算数据
A = [1 2; 3 4; 5 6]
B = [11 12; 13 14; 15 16]
C = [1 1; 2 2]
A * C % 矩阵乘法
A .* B % A中每一个元素和B分别相乘
A .^ 2 % 对A中每一个元素乘方(.一般表示对每一个元素进行操作)
log(A) % 对A中每一个元素对数运算
exp(A) % 以e为底的幂运算
abs(A) % 取绝对值
-A % 取相反数
A' % A的转置矩阵
a = [1 15 2 0.5]
val = max(a) % a中最大元素
[val, ind] = max(a) % a中最大元素和其索引
find(a < 3) % 找出a中所有小于3的元素并返回其索引
A = magic(3) % 生成3阶幻方
[r,c] = find(A >= 7) % 返回大于7的元素所在行列
sum(a) % 求和
prod(a) % 求积
floor(a) % 向下取整
ceil(a) % 向上取整
flipud(eye(9)) % 将矩阵垂直翻转
pinv(A) % 对A矩阵求逆
数据可视化
t = [0:0.01:0.98]
y1 = sin(2*pi*4*t)
plot(t,y1)
y2 = cos(2*pi*4*t)
plot(t,y2) % 此时会擦除原来的图像
plot(t,y1)
hold on; % 保留原来的图像
plot(t,y2,'r') % 用红色在原图重叠的基础上绘制图像
xlabel('time')
ylabel('value') % 给横纵轴添加标题
legend('sin', 'cos') % 添加图像的图例
title('my plot') % 添加标题
print -dpng 'myPlot.png' % 保存图像
close % 关闭图像
figure(1) % 为图像标号
plot(t,y1)
subplot(1,2,1) % 将图像分成1*2的格子,使用第一个格子
axis([0.5 1 -1 1]) % 设置x轴和y轴刻度范围
clf; % 清除画像
A = magic(5)
imagesc(A) % 可视化矩阵
imagesc(A), colorbar, colormap gray; % 灰度分布图
控制语句
v = zeros(10,1)
for i=1:10,
v(i)=2^i;
end;
while i <= 5,
v(i)=100;
i=i+1;
end;
while true,
v(i)=999;
i=i+1;
if i==6,
break;
end;
end;
% 函数定义
% 新建 squareThisNumber.m
% squareThisNumber.m
function y = squareThisNumber(x)
y = x^2;
% 调用
% 进入上述文件所在目录
squareThisNumber(5)
% 修改搜索路径
addpath("C:\Users\ooosc\Desktop")