机器学习——Octave语法
发布时间
阅读量:
阅读量
Octave语法规则基础操作项中包含多个关键要素:注释说明;幂运算;条件关系中的相等情况;条件关系中的非等情况;逻辑与运算符;逻辑或运算符;非异或运算符;赋值操作步骤;变量显示命令disp或其他直接输出指令;以及向量及其矩阵运算项
- 数据操作
- 计算维度大小
- 导入数据集
- 列出所有变量名称
- 删除特定变量(varname)
- 清除所有变量(all variables)
- 将数值保存到文件中
- 将数据存储在工作目录中
- 创建索引结构
数据运算包括:
* 矩阵相乘
* 向量点积
* 矩阵各元素取幂
* 元素倒数值
* 对数值
* 以e为底的指数函数
* 绝对值大小
* 负号
* 加运算
* 转置操作
* 函数处理过程
* 矩阵伪逆运算
- 绘图
-
绘制绘图
-
在上一图中继续绘制图形,在图形窗口中执行绘制操作
-
设置X轴标签
-
设置Y轴标签
-
添加图表说明
-
设置图表标题
-
将图表保存为png格式文件至工作目录
-
关闭当前图像窗口
-
指定当前图形窗口名称为特定名称
-
创建子图布局以将多个图形显示在同一窗口中
-
设置坐标轴范围为指定区间
-
显示二维数据热力图以展示矩阵内容
- 控制语句
- 函数定义
- Octave命令指南
-
Octave语法
基础操作
1.注释%
2.次方^
2^6
3.逻辑判断相等==
4.逻辑判断不等~=
5.与&&
6.或||
7.异或 xor()
xor(1,0)
8.赋值=
a=3;
b='hi';
c=3>=1;
9.变量显示disp()或直接输出变量
a=pi;
disp(a);
disp(sprintf('2 decimals:%0.2f',a))
format long
a
10.向量与矩阵
a=[1 2;3 4;5 6] %三行两列矩阵
a=[1;2;3] %三行一列矩阵 或 三维列向量
a=[1 2 3] %三列一行矩阵 或 三维行向量
a=[1:0.1:2]%从1到2 ,步长为0.1,绘制坐标轴时有用
a=1:6 %从1到6,步长为1
a=ones(1,3) %[1 1 1]
a=2*ones(2,3) %[2 2 2;2 2 2]
a=zeros(1,3) %[0 0 0]
a=rand(1,3) %生成随机值为0到1的一行散列矩阵
a=randn(1,3) %矩阵所有值服从均值为0,方差为1的正态分布(normal distribution)
a=-6+sqrt(10)*(randn(1,10000)) %均值-6,方差 10
hist(a) %绘制10个方块的直方图(histogram)
hist(a,50) %绘制50个方块的直方图
a=eye(4) %四行四列的单位矩阵(identity matrix)
数据操作
1.维数显示size()
sz=size(a) %显示矩阵维数 [行数 列数]
sz=size(A,1) %返回显示行数
sz=size(A,2) %返回显示列数
length(a) %行、列最长的维数
2.加载数据load
load xxx.dat
3.显示所有变量who
who %显示所有工作环境中设置的变量
whos %同上,但包括具体信息
4.删除变量clear varname
5.删除所有变量clear
6.转存数值
v=priceY(1:10) %将priceY的前十个数据存到v中
7.存储数据到工作目录
save filename v
save filename v -ascii %存储为文本文件
8.索引
a(3,2) %索引(行,列),即第三行,第二列
a(2,:) %第二行所有元素 ':'表示该维所有元素
a([1 3],:) %显示第一、三行
a(:,2)=[10;11;12] %对第二列赋值
a=[a,[100;101;102]] %添加列元素
a(:) %将所偶元素转放入一个列向量
c=[a b] %将a、b两个矩阵连接在一起为c,左右排列
c=[a;b] %将两个矩阵连接在一起,上下排列
数据运算
1.矩阵乘*
a*c
2.矩阵点乘.*
a .* b %矩阵点乘,对应各个元素相乘,要求两个矩阵大小相同
3.矩阵元素乘方.^
a .^ 2
4.元素倒数./
1 ./ a %每个元素元素倒数
5.对数log()
log(a)
6.e的幂exp()
exp(a)
7.绝对值abs()
abs()
8.负数-
-a
9.加法
a+ones(length(v),1) %同v+1
10.转置'
a' %得到a的转置矩阵
11.函数操作
a=[1 15 2 0.5];
val=max(a) %返回最大值
[val,ind]=max(a) %val为最大值,ind为最大值的索引
b=[1 2;3 4]
val=max(b) %若b是矩阵,则返回每列最大元素
%a=[1 15 2 0.5]
a<3 %返回小于3的判断,0为假,1为真
find(a<3) %返回小于3的索引
A=magic(3) %产生一个3*3的魔方阵,矩阵所有行、列、对角线之和相同
%A= [8,1,6;3,5,7;4,9,2]
[r,c]=find(A>=7) %返回符合条件的元素的行列,r c 分别以列向量存储
sum(a) %求和
prod(a) %求乘积
floor(a) %去下整
ceil(a) %去上整
max(rand(3),rand(3)) %返回较大的矩阵
max(b,[],1) %返回每列最大元素,同max(b)
% [8,9,7]
max(b,[],2) %返回每行最大元素
%[8;7;9]
max(max(b)) %返回矩阵最大元素
sum(b,1) %返回每列相加值
sum(b,2) %返回每行相加值
sum(sum(b .* eye(9))) %对角线元素求和
sum(sum(b .* flipud(eye(9)))) %斜对角线元素和flipud上下翻转
12.矩阵求逆pinv()
pinv(b) %同inv(b'*b)*b'
绘图
%plotting
t=[0:0.01:0.98];
y1=sin(2*pi*4*t);
plot(t,y1); %绘图
y2=cos(2*pi*4*t);
plot(t,y2);
hold on; %在上一图中继续绘图,hold off关闭
plot(t,y2,'r') %用不同颜色绘图
xlabel('time')
ylabel('value')
legend('sin','cos')
title('my plot')
print -dpng 'myplot.png'
close
figure(1);plot(t,y1);
figure(2);plot(t,y2);
figure(1);clf; %指定某个图,clf-清空图
subplot(1,2,1) %分成1*2的图,访问第一个图
plot(t,y1);
subplot(1,2,2) %分成1*2的图,访问第二个图
plot(t,y2);
axis([0.5 1 -1 1]) %改变坐标轴x的范围为 0.5-1 y坐标轴范围 -1 - 1
%绘制矩阵
A=magic(5)
imagesc(A)
1.绘图plot()
2.在上一图中继续绘图hold on,hold off关闭
3.标记X坐标轴xlabel()
4.标记Y坐标轴ylabel()
5.标记图中曲线legend()
6.标记图标题title()
7.保存.png图片到工作目录print -dpng 'filename'
8.关闭图像close
9.指定图像标号figure()
10.在同一个窗口里分割为多个图像subplot()
11.改变坐标轴的范围axis()
12.绘制矩阵imagesc()
控制语句
v=zeros(10,1);
for i=1:10,
v(i)=2*i;
end;
% u can use 'break' 'continue' inside for and while loops to control execution
%while
i=1;
while i<=5,
v(i)=100;
i=i+1;
end;
%break
i=1;
while true,
v(i)=999;
i=i+1;
if i==6,
break;
end;
end;
if v(1)==1,
disp('the value is one');
elseif v(1)==2,
disp('the value is two');
else
disp('the value is not one or two')
end;
函数定义
注
注
注
注
function y=squareThisNumber(x)
y=x^2;
执行指定的函数调用
- 调整工作目录位置
切换工作目录位置
\texttt{cd} 命令 - 添加搜索路径
通过命令向当前路径中添加指定路径
\texttt{addpath} 命令(单引号内为具体路径)
保存当前路径为...
\texttt{savepass} 命令(单引号内为具体文件名) - 该软件程序能够返回多个计算结果
Octave能够生成多个输出结果
function [y1,y2]=squareandCubeThisNo(x)
y1=x^2
y2=x^3
Octave命令指南
全部评论 (0)
还没有任何评论哟~
