首页 > 编程知识 正文

象棋入门教程从零开始,初学吉他入门教程视频

时间:2023-05-03 18:03:06 阅读:285899 作者:4441

Octave 入门教程目录,请点击: https://blog.csdn.net/benzhujie1245com/article/details/83146777


  本内容将介绍 Octave 中的矩阵的创建、引用及相关运算。

一、矩阵 1.1 创建矩阵

  在 Octave 中创建矩阵有以下规则:

矩阵元素必须在 [] 内;矩阵的同行元素之间用空格或逗号(,)分隔;矩阵的行与行之间用分号(;)分隔;矩阵的元素可以是数值、变量、表达式或函数;矩阵的尺寸不必预先定义。

  下面的例子中创建了一个 4x5 的矩阵:

>>a = [1,2,3,4; 2,3,4,5; 3,4,5,6]a = 1 2 3 4 2 3 4 5 3 4 5 6>>

  通过复制一个矩阵的元素创建一个新的矩阵:

>> a = [1,2,3,4; 2,3,4,5; 3,4,5,6];>> b = a([2,3,2,3], :) % 复制矩阵 a 的第 2 和 3 行两次来创建新的矩阵 bb = 2 3 4 5 3 4 5 6 2 3 4 5 3 4 5 6>>

  除了上面的直接输入创建矩阵外,还可以使用***创建特殊数组的函数***创建矩阵,详见请参照这里。

1.2 引用矩阵的元素 方法描述a(m, n)引用矩阵 a 的第 m 行和第 n 列的元素(索引值从 1 开始)a(m, : )引用矩阵 a 的第 m 行的所有元素a(m1:m2, )引用矩阵 a 的第 m1 行到 m2 行的所有元素a(:, n)引用矩阵 a 的第 n 列中的所有元素a(:, n1:n2)引用矩阵 a 的第 n1 列到 n2 列的所有元素a(:, : )引用矩阵 a 的所有元素

  例如:

>>a = [1,2,3,4; 2,3,4,5; 3,4,5,6];>>a(3,4)ans = 6>>a(2,:)ans = 2 3 4 5>>a(2:3, :)ans = 2 3 4 5 3 4 5 6>>a(:, 2)ans = 2 3 4>>a(:, 2:4)ans = 2 3 4 3 4 5 4 5 6>>a(2:3, 2:4)ans = 3 4 5 4 5 6>>a(:, :)ans = 1 2 3 4 2 3 4 5 3 4 5 6>> 1.3 删除矩阵中的行或列

  通过向某行或某列分配一组空的方括号 [] 来删除矩阵的整行或列。
  例如:

>> a = [1,2,3,4; 2,3,4,5; 3,4,5,6]a = 1 2 3 4 2 3 4 5 3 4 5 6>> a(2, :) = [] % 删除第 2 行a = 1 2 3 4 3 4 5 6>> a(:, 3) = [] % 删除第 3 列a = 1 2 4 3 4 6>> 1.4 矩阵运算 1.4.1 矩阵的加减法

  当两个矩阵进行加减法时,这两个矩阵必须具有相同数量的行和列,并且具有相同的元素。矩阵加减法产生相同类型的矩阵,原始矩阵的每个元素逐一进行加减法。
  例如:

>> a = [1,2,3; 4,5,6; 7,8,9];>> b = [15, 13, 11; 9,7,5; 3,1,1];>> c = a + bc = 16 15 14 13 12 11 10 9 10>> d = b - ad = 14 11 8 5 2 -1 -4 -7 -8>> 1.4.2 矩阵的除法

  Octave 中两种矩阵除法符号,即左除()和右除(/)。两个矩阵必须具有相同数量的行和列。

1.4.3 矩阵的标量运算

  当矩阵相加、相减、相乘或相除一个数组时,被称为标量运算。
  标量运算产生一个具有相同数量的行与列的新矩阵,其原始矩阵的每个元素都相加、相减、乘以或除以数字。
  例如:

>> a = [1,2,3; 4,5,6; 7,8,9];>> b = 2;>> c = a + bc = 3 4 5 6 7 8 9 10 11>> d = a - bd = -1 0 1 2 3 4 5 6 7>> e = a * be = 2 4 6 8 10 12 14 16 18>> f = a / bf = 0.50000 1.00000 1.50000 2.00000 2.50000 3.00000 3.50000 4.00000 4.50000>> 1.4.4 矩阵的转置

  矩阵的转置切换矩阵的行和列。在 Octave 中使用单引号(')表示。
  例如:

>> a = [1,2,3; 4,5,6; 7,8,9]a = 1 2 3 4 5 6 7 8 9>> b = a'b = 1 4 7 2 5 8 3 6 9>> 1.4.5 矩阵连接

  可以连接两个矩阵来创建一个新矩阵。使用中括号([],连接运算符)来实现。
  Octave 允许以下两种类型的连接:

水平连接:使用逗号(,)分隔两个矩阵,它们进行水平附加。垂直连接:使用分号(;)分隔两个矩阵,它们进行垂直附加。

  例如:

>> a = [10,12,23; 14,8,6]a = 10 12 23 14 8 6>> b = [12,31,45; 8,0,9]b = 12 31 45 8 0 9>> c = [a, b]c = 10 12 23 12 31 45 14 8 6 8 0 9>> d = [a; b]d = 10 12 23 14 8 6 12 31 45 8 0 9>> 1.4.6 矩阵乘法

  假设有两个矩阵 A(m*n) 和 B(n*p),则它们相乘可以产生一个 m*p 的新矩阵 C。只有当 A 中的列数 n 等于 B 中的函数 n 时,才能进行矩阵乘法。
  所得的矩阵 C 中的(i,j)位置的元素值的求取步骤:

矩阵 A 的第 i 行元素与矩阵 B 的第 j 行元素逐一相乘得到一个新的向量 d。然后将得到的向量 d 的所有元素相加得到一个标量 f,标量 f 的值即矩阵 C 中的(i,j)位置的元素值。

  例如:

>> a = [1,2,3; 4,5,6; 7,8,9];>> b = [3,4; 5,6; 7,8];>> c = a * bc = 34 40 79 94 124 148>> 1.4.7 矩阵的行列式

  在 Octave 中使用 det 函数计算矩阵的行列式。矩阵 A 的行列式由 det() 计算。

1.4.8 逆矩阵

  矩阵 A A A 的逆矩阵记为 A − 1 A^{-1} A−1,使得下面的关系成立:
A A − 1 = A − 1 = 1 AA^{-1}=A^{-1}=1 AA−1=A−1=1
  并不是每个矩阵都有逆矩阵,如果一个矩阵的行列式为零,则不存在逆矩阵,这样的矩阵是奇异的
  在 Octave 中使用 inv 函数求逆矩阵。矩阵 A 的逆矩阵由 inv(A) 计算。

参考:
[1] https://www.w3cschool.cn/matlab/
[2] http://m.yiibai.com/matlab/

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。