Octave个人学习笔记

来源:互联网 发布:网络摄像机复位按钮 编辑:程序博客网 时间:2024/06/02 04:21

via learning Coursera : machine learning to learn use the octave

用什么学什么

octave学习:



1.基本数值计算
基本的数学运算同正常元算操作一样;
注释:%
2.基本逻辑运算:
== 等于
~= 不等于
&& 逻辑与
|| 逻辑或
xor(,) 异或
3.简化octave命令:
PS1
4.octave赋值:
a = 3 %输出:a = 3
a = 3; %不打印上式,再想打印,输入a即可


% 专门用于打印的命令:disp()
format long
format short
5.ocateve矩阵表示:
A = [1 2; 3 4; 5 6]  % 3 x 2向量
A = [1 2 3]          % 1 x 3行向量
A = [1; 2; 3]        % 3 x 1列向量


V = 1 : 0.1 : 2
% 表示建立一个从1开始,增长步长为0.1,到2为止的 1 x 11的行向量
V = 1:6
% 1 2 3 4 5 6


% 快速生成矩阵的命令:
ones(2, 3) % 生成2 x 3的元素全为1的矩阵
zeros(, )   % 生成元素全为零的矩阵
rand(, ) % 生成的元素值为随机值,但树脂介于0到1之间
randn(, ) % 生成高斯随机变量


w = -6 + sqrt(10)*(randn(1,10000))
hist(w)     % 生成随机变量的直方图
hist(w, 50) % 改变直方图的条数,以显示更详细更准确


eye(n)     % 生成n阶单位矩阵


% 查询函数的具体使用方法:
help 函数名称
6.矩阵的具体操作
例如:A = [1 2; 3 4; 5 6]
size(A)     % 显示矩阵的行、列维数
length() % 通常用来对向量进行操作


% 以下为读取和存储数据的方法:
pwd         % 显示octave当前所处路径
cd % 改变当前所处路径至指定路径
load 数据集名称 % 在当前路径中加载数据集
who % 显示当前octave存储的变量
whos % 更详细
clear 变量名 % 删除指定变量
save 数据集名称 变量
% 将变量存储到新建的数据集中,一般命名成 数据集名称.mat,当然也可以命名成:.txt
----------------------------------------------------------------------
% 对矩阵进行操作(索引操作)、移动数据:
接上例子,A = 
1 2
3 4
5 6
A(2, :) % 表示第二行的所有元素
A(: ,2) % 表示第二列的所有元素    % 即冒号表示什么什么情况下的所有元素
A([1 3], :) % 取第一行和第三行的所有元素


% 调用以上操作的同时也可以进行赋值


A = [A, [100 ;101; 102]]     %行与行之间要加‘;’
% 在A矩阵的右边添加一个列向量组成新的矩阵


% 连接两个矩阵
设B = 
11 12
13 14
15 16
C = [A B] % B连接在A的左边
C = [A; B] % B连接在A的下边
------------------------------------------------------------------------
例如:
A = [1 2; 3 4; 5 6]
B = [11 12; 13 14; 15 16]
C = [1 1; 2 2]


A * C
A .* C
A .^ 2


设:V = [1; 2; 3]
1 ./ V
log(V)
exp(V)
abs(V)


A' % 矩阵A的转置
(A')'
sum(A) % 求和:矩阵中的每一个元素相加
prod(A) % 连乘积:矩阵中的每一个元素相乘
floor(A) % 矩阵中的每一个元素,向下四舍五入取整保留
ceil(A) % 向上四舍五入取整保留
pinv(A) % 求矩阵A的伪逆矩阵


magic(n) % 生成一个n阶矩阵,该矩阵的特点是:每行、每列、每对角线元素相加和都是相等的
-------------------------------------------------------------------------
7.绘图数据
如:t = [0 : 0.01 : 0.98]
y1 = sin(2* pi *4 *t)
plot(t, y1) % 即可得到函数y1的图像
y2 = cos(2* pi* 4 *t)


% 若先画了图像y1,若想要在图像y1的基础上画y2,则需使用:hold on;
plot(t, y1);
hold on;
plot(t, y2), 'r';% 第三个参数表示图像的颜色


% 改变x轴和y轴的值(名称)
xlabel('time')
ylabel('value')


legend('sin', 'cos')% 在右上角显示各函数分别用什么颜色的线来表示
title('plot name')       % 显示这幅图的标题
print -dpng 'myplot.png' % 以png的格式保存
subplot(1, 2, 2)% 将图像分成两部分,每一部分是1 x 2的网格
axis([0.5 1 -1 1])% 改变x、y轴的范围


8.使用if while for,定义函数、调用函数
9.向量化
注意:Matlab中第一个元素的下标是从1开始的,而octave是从0开始的












































































原创粉丝点击