MATLAB基础学习
刚接触MATLAB,写了个脚本。好久没写东西了,总结下知识点。
1、Matlab绘图的基本命令
-
figure():这是Matlab用于创建绘图的函数。
figure(4) subplot(2,2,1); % subplot(x,y,n)x表示显示图片的行数,y表示列数,n表示第几幅图片
-
plot():这是Matlab中使用最为广泛的绘图函数,能够绘制散点图、曲线图等。
-
imagesc():这是Matlab中用来绘制热力图的函数。
-
fill():这是Matlab中用于标记并绘制区域的函数。
2、对数组中某一行/列进行排序
- sort(array,1); 表示对矩阵array中每一列的值升序排列;
- sort(array,2); 表示对矩阵array中每一行的值升序排列;
- sortrows(array,1); 表示对矩阵按第一列升序排列;
- sortrows(array,2); 似乎是将第一行放在末尾行,其他行依次上升一行
3、提取某一 行/列 符合 等于/大于/小于 某个值的全部 列/行
提取Y1中第二列中大于0的所有行
Y1 = Y1(Y1(:,2) > 0,:);
提取Y1中第二行中大于0的所有列
Y1 = Y1(:,Y1(2,:) > 0);
4、矩阵合并
P=[A,B]
A,B俩矩阵左右合并(A,B行数一致)
P=[A;B]
A,B俩矩阵上下合并(A,B列数一致)
5、取整函数
- floor :向小取整
- round :四舍五入
- ceil :向大取整
- fix :向零取整
6、1 :1:10 和 10 :-1:1
分别是产生一个间隔为一,从一到十,从十到一的向量
7、对矩阵的某一列进行 乘除运算
Y1 = Y1(:,1)*10;%错误,这样结果是所有元素都乘10
Y1(:,1) = Y1(:,1)*10;
% .*和*在这里似乎没有区别,至少结果一样
8、基本矩阵
- ones()函数:产生全为1的矩阵,ones(n):产生nn维的全1矩阵,ones(m,n):产生mn维的全1矩阵;
- zeros()函数:产生全为0的矩阵;
- rand()函数:产生在(0,1)区间均匀分布的随机阵;
- eye()函数:产生单位阵;
- randn()函数:产生均值为0,方差为1的标准正态分布随机矩阵。
9、矩阵行列转换
将所有行全部转换为一列
第三列与第一列交换
下面是将上面的a的第1行与第3行互换
10、heatmap
xvalue = 1:countX;
yvalue = ceil(max(Y)-floor(min(Y))) :-0.5:1;
h = heatmap(xvalue,yvalue,countArray);
h.Title = 'VelForward - RightDistance';
h.XLabel = 'VelForward 单位:Km/h';
h.YLabel = 'RightDistance 单位:m';
参考链接
https://blog.csdn.net/lsg32/article/details/8560740
https://blog.csdn.net/zengxiantao1994/article/details/70177996
https://blog.csdn.net/sdgihshdv/article/details/77417452
https://blog.csdn.net/island_chenyanyu/article/details/100919614
https://blog.csdn.net/qq_45152779/article/details/106729969