目录索引
- ==创建矩阵:==
zeros():
ones:
eye():
magic():
引号创建序列矩阵:
linspace():
- ==加减与数乘:==
- ==其他运算:==
指数运算:
- *exp():*
- ==点式运算:==
创建矩阵:
如果我要创立一个两行两列分别为1 2 3 4 的矩阵该怎么做呢?
>> A = [1 2;3 4]
- 用中括号创建,每个元素之间用空格隔开,每行之间用分号隔开即可
zeros():
>> B = zeros(2,3)
第一个参数为行,第二个参数为列。创建一个两行三列元素全为0的矩阵。
ones:
>> C = ones(4,3)
第一个参数为行,第二个参数为列。创建一个四行三列元素全为1的矩阵。
eye():
创立一个单元矩阵,对角线元素为1其余为0
>> C = eye(3)
一个参数即可,返回一个n*n的单位矩阵
magic():
创建魔术矩阵:每行每列、主对角线反对角线元素相加均相同。并且元素从1依次增加至n^2
- 元素为1-16,和均为34
- 魔术矩阵并非唯一,可能会在形式上存在不同变换
引号创建序列矩阵:
A = 1:2:10
通过序列创建矩阵,初始元素为1,中间值为步长(默认为1),末元素为10
linspace():
linspace()函数用于创建一个包含等间隔数值的向量。第一个参数为起始值,第二个参数为终点值,第三个参数为你要平均分成几个。
A = linspace(1,10,5)
加减与数乘:
>> A = magic(3)
>> A + 3
>> A * 2
像这个加减乘除等数乘运算均是对矩阵里的每一个元素执行该运算。
对矩阵:
直接普通加减和乘除的符号即可,不需要进行特殊处理。如A+B、A*B结果符合线性代数的运算规则
其他运算:
指数运算:
a^b
表示a的b次方
exp():
指数运算:e为底数,参数为指数
>> a = exp(2)
包括sin(A)这种运算也是相同的道理,对矩阵中的每个元素进行运算
点式运算:
点式运算就是对矩阵每个元素对应位置所做的运算,而非矩阵运算
>> A = [1 2;3 4]
>> B = [4 6;5 9]
在这种情况下,普通乘法做的是线性代数中的矩阵运算。但要是我们就想矩阵中的每个元素相乘呢?比如第一个元素是1 * 4,第二个元素是2 * 6等等就要用到点乘进行非矩阵运算。
>> A .* B