生物医学工程 | EEG分析 - Maltab基础
Matlab基础
size(x)
:x矩阵的维度
length(x)
:x的所有维度中最大的长度
zeros(1,2)
:构建1行2列的零矩阵
ones(2,3)
:构建2行3列的1矩阵
eye(2)
:构建2x2的单位矩阵,对角线为1其余为0的矩阵
round(x)
:四舍五入取整
ceil(x)
:向上取整
floor(x)
:向下取整
repmat([1,2],2, 3)
:将[1,2]作为一个整体,扩充为2行3列,也就是[1,2,1,2,1,2; 1,2,1,2,1,2]的样子
diff(x)
:前向差值,即x的后一项减前一项
逻辑运算符号:>
, <
, ==
, ~=
, &&
, ||
function
1 | % 定义函数 |
for循环
1 | for i = 1:size(EEG,1) |
分配空间|allocating space
1 | filteredEEG = zeros(size(EEG)); # 提前分配空间,以减少内存 |
数据类型 cell
1 | image{1} = 'bear'; |
数据类型 structure
1 | subject(1).label = 'S1'; |
多维矩阵
1 | EEG(:,:,1); %输出的是第一页 |
📌 如何提高运算matlab的运算速率?
1)矩阵初始化
2)尽量用矩阵运算,避免用loop
3)存储为行的形式而不是列的形式,即[1,2,3,…]而不是[1;2;3;…]
4)用matlab profiler来找花费时间最久的地方
声明:此blog内容为上课笔记,仅为分享使用。部分图片和内容取材于课本、老师课件、网络。如果有侵权,请联系aursus.blog@gmail.com删除。