1.移动数据
将机器学习问题的数据移动到octave中并进行操作。
A=[1 2; 3 4; 5 6]
size(A) %返回矩阵A的大小,返回的实际上是个1x2的矩阵,所以可以用一个矩阵把他存储起来
sz=size(A)
size(sz)
size(A,1) %返回A的行数
size(A,2) %返回A的列数
v=[1 2 3 4]
length(v) %返回最大维度的大小
length(A)
length([1;2;3;4;5]) %通常对向量使用这个函数
pwd %查看路径
代码运行截图:
如何在文件系统中加载和查找数据:
我们打开octave时,通常已经在一个默认路径即octave的安装路径中了。
pwd %显示当前路径
cd 'D:\octave' %改变路径,如果路径不存在就会报错
cd 'D:\octave1'
pwd
ls %显示当前路径下的文件
load featuresX.dat %将featuresX.dat中的数据载入octave中,注意一定要在此目录下
load featuresY.dat
load('featuresX.dat') %也可以这么写,只不过是把文件名写成了字符串的形式
who %可以显示当前octave中的所有变量
featuresX %显示featuresX中的数据
size(featuresX)
size(featuresY)
sizeof(featuresX) %返回featuresX在内存中占用的字节数
whos %显示更详细的变量信息
clear featuresX %删除某个变量
whos
v=featuresY(1:3) %将featuresY的前三个元素赋值给v向量,如果越界的话会报错
whos
save hello.mat v %将v以二进制的形式存在hello.mat中,会在当前目录创建hello.mat文件,如果环境中安装了matlab那么可能会被系统自动识别归类,图标可能不一样
clear %删除所有变量
load hello.mat
v %变量v刚刚保存在hello.mat中被载入了
whos
save hello.txt v -ascii %将v以人类能看懂的形式存(也不是很能看懂)
如下图:上半部分是将hello.mat的后缀名改成txt的显示结果,下面是hello.txt的内容
2.操作数据
A=[1 2;3 4;5 6]
A(3,2)
A(2,:) %取第二行所有元素,:相当于sql中的*
A([1,3],:) %取第一行和第三行所有元素
A(:,2) = [10; 11; 12] %将A的第二列用后面的代替,注意个数匹配
A=[A,[100;101;102]] %给A加一列[100,101,102]
A(:) %把A中所有元素放入一个单独的列向量
A=[1 2;3 4;5 6];
B=[11 12; 13 14; 15 16];
c=[A B] %将A B合成一个矩阵,横着合 等价于c=[A,B]
c=[A;B] %竖着合
size(c)