Matlab基本操作与矩阵输入

文章目录

Matlab视窗

我这里用的是汉化版的Matlab。
Matlab基本操作与矩阵输入

Matlab作为计算器使用

比如
operators: + - * / ^
运算的结果会保存到变量ans中

运算规则
从左至右按照运算符的优先级运算

运算符优先级

  1. Parenthesis ()
  2. Power (^)
  3. Multiplication and division (*,/)
  4. Addition and subtraction (+,-)

对数和指数运算

自然对数
Matlab基本操作与矩阵输入
以2为底数(base)的函数为
log2

以10为底数的函数为
log10

嵌套函数

函数可以嵌套使用
比如

sin(cos(pi))

它的计算结果和

cos(pi)
sin(ans)

相同
Matlab基本操作与矩阵输入
这里体现了两种书写函数的方法,对于很长、复杂的表达式,第二种可能更不易出错。

变量Variables

在matlab中,变量不需要被声明。
命令

A=10

就创建了一个名为A的变量,并且值为10

matlab中的variables的default类型是double

查看工作区中有哪些变量的指令

who

查看变量的更详细信息

whos

Matlab基本操作与矩阵输入

Matlab中的一些预置的变量和常量:

比如
ans
是被matlab使用的一个variables,因此自己使用的variables不能叫ans

i,j:complex number
不能使用i,j作为自己的变量

Inf表示无穷大
比如
Matlab基本操作与矩阵输入
esp:2.2204e-016
表示无穷小

NaN:not a number

pi: 圆周率

使用命令
iskeyword
可以显示关键字
Matlab基本操作与矩阵输入

Matlab的调用优先级

Matlab基本操作与矩阵输入
因此,假如把关键字cos设置成了变量,则在想要使用cos函数的时候就会出错。

cos = 'This string.'
cos(8)

得到的结果是字符r
(注意第一个字符的index是1而不是0)

删除variables的方法

clear 变量名
即可

如果直接
clear
则会删除所有variables
因此删除前要谨慎

数据显示格式

Matlab基本操作与矩阵输入
rat表示rational有理数
例如
表示圆周率的值
Matlab基本操作与矩阵输入

分号

在命令末尾加上分号会不显示该命令的运算结果。

其他

上下键可以翻阅历史命令

clc:清空命令行窗口命令

clear:清除工作区的所有变量

who:查看工作区有哪些变量

whos:查看工作区变量的具体信息

矩阵输入

把元素放在中括号中

输入行向量

元素之间用空格分开

a=[1 2 3 4]

输入列向量

元素之间用分号隔开

b=[1;2;3;4]

从行向量和列向量的输入方法可自然地得到输入一个矩阵方法:
行向量元素用空格隔开,输完一个行向量后分号接着输入第二行的行向量。

比如
Matlab基本操作与矩阵输入

Array Indexing

如何指定矩阵中的某个元素?
方法是矩阵 + 括号,括号中指定矩阵元素的下标即可

指定矩阵元素下标有以下两类方法

带逗号

矩阵的第一行的行号为1,第一列的列号为1,以此类推。

指定一个元素
矩阵变量名(行号,列号)
比如

A(3,2)

Matlab基本操作与矩阵输入
指定多个元素(选出一个子矩阵)
矩阵名([行号 行号…],[列号 列号…])
比如

A([1 3],[1 3])

Matlab基本操作与矩阵输入

不带逗号

则矩阵每个元素的标号为从左上角元素开始一列列从标号1排下去
比如
Matlab基本操作与矩阵输入

A(8)
A([1 2 5])
A([1 3;1 3])

的效果如下
Matlab基本操作与矩阵输入

替换矩阵元素

知道怎么Indexing矩阵元素后,就可以指定替换矩阵中的元素了
方法是
矩阵名(元素index) = 要改成的值

冒号操作符

需要创建一个很长的向量时,可以用分号操作符
语法:
j:k
效果:创建一个行向量,从j开始,以1为等差直到k

j:i:k
效果:创建一个行向量,从j开始,以i为等差直到k

利用创建行向量的方法加上分号就可以创建矩阵

Matlab基本操作与矩阵输入

合并数组

Matlab基本操作与矩阵输入

矩阵操作符

操作符主要有
下面7种

+
-
*
/
^
.
'

主要提醒一下矩阵点乘、点除是两个同型矩阵对应元素相乘、除

操作符

'

是将矩阵转置
比如

A'

除/的效果类似于左边的矩阵乘以右边矩阵的逆矩阵

A/B约等于A*inv(B)
但是不完全相等

矩阵+一个数
结果是把这个数加到这个矩阵的每个元素上

矩阵除一个数
结果是把矩阵每个元素都除以这个数
这时矩阵点乘、点除一个数和直接乘一个数、除一个数效果相同
Matlab基本操作与矩阵输入

Matlab基本操作与矩阵输入
操作

矩阵.^数字a

的效果是把矩阵每个元素都变成原来的a次方
Matlab基本操作与矩阵输入
矩阵转置
Matlab基本操作与矩阵输入
总之可参照下表来对矩阵进行数学运算
Matlab基本操作与矩阵输入

生成一些特殊矩阵的函数

Matlab基本操作与矩阵输入

eye(n)

生成一个n维单位矩阵

zeros(n1,n2)

生成n1行n2列的零矩阵

ones(n1,n2)

生成n1行n2列的元素全为1的矩阵

diag([从左上到右下的对角元素,元素之间用空格隔开])

生成对角矩阵diagonal matrix,对角元素为输入值,其余元素为0

rand(n1,n2)

生成n1行n2列的元素均为0到1的随机值的矩阵
Matlab基本操作与矩阵输入

一些与矩阵相关的函数

假如A是
Matlab基本操作与矩阵输入

max(A)

得到一个行向量,每个元素的值分别是矩阵A每一列的元素的最大值

max(max(A))

两次max则得到矩阵中最大的元素
Matlab基本操作与矩阵输入
min类似

sum(A)

会把A的每一列求和,得到一个行向量
两个sum则把全部元素加起来得到一个数

mean(A)

把A的每一列求平均得到一个行向量
两个mean就是所有元素的平均

sort(A)

把A的每一列的元素从小到大排列(小的在上)

sortrows(A)

按A的第一列的元素的大小把A的各行从小到大排列

size(A)

得到矩阵的行数和列数

length(A)

得到向量A的长度

find(A==数字)

找到A中该数字的下标
下标是这种方式排列的
Matlab基本操作与矩阵输入

上一篇:Matlab将变量导出为excel


下一篇:采用matlab编程得到33节点系统改进多目标储能选址定容方案