比如
operators: + - * / ^
运算的结果会保存到变量ans中
运算规则
从左至右按照运算符的优先级运算
运算符优先级
以10为底数的函数为
log10
函数可以嵌套使用
比如
sin(cos(pi))
它的计算结果和
cos(pi)
sin(ans)
相同
这里体现了两种书写函数的方法,对于很长、复杂的表达式,第二种可能更不易出错。
在matlab中,变量不需要被声明。
命令
A=10
就创建了一个名为A的变量,并且值为10
matlab中的variables的default类型是double
查看工作区中有哪些变量的指令
who
查看变量的更详细信息
whos
比如
ans
是被matlab使用的一个variables,因此自己使用的variables不能叫ans
i,j:complex number
不能使用i,j作为自己的变量
Inf表示无穷大
比如
esp:2.2204e-016
表示无穷小
NaN:not a number
pi: 圆周率
因此,假如把关键字cos设置成了变量,则在想要使用cos函数的时候就会出错。
cos = 'This string.'
cos(8)
得到的结果是字符r
(注意第一个字符的index是1而不是0)
clear 变量名
即可
如果直接
clear
则会删除所有variables
因此删除前要谨慎
在命令末尾加上分号会不显示该命令的运算结果。
上下键可以翻阅历史命令
clc:清空命令行窗口命令
clear:清除工作区的所有变量
who:查看工作区有哪些变量
whos:查看工作区变量的具体信息
把元素放在中括号中
元素之间用空格分开
a=[1 2 3 4]
元素之间用分号隔开
b=[1;2;3;4]
从行向量和列向量的输入方法可自然地得到输入一个矩阵方法:
行向量元素用空格隔开,输完一个行向量后分号接着输入第二行的行向量。
如何指定矩阵中的某个元素?
方法是矩阵 + 括号,括号中指定矩阵元素的下标即可
指定矩阵元素下标有以下两类方法
矩阵的第一行的行号为1,第一列的列号为1,以此类推。
指定一个元素
矩阵变量名(行号,列号)
比如
A(3,2)
指定多个元素(选出一个子矩阵)
矩阵名([行号 行号…],[列号 列号…])
比如
A([1 3],[1 3])
则矩阵每个元素的标号为从左上角元素开始一列列从标号1排下去
比如
则
A(8)
A([1 2 5])
A([1 3;1 3])
知道怎么Indexing矩阵元素后,就可以指定替换矩阵中的元素了
方法是
矩阵名(元素index) = 要改成的值
需要创建一个很长的向量时,可以用分号操作符
语法:
j:k
效果:创建一个行向量,从j开始,以1为等差直到k
j:i:k
效果:创建一个行向量,从j开始,以i为等差直到k
利用创建行向量的方法加上分号就可以创建矩阵
操作符主要有
下面7种
+
-
*
/
^
.
'
主要提醒一下矩阵点乘、点除是两个同型矩阵对应元素相乘、除
操作符
'
是将矩阵转置
比如
A'
除/的效果类似于左边的矩阵乘以右边矩阵的逆矩阵
即
A/B约等于A*inv(B)
但是不完全相等
矩阵+一个数
结果是把这个数加到这个矩阵的每个元素上
矩阵除一个数
结果是把矩阵每个元素都除以这个数
这时矩阵点乘、点除一个数和直接乘一个数、除一个数效果相同
矩阵.^数字a
的效果是把矩阵每个元素都变成原来的a次方
矩阵转置
总之可参照下表来对矩阵进行数学运算
eye(n)
生成一个n维单位矩阵
zeros(n1,n2)
生成n1行n2列的零矩阵
ones(n1,n2)
生成n1行n2列的元素全为1的矩阵
diag([从左上到右下的对角元素,元素之间用空格隔开])
生成对角矩阵diagonal matrix,对角元素为输入值,其余元素为0
rand(n1,n2)
max(A)
得到一个行向量,每个元素的值分别是矩阵A每一列的元素的最大值
max(max(A))
sum(A)
会把A的每一列求和,得到一个行向量
两个sum则把全部元素加起来得到一个数
mean(A)
把A的每一列求平均得到一个行向量
两个mean就是所有元素的平均
sort(A)
把A的每一列的元素从小到大排列(小的在上)
sortrows(A)
按A的第一列的元素的大小把A的各行从小到大排列
size(A)
得到矩阵的行数和列数
length(A)
得到向量A的长度
find(A==数字)