Octave教程(三)
来源:互联网 发布:cst仿真软件价格 编辑:程序博客网 时间:2024/06/08 12:30
矩阵运算
octave:33> A = [1 2; 3 4; 5 6]A = 1 2 3 4 5 6octave:34> B = [11 12; 13 14; 15 16]B = 11 12 13 14 15 16octave:35> C = [1 1; 2 2]C = 1 1 2 2octave:36> A * Cans = 5 5 11 11 17 17octave:37> A .* B % A中每一个元素与B中对应的元素相乘ans = 11 24 39 56 75 96octave:38> A .^ 2 % 对A中每一个元素进行平方运算ans = 1 4 9 16 25 36octave:39> V =[1; 2; 3]V = 1 2 3octave:40> 1 ./ V % 对V中的每个元素求其倒数ans = 1.00000 0.50000 0.33333octave:41> log(V) % 对V进行对数运算ans = 0.00000 0.69315 1.09861octave:42> exp(V) % 对V进行e的幂次方运算ans = 2.7183 7.3891 20.0855octave:44> -Vans = -1 -2 -3octave:45> abs(-V) % 对-V进行求绝对值运算ans = 1 2 3octave:46> V + ones(length(V), 1)ans = 2 3 4octave:53> aa = 1.00000 15.00000 2.00000 0.50000octave:54> a < 3ans = 1 0 1 1 % a中的元素< 3为真,返回1;反之,返回0
其中,“.”表示元素位运算。
如何求转置矩阵
octave:47> AA = 1 2 3 4 5 6octave:48> A'ans = 1 3 5 2 4 6
一些有用的函数
octave:49> a = [1 15 2 0.5] % a为向量a = 1.00000 15.00000 2.00000 0.50000octave:50> [val, ind] = max (a)val = 15 % a中的最大值ind = 2 % a中的最大值所在的位置索引octave:52> max(A) % A每一列的最大值ans = 5 6octave:55> find(a<3)ans = 1 3 4 % 返回a中< 3的元素的位置索引octave:57> A = magic(3)A = 8 1 6 3 5 7 4 9 2octave:58> [r, c] = find(A >= 7)r = % 返回A中>= 7的元素所在的行数 1 3 2c = % 返回A中>= 7的元素所在的列数 1 2 3octave:59> sum(a) % 将a中所有的元素加起来求和ans = 18.500octave:60> prod(a) % 将a中所有元素相乘ans = 15octave:61> floor(a) % 将a中所有元素向下取整ans = 1 15 2 0octave:63> ceil(a) % 将a中所有元素向上取整ans = 1 15 2 1octave:64> AA = 8 1 6 3 5 7 4 9 2octave:65> max(A, [], 1) % A中每一列的最大值ans = 8 9 7octave:66> max(A, [], 2) % A中每一行的最大值ans = 8 7 9octave:67> max(A)ans = 8 9 7octave:68> max(max(A)) % A中最大值,也可以采用max(A(:))ans = 9octave:69> A = [1 2 3; 4 5 6]A = 1 2 3 4 5 6octave:70> sum(A, 1) % 对A中每一列求和ans = 5 7 9octave:71> sum(A, 2) % 对A中的每一行求和ans = 6 15octave:72> A = magic(3)A = 8 1 6 3 5 7 4 9 2octave:73> sum(A, 1)ans = 15 15 15octave:74> sum(A, 2)ans = 15 15 15octave:76> A .* eye(3)ans = 8 0 0 0 5 0 0 0 2octave:77> sum(sum(A .* eye(3)))ans = 15octave:78> flipud(eye(3))ans =Permutation Matrix 0 0 1 0 1 0 1 0 0octave:79> sum(sum(A .* flipud(eye(3))))ans = 15octave:81> AA = 8 1 6 3 5 7 4 9 2octave:82> pinv(A) % 求出A的伪逆矩阵ans = 0.147222 -0.144444 0.063889 -0.061111 0.022222 0.105556 -0.019444 0.188889 -0.102778
其中,flipud()实现矩阵的上下翻转。
阅读全文
0 0
- Octave教程(三)
- Octave教程(一)
- Octave教程(二)
- Octave教程(四)
- Octave教程(五)
- Octave教程(六)
- Octave教程三:Computing On Data
- Octave教程 Octave Tutorial
- Octave安装教程
- Octave安装教程
- 使用Octave音频处理(三):数学技术处理音频文件
- 使用Octave音频处理(三):数学技术处理音频文件
- Octave教程一:基本操作
- Octave教程四:Plotting Data
- Octave
- Octave
- 斯坦福机器学习笔记 第2周 五、Octave教程(一)
- 斯坦福机器学习笔记 第2周 五、Octave教程(二)
- 多变量线性回归(一)
- 多变量线性回归(二)
- Octave教程(一)
- 56G 线缆在数据中心的应用
- Octave教程(二)
- Octave教程(三)
- Octave教程(四)
- 使用.net core ABP和Angular模板构建博客管理系统(实现自己的业务逻辑)
- Octave教程(五)
- Octave教程(六)
- 编程作业(一)
- 逻辑回归(一)
- 【中国大学MOOC-陈越、何钦铭-数据结构-2017秋】最大子列和问题
- 逻辑回归(二)