MATLAB基础
矩阵
矩阵的创建
直接输入法:以$[\ ]$为标识符,同行用空格或者逗号分隔,行与行之间用分号或回车键分隔。
函数创建法:
- $zeros,ones,eye$分别用来创建全为0的矩阵,全为1的矩阵和单位矩阵
- $rand,randi,randn$分别用来创建均匀分布的随机数,均匀分布的随机整数和标准正态分布的随机数
导入本地文件中的数据:
矩阵元素的修改
利用等号复制直接修改:
1 | A = randi([1,20],3, 5); |
使用线性索引进行修改:
1 | A = randi([1,20],3, 5); |
矩阵的删除
将等号右侧变成空向量[ ],可以删除对应位置的元素。需要注意的是,通常只能删除矩阵的整行或者整列
通过线性索引来删除矩阵的元素。使用线性索引删除后,MATLAB 会将矩阵中剩下的元素按照线性索引的顺序放入到一个向量中。另外,使用线性索引可以删除任意位置的元素,不需要删除矩阵的一整行或者一整列。
矩阵的拼接
横向拼接:要求行数相同
1 | A = randi([1, 20], 3, 5) |
纵向拼接:列数相同
1 | A = randi([1, 20], 2, 3); |
矩阵的重构
- reshape函数,改变矩阵形状
- sort函数,排序
- sortrows函数,按照某一列对矩阵排序且同一行元素不变
矩阵的运算
逻辑基础
结构基础
条件结构:
if-elseif-else-end
switch-case-otherwise-end
循环结构:
for-end
while-end
二维绘图
分类
plot
函数和fplot
函数- 条形图
bar
- 饼图
pie
- 散点图
scatter
图形属性
图形标注
- title(图形标题)
- xlabel(x轴说明)
- ylabel(y轴说明)
- text(x,y,图形说明)
- legend(图例1,图例2,……)
三维绘图
三维曲线:plot3
和fplot3
函数
三维曲面:
利用meshgrid函数生成,
[X,Y]=meshgrid(x,y)
。参数x、y为向量,存储网格点坐标的X、Y为矩阵。mesh(x,y,z,c)
和surf(x,y,z,c)
其中x,y是网格坐标矩阵,z是网格点的高度矩阵,c用于指定在不同高度下的曲面颜色。c省略时,颜色
的设定正比于图形的高度。
1 | t = -3: 0.1:3; |
读取写入文件中的数据
readtable
和writetable
实例:
1 | T = readtable("patients.xls"); |
数据预处理
在实时脚本中选择实时编辑器窗口的“任务”
清晰缺失数据可以对缺失数据进行处理
清洗离群数据可以处理偏离较大的数据
神经网络
预测数据
- 首先在工作区导入预测数据和响应数据,分别命名为X,Y
- 用nftool打开神经网络,点击导入数据,如果是根据一行的X预测一个Y,那就点击行;否则点击列
- 点击训练,观察回归图,如果所有的R都在0.9以上,说明训练结果拟合程度好
- 点击导出模型-导出到工作区,命名为results,result是一个结构体,其中的Network对后续预测有用
- 导入PreX,根据PreX预测PreY,预测代码如下:
1 | PreY = zeros(10,1); %预测一个10行1列的数据 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 眨眼的小星星!