Matlab 教程.7

2021-05-18 11:31:28 浏览数 (1)

MATLAB 是“matrix laboratory”的缩写形式。MATLAB® 主要用于处理整个的矩阵和数组,而其他编程语言大多逐个处理数值。

所有 MATLAB 变量都是多维数组,与数据类型无关。矩阵是指通常用来进行线性代数运算的二维数组。

代码语言:javascript复制
a = [1 2 3; 4 5 6; 7 8 10]

多行之间用分号分割,

代码语言:javascript复制
z = zeros(5,1)

可以生成矩阵

代码语言:javascript复制
sin(a)

ans =

    0.8415    0.9093    0.1411
   -0.7568   -0.9589   -0.2794
    0.6570    0.9894   -0.5440

也可以直接的去做运算

代码语言:javascript复制
 a'

ans =

     1     4     7
     2     5     8
     3     6    10

如果转置,直接用单引号

代码语言:javascript复制
 p = a*inv(a)

p =

    1.0000   -0.0000   -0.0000
    0.0000    1.0000   -0.0000
    0.0000   -0.0000    1.0000

* 这个符号是执行的标准的矩阵乘法将计算行列之间的内积,上面的例子是:

确认矩阵乘以其逆矩阵可返回单位矩阵

代码语言:javascript复制
format long
p = a*inv(a)
p =
   1.000000000000000  -0.000000000000000  -0.000000000000000
   0.000000000000001   0.999999999999999  -0.000000000000000
   0.000000000000002  -0.000000000000003   1.000000000000000
代码语言:javascript复制
format short
p = a*inv(a)
p =
    1.0000   -0.0000   -0.0000
    0.0000    1.0000   -0.0000
    0.0000   -0.0000    1.0000

其实,这些矩阵都不是什么正经的整数矩阵,所以我们使用浮点值的矩阵,而且可以在计算之前,就进行一些设置。MATLAB 将数字存储为浮点值,算术运算可以区分实际值与其浮点表示之间的细微差别。使用 format 命令可以显示更多小数位数。

代码语言:javascript复制
 p = a.*a

p =

     1     4     9
    16    25    36
    49    64   100

元素级乘法(而非矩阵乘法),请使用 .* 运算符

代码语言:javascript复制
.*

记住这个元素级别的运算符号

代码语言:javascript复制
a.^3

ans =

           1           8          27
          64         125         216
         343         512        1000

这个例子就体现出这个单个的处理的意思

代码语言:javascript复制
 A = [a,a]

A =

     1     2     3     1     2     3
     4     5     6     4     5     6
     7     8    10     7     8    10

串联是连接数组以便形成更大数组的过程。实际上,第一个数组是通过将其各个元素串联起来而构成的。成对的方括号 [] 即为串联运算符。

代码语言:javascript复制
 []

好家伙儿,长这么方方正正的。

代码语言:javascript复制
 A = [a; a]

A =

     1     2     3
     4     5     6
     7     8    10
     1     2     3
     4     5     6
     7     8    10

so,横拼过以后当然可以竖着⛏!

代码语言:javascript复制
A = [a,a]
A = [a; a]
代码语言:javascript复制
A =

    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1

>> A(4,2)

ans =

    14

>> A(8)

ans =

    14

这个索引的方式不常用,但是还是说一下,就是按照这样的?盘的。

代码语言:javascript复制
a = [1 2 3; 4 5 6; 7 8 10]

a =

     1     2     3
     4     5     6
     7     8    10

>> a(5)

ans =

     5

>> a(7)

ans =

     3

就这样就可以了。。。

使用单一下标引用数组中特定元素的方法称为线性索引

代码语言:javascript复制
A(4,5) = 17

更改元素记得这样改

0 人点赞