- 四则运算:
● 1 + 2
● 1 * 2
● 1 / 2
● 1 - 2 - 变量
● a = 1
● a = 1; % 不显示赋值结果
● clear a % 删除a这个变量 - 注释: %
- 相等 / 不等 :
● 1 == 2 %结果是0,表示为假
● 1 ~= 2 %结果为1 - 逻辑 / 位运算:
● 1 || 0 % 1
● 1 && 0 % 0
● xor(1, 0) % 1, 异或 - 打印变量:
● a
● disp(a)
● disp(sprintf(‘pi is %.2f’, pi)) - 矩阵:
● A = [1,2;3,4;5,6] % 32矩阵
● A = ones(2,3) % 23矩阵,元素均为1.
● A = 3ones(2,3) % 23矩阵,元素均为3.
● A = rand(3,3) %33矩阵,元素随机.均值为0.5,幅度在0~1间.
● A = randn(3,3) % 33, 元素均值为0方差为1,服从高斯分布.
● A = eye(5) %5阶单位矩阵. - 向量:
● v = [1,2,3] %行向量
● v = [1;2;3] %列向量
● v = 1:0.1:1 %从1开始,步长为0.1,直到1.得到一个行向量
● v = 1:6 % 1 2 3 4 5 6 得到这个行向量 - 直方图:
● hist(1+2randn(2,10))
● hist(1+2randn(2,10), 20) %第二个参数指定条数. - 帮助命令: help ‘命令’
● help eye
● help rand - size:
● size(A) %返回3 2, A是3*2的矩阵
● size(A,1) % 3, A的行数
● lenght(v) % 3, v是3维向量
● lenght(A) % 3, A最大的维度是3
pwd %显示当前路径Octava路径
pwd cd ls 与Linux功能相同
● load xx.dat 可以加载文件
● who / whos 可以显示当前工作空间的所有变量
● save A testSave.mat % A存储在testSave文件中
13. 矩阵操作
● 索引: A(1,2)
● A(1,:) 第一行 ":"表示所有元素
● A([1 3]? 第一行和第三行所有元素
● A = [A, [1;2;3]] % A右侧添加一列
● A(? A所有元素放到一个向量中
● C = [A B] 行连接
● C = [A;B] 列连接
14. 矩阵计算
● AB
● A.B % .表示对每个元素操作
● A.^2 % 每个元素取平方
● 1./A % A每个元素取倒数
● log(A) % 对数
● exp(A) % e的幂次
● abs(A) % 绝对值
● -A % 等价-1A
● A’ % A的转置
● [val, indx] = max(v) % 向量v中最大值与索引.
● max(A) % A为矩阵,将对A中每一列求最大值
● v < 2 % 每个元素与2相比,小于2为真返回1,否则为0.得到相同向量/矩阵.
● [r,c] = find(v < 2) % 返回小于2的元素的索引.
● sum(A) % 所有元素和
● sum(A, 1) sum(A, 2) % 每列/行的元素和
● prod(A) % 所有元素乘积
● floor(A) / cell(A) % 向下 向上取整
● max(A,B) % 每个元素比较,取大值
● max(A,[],1) % 对每列取最大值
● max(A,[],2) % 每行取最大值
● max(A) % 默认是对每列取最大值
● flipud(eye(3)) % 矩阵上下翻转
● pinv(A) % A求逆矩阵
15. 画图:plot
● plot(x,y) % x向量为x轴取值,y向量为y轴取值
● hold on % 多个图间hold on,可以将后续图叠加画到前一幅图中
● xlable(’’) ylable(’’) % x y轴名称
● title(’’) % 图的标题
● legend(‘line1’,‘line2’) % 标记图中每条线的名称
● print -dpng ‘name.png’ % 保存成png图片
● close % 关闭图像
● figure(1) figue(2) % 给图像编号,可以同时显示多个图像
● subplot(m,n,i) % 图像划分为mn个格子,当前使用第i个作图。
● axis([-1 1 2 3]) % 调整轴坐标范围 x轴-1到1,y轴2到3
16. 条件控制
● v = [1:5];
for i = v,
if i >= 4,
break;
elseif i == 2,
continue
end
disp(i)
end;
● i=1
while i<=5,
disp(i)
i = i+1;
end
17. 函数定义
● 新建文件 testFunction.m 内容:
function [x,y] = testFunction(a,b)
x = a * b;
y = a + b;
● 调用:a = testFunction(2,3)