Octave(1)
size(A)返回矩阵A的大小:
>> A=[1 2;3 4;5 6]; >> size(A) %返回矩阵A 的大小 ans = 3 2 >> size(A,1) %返回A的第一维度大小(行数) ans = 3 >> size(A,2) %返回A 的第二维度大小(列数) ans = 2 >> v=[1 2 3 4] v = 1 2 3 4 >> length(v) %返回长度 ans = 4 >> length(A) %返回最大长度 ans = 3 >> length([1;2;3;4;5]) ans = 5
文件管理:
>>pwd %显示当前工作路径 >>cd 'C:\Users\Administrator\Desktop' >>load file_name %加载文件 >>load('file_name') %同上 >>who %显示当前Octave中所有的变量 Variables in the current scope: A ans v >>whos %显示更加详细的变量信息 Variables in the current scope: Attr Name Size Bytes Class ==== ==== ==== ===== ===== A 3x2 48 double ans 1x30 30 char v 1x4 32 double Total is 40 elements using 110 bytes >>clear v %删除变量v >>whos Variables in the current scope: Attr Name Size Bytes Class ==== ==== ==== ===== ===== A 3x2 48 double ans 1x30 30 char Total is 36 elements using 78 bytes >> save hello.dat A; %保存数据,在当前目录建立文件保存数据A >> save hello.txt A -ascii %save as text(ASCII) >>clear %直接clear命令将会删除当前所有变量
数据操作:
>> A A = 1 2 3 4 5 6 >> A(3,2) %矩阵值索引 ans = 6 >> A(2,:) %获取第二行的所有数据,':'表示所有数据 ans = 3 4 >> A(:,2) %获取第二列的所有数据 ans = 2 4 6 >> A([1 3], :) %返回1,3行的所有数据 ans = 1 2 5 6 >> A(:,2) = [10; 11; 12] %对矩阵A中的数据赋值 A = 1 10 3 11 5 12 >> A = [A, [100; 101; 102]]; %矩阵A增加一列 >> A A = 1 10 100 3 11 101 5 12 102 >> A(:) %将A的所有变量变成一个单独的列变量 ans = 1 3 5 10 11 12 100 101 102
实例:
>> A=[1 2;3 4;5 6] A = 1 2 3 4 5 6 >> B = [11 12;13 14;15 16] B = 11 12 13 14 15 16 >> C = [A B] %将A和B和在一起 C = 1 2 11 12 3 4 13 14 5 6 15 16 >> C = [A;B] %在A 的后面添加B C = 1 2 3 4 5 6 11 12 13 14 15 16
数据计算:
>> a=[1 2;3 4;5 6]
a =
1 2
3 4
5 6
>> b=[11 12;13 14;15 16]
b =
11 12
13 14
15 16
>> c=[1 1;2 2]
c =
1 1
2 2
>> a*c %矩阵A*C
ans =
5 5
11 11
17 17
>> a.*b %矩阵A的每个元素与B中的对应元素相乘
ans =
11 24
39 56
75 96
>> a.^2 %A矩阵的每个元素都乘以一个平方
ans =
1 4
9 16
25 36
>> v=[1;2;3]
v =
1
2
3
>> 1 ./ v %v矩阵中每个元素的倒数
ans =
1.00000
0.50000
0.33333
>> log(v)
ans =
0.00000
0.69315
1.09861
>> exp(v) %以e为低对v的元素进行对数运算
ans =
2.7183
7.3891
20.0855
>> abs(v) %所有元素的绝对值
>> -v %v中元素 *(-1)
>> v+1 %v中的元素都+1
>> v+ones(length(v),1) %同上
>> a' %矩阵A的装置
>> a<3 %拿A中的所有数据与3比较,返回Bool值
ans =
1 1
0 0
0 0
>> find(a<3) %寻找A中小于3的数据,返回位置索引
>> A = magic(3) %返回一个行列相加都等于一个常数的矩阵
>> a=magic(3)
a =
8 1 6
3 5 7
4 9 2
>> [r,c] = find(a>=7) %查找a中>=7的元素,返回行(r)、列(c)坐标
r =
1
3
2
c =
1
2
3
a =
1.00000 15.00000 2.00000 0.50000
>> sum(a) %对a中的元素进行求和
ans = 18.500
>> prod(a) %将a中的元素相乘
ans = 15
>> floor(a) %对a中的元素进行向下取整
ans =
1 15 2 0
>> ceil(a) %向上取整
>> rand(3) %随机产生一个3*3的矩阵
>> max(rand(3), rand(3)) %产生一个3*3的矩阵,元素由两个3*3矩阵中较大的元素组成
>> a=magic(3)
a =
8 1 6
3 5 7
4 9 2
>> max(a,[],1) %得到矩阵a中每列最大的值,从第一维度去取值
ans =
8 9 7
>> max(a,[],2) %每行的最大值,从第二维度取值
ans =
8
7
9
>> max(max(a)) %求矩阵a的最大值