命令行窗口中常用命令
命令 | 用途 |
---|
clc | 清空命令行窗口 |
clear | 从工作区中删除某一个/所有项目 |
clear all | 清空工作区 |
close all | 关闭所有的图窗 |
who | 列出工作区中的变量 |
whos | 列出工作区中的变量及大小和类型 |
help | 列出某个函数的帮助 |
tic/toc | 启动秒表计时器/读取时间 |
% | 注释 |
... | 换行符 |
Ctrl+C | 中止当前的运行 |
数组的创建和运算
简介
- 变量类型有:数值类型、逻辑类型、字符串类型
- 特殊变量和常数:
ans
, eps
, inf
, pi
, NaN
- 默认类型
double
,显示格式为short
(小数点后4位)
创建
行向量
列向量
矩阵
1
| >> c = [1 2 3; 4 5 6; 7 8 9]
|
创建特殊矩阵
1
2
3
4
5
6
| >>zeros(3) %建立一个3X3的全0矩阵%
>>ones(3,1) %建立一个3X1的全1矩阵%
>>eye(3) %返回一个主对角线元素为1且其他位置元素力0的3X3单位矩阵%
>>magic(3) %返回一个3×3的幻方矩阵%
>>rand(4,2) %返回一个4X2的随机数矩阵,矩阵中每一个元素都是在区间(0,1)内均匀分布的随机数%
>>randn(1,90) %返回由正态分布的随机数组成的1X90矩阵%
|
数组的索引
例如现有一个数组
\[A = \begin{bmatrix} 1 & 21 & 6 \\ 5 & 17 & 9 \\ 31 & 2 & 7 \end{bmatrix}\]
对其进行以下操作:
A(8)
A(3,2)
A([1 3 5])
A([1 3], [1 3])
A([1 3; 1 3])
A(3, :)
常用的获取数组信息的函数
对上面数组进行以下操作:
max(A)
max(max(A))
min(A)
sum(A)
mean(A)
1
2
3
| ans =
12.3333 13.3333 7.3333
|
sort(A)
1
2
3
4
5
| ans =
1 2 6
5 17 7
31 21 9
|
sortrows(A)
1
2
3
4
5
| ans =
1 21 6
5 17 9
31 2 7
|
size(A)
第一个参数为行数,第二个参数为列数
length(A)
显示A中行/列的最大值
find(A)
1
2
3
4
5
6
7
8
9
10
11
| ans =
1
2
3
4
5
6
7
8
9
|
返回所有索引
ndims(A)
返回维度
numel(A)
返回数组大小,作用相当于>>prod(size(A))
数组的算术运算
现有两个矩阵,且有\(a=2\)
\[A = \begin{bmatrix} 1 & 21 & 6 \\ 5 & 17 & 9 \\ 31 & 2 & 7 \end{bmatrix}\] \[B = \begin{bmatrix} 3 & 3 & 3 \\ 2 & 4 & 9 \\ 1 & 2 & 1 \end{bmatrix}\]
执行以下操作:
A+a
1
2
3
4
5
| ans =
3 4 5
6 7 6
11 10 9
|
A/a
1
2
3
4
5
| ans =
0.5000 1.0000 1.5000
2.0000 2.5000 2.0000
4.5000 4.0000 3.5000
|
A./a
1
2
3
4
5
| ans =
0.5000 1.0000 1.5000
2.0000 2.5000 2.0000
4.5000 4.0000 3.5000
|
A^a
1
2
3
4
5
| ans =
36 36 32
60 65 60
104 114 108
|
自乘a次
A+B
1
2
3
4
5
| ans =
4 5 6
6 9 13
10 11 8
|
A*B
1
2
3
4
5
| ans =
10 20 24
26 44 61
50 80 106
|
A.*B
1
2
3
4
5
| ans =
3 6 9
8 20 36
9 24 7
|
A/B
1
2
3
4
5
| ans =
0.0714 0.2857 0.2143
1.1667 0 0.5000
3.2619 -0.2857 -0.2143
|
求解x*B=A
的解
A'
1
2
3
4
5
| ans =
1 4 9
2 5 8
3 4 7
|
数组的逻辑运算
符号 | 功能描述 |
---|
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
== | 等于 |
~= | 不等于 |
~ | 逻辑非 |
&& | 逻辑与 |
|| | 逻辑或 |
循环和向量化编程
条件判断
1
2
3
4
5
6
7
| if condition1
statement1
elseif condition2
statement2
else
statement3
end
|
while循环
1
2
3
| while expression
statement
end
|
for 循环
1
2
3
| for variable = start:increment:end
commands
end
|
画图函数
命令 | 用途 |
---|
>>plot(x,y,'str') | 创建Y中数据对×中对应值的二维线图,并设置线性、标记符号、颜色 |
>>stem(x,y,'str') | 绘制离散序列数据,针状图 |
>>hold on/off | 添加新绘图时保留当前绘图,将多个图形画在同一个图窗上 |
>>figure | 创建一个新的图窗窗口,将多个图形画在不同的图窗上 |
>>legend() | 在坐标区上添加图例 |
>>title() | 添加标题 |
>>xlabel()/ylabel() | 为x/y坐标轴添加标签 |
xlim()/ylim | 设置x/y坐标轴范围 |
>>box on/off | 显示/隐藏坐标区轮廓 |
>>grid on/off | 显示/隐藏坐标区网格线 |