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的最大值