内容:变量 &矩阵&矩阵运算&文件移动
变量与矩阵
%表示注释
1.变量:
octave:1> PS1('>> ') %将命令提示符修改为>>
>> a = 3; %对a进行赋值且不打印输出(加;)
>> b = 'hi' %赋值
>>c = (3>=1) %条件赋值(c=1)
>> disp(a) %显示a的值
>> disp(sprintf('2 decimals:%0.2f',a)) %打印string字符串,%0.2控制变量格式
2 decimals:3.00
>> format short %控制打印子长(long)
2.矩阵:
A='[]'表示对矩阵进行定义
A(3,2) A(:,2) '()'表示对矩阵的元数进行处理
>> A = [1 2; 3 4] %2x2数组
>> v = [1; 2; 3] %3*1向量
>>a(3:4,1) %取出a第三到第四行,第一列的元素
>>a(2:3,3)=[0 0] %将2,3行第三列元素置为零
>> v = 1:0.1:2 %元素从1-2,步长0.1的1*10矩阵
v =
1.0000 1.1000 1.2000 1.3000 1.4000 1.5000 1.6000 1.7000 1.8000 1.9000 2.0000
>> ones(2,3) %元素全为1的矩阵,可用2*ones元素改为2
ans =
1 1 1
1 1 1
>> rand(1,3) %随机1*3矩阵(数值介于0-1)
ans =
0.68249 0.41221 0.73185
>> w = randn(1,3)%服从高斯分布的1*3随机矩阵
w =
-1.92938 -0.75181 2.01375
>> w = -6 + sqrt(10)*(randn(1,10000)); %10000个随机变量,并且服从正态分布
>> hist(w) %调出直方图显示数据
>> eye(4) %生成单位矩阵
ans =
Diagonal Matrix
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
>> size(A) %显示数组的维度
ans =
3 2
>> size(A,1)%显示矩阵第一维度的大小(行数)
ans = 3
>> length(A) %输出最大维度(维度中的最大值)通常对向量使用
ans = 4
>> who %显示当前的所有变量
>> whos %显示当前的所有变量详细信息
>>clear A %删除变量A 不加A清除所有变量
>> v=w(1:10) %将w的1-10个元素赋值给v
v =
-3.88244 -11.55960 -10.49405 -4.64954 -4.59082 -3.52117 -0.34200 -2.93496 -3.62613 -4.62514
>> A(3,2) %矩阵单个元素的访问
>> A([1 3], :) %显示1 3行数据(注意空格)
>> A(:,2) = [8 ;9 ;7] %对第二列进行赋值
>> A=[A,[10;11;13]] %在A最右边添加新列
3.矩阵运算:
>> A .* B %将对应位置的元素乘
>> A .^2 %将每个元素进行平方
>> 1 ./ v %用1除以向量中的每个元素 ’. ‘相当于是对每个元素进行处理
>> log (v)
>>exp (v)
>>abs (v)
>> v + ones (length(v),1) %向量每个元素加1
>>A' %转置
>> floor (a) %(向下取整) 抹去小数 1.6-->1
>> ceil(a) %向上取整 向上抹去小数 1.1-->2
>> max(rand(3),rand(3)) %选择数值较大的元素组成矩阵
>> max(A,[],1) % 列最大值(默认)
>> max(A,[],2) % 行最大值 数字1 2 表示去第几维度寻找
>> sum (A,1) %对每个维度求和
>> sum (sum(A.*eye(9))) %主对角线元素相加
>> sum(sum(A.*flipud(eye(9)))) %副对角线相加
>>prod(a) %aproduct矩阵的元素所有乘积>> temp = pinv(A) %求逆
eg:
>> A =[1 2 ;3 4 ;5 6]
A =
1 2
3 4
5 6
>> b=[1; 1; 1]
b =
1
1
1
>> sum(A(:,1) .* b)
ans = 9
%去除A的第一列与b对应位置元素相乘再求和
4.文件:
>> pwd %输出当前octave的路径
ans = C:\Users\Dell
>> cd 'C:\Users\Dell\Desktop\'% 打开文件夹
>> save hello.dat v; %将向量v的数据保存在hello中
>> save hello.txt v -ascii %数据保存为ascii
>> load featuresX.dat %加载文件数据
>> load ('featuresX.dat ')>> addpath('C:\Users\Dell\Desktop\learning\octave&machinelearning') %添加文件路径 research path