目录
1、字符认知
命令 | 说明 | 命令 | 说明 |
---|---|---|---|
cd | 显示或改变当前工作文件夹 | load | 加载指定文件的变量 |
dir | 显示当前文件夹或指定目录下的文件 | diary | 日志文件命令 |
clc | 清除工作窗口中所有显示的内容 | ! | 调用DOS命令 |
home | 将光标移至命令行窗口的左上角 | exit | 退出matlab |
clf | 清楚图形窗口 | quit | 退出matlab |
type | 显示文件内容 | pack | 收敛内存碎片 |
clear | 清理内存信息 | hold | 图形保持开关 |
echo | 工作窗信息显示开关 | path | 显示搜索目录 |
disp | 显示变量或文字内容 | save | 保存内存变量到指定位置 |
变量名 | 默认值 |
---|---|
i & j | 虚数单位 |
pi | 圆周率(Π) |
ans | 存放最近一次无赋值变量语句的预算结果 |
Inf | 无穷大 |
eps | 机器浮点运算误差限(如果某变量的绝对值小于eps,则视为0) |
NaN | 不定式(0/0,或inf/inf,或超出存储大小的值) |
lasterr | 存放最后一次的错误消息 |
lastwarn | 存放最后一次警告消息 |
1、变量名区分大小写,因此A和a表示的是不同的变量;
2、变量名以英文字母开头,每一个字母后可使用字母、数字、下划线,但不可以使用空格和标点符号;
3、变量民不得超过31位,超过的部分将会被忽略;
4、某些常量也可以作为变量使用;
格式 | 含义 | * | 格式 | 含义 |
---|---|---|---|---|
format(short) | 短格式(5位定点数) | * | format lone e | 长格式e方式 |
format long | 长格式(15点定位数) | * | format bank | 2位十进制格式 |
format short e | 短格式e方程 | * | format hex | 十六进制格式 |
format string | 结果 |
---|---|
%d | 把值作为整数值来处理 |
%e | 用科学计数法来显示数据 |
%f | 用于格式化浮点数并显示这个数值 |
%g | 用科学计数格式,或浮点数这个格式,根据哪个短,并显示 |
\n | 转到新的一行 |
2、创建函数
3、数组运算
在matlab中,常见的运算关系有算术运算、关系运算、逻辑运算:
算术运算:
数组的运算是从单个的元素出发,针对每个元素进行运算。在MATLAB中,一维数组的算术运算包括加、减、乘、左除、右除和乘方。
通过dot函数可以实现点积运算,其等价于.*
,但是运算规则要求数组A和数组B的维数相同。函数的调用格式为:
C=dot(A,B)或C=dot(A,B,dim),其中参数dim用于指定内积计算的维数。
4、矩阵的生成
函数 | 说明 |
---|---|
one(n) | 创建一个n x n的1矩阵 |
zeros(n) | 创建一个n x n的0矩阵 |
eye(n) | 创建一个n x n的单位矩阵 |
magic(n) | 创建一个n x n的魔方矩阵,使其每一行、每一列元素之和相等 |
rand(n) | 创建一个n x n的随机矩阵,其元素都在0-1之间随机分布 |
randn(n) | 创建一个 n x n的矩阵,使元素为0-1零均值、单位方差的正态分布随机数 |
hilb(n) | 创建一个n x n的hilbert矩阵 |
vander([1;2;3;x;y;z;]) | 矩阵最后一列全为1,倒数第二列是指定向量,其他各列是其后列与倒数第二列的点乘积 |
*希尔伯特矩阵会因原始数据的微小扰动而产生不可靠的计算结果。故在matlab中有一个专门用于求希尔伯特矩阵逆函数invhlib(n),其功能是求n阶希尔伯特函数的逆函数
矩阵的部分删除:
在MATLAB中,可以将矩阵的某行或某列赋值为空值而直接删除此行或此列。要是删除行或列的部分元素则矩阵将会出错。(孔赋值只能有一个非冒号引索)
5、矩阵函数:
1 | v=diag(A,k) |
获取矩阵的对角线元素,默认k为0,当k=1时,为主对角线右上的对角线。
1 | L=tril(X,k) |
只返回矩阵的下三角部分,其余部分用0补齐;当不为0时,则返回其对应的三角区域。
1 | L=triu(X,k) |
只返回矩阵的上三角部分,其余部分用0补齐;当不为0时,则返回其对应的三角区域。
1 | L=rot90(A,k) |
将矩阵A逆时针旋转90k°
1 | L=fliplr(A) |
将矩阵A实现左右翻转
1
L=flipud(A)
将矩阵A实现上下翻转
1 | L=flipdim(A,dim) |
· 当 dim=1 时,数组上下翻转,相当于函数flipud(A)
· 当 dim=2 时,数组左右翻转,相当于函数fliplr(A)
1 | B=inv(A) |
求方阵A的逆矩阵,赋值给B
1 | L=det(A) |
求方阵A所对应行列式的函数值
1 | L=rank(A) |
求矩阵的秩
1 | L=trace(A) |
求矩阵的迹
1 | norm(V) 计算向量V的2范数 |
求矩阵的范数
1 | cond(A,1) 计算A的1范数下的条件数 |
计算范数的条件数
1 | E=eig(A) 求矩阵A的全部特征值,构成向量E |
1 | sqrtm(A) 计算矩阵A的平方根 |
矩阵的超越函数
1 | expm(A) 以矩阵A为对数的指数,e^A |
矩阵指数
1 | B=spares(A) 将矩阵A转换为稀疏存储的矩阵B |
- matlab中存在两种存储方式,完全存储方式和稀疏存储方式。
随机数
1、在[0,1]之间的随机数
rand(m,n)—产生m*n阶[0,1]之间的随机矩阵;
2.按概率产生随机数
h=randsrc(m) %mxm阶矩阵
h=randsrc(m,n) %mxn阶矩阵
h=randsrc(m,n[alphabet,prob]) %将’alphabet’中的值以’prob’的概率出现1
2
3
4
5
6
7
8
9alphabet=[52 53 54 55 56];
prob=[0.05 0.25 0.4 0.25 0.05];
l=randsrc(100000,1,[alphabet;prob]);
a=sum(l(:)==52);
b=sum(l(:)==53);
c=sum(l(:)==54);
d=sum(l(:)==55);
e=sum(l(:)==56);
A=[a,b,c,d,e]
3、均匀分布随机数
nuifrnd(a,b,m,n)—产生m*n阶在[a,b]之间的随机数;
4、二项式矩阵
binornd(n,p[M,N,N,…])—生成的随机数服从参数为(N,p)的二项分布,这些随机数排列成MNP… 阶矩阵。如果只写M,则生成M*M矩阵;
数组的运算
1、数组间交集
1 | C = intersect(A,B) |
2、数组间并集
1 | C = union(A,B) |
3、数组间补集
1 | C = setdiff(A,B) |
- 子集写后边
八、数据读取
8.1 从Excel中读取数据
1 | a = xlsread('D:\CO2.xlsx',Sheet1,'A1:B5') |
- 其中,‘D:\CO2.xlsx’表示读入的EXCEL数据所在的路径以及EXCEL的文件名称;2表示位于sheet2;’A1:B5’表示需要读入的数据范围
8.2 时间格式在matlab可识别与可视时间切换
1 | a=StockSampleA1{:,2};%注意:由于这是表数据,不能用小括号 |
b=datenum(y,m,d)
—函数可以将可视时间格式转换为Matlab可识别格式;D=datetime(b)
—该函数可以将Matlab可识别时间格式转化为可视时间格式;