栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Matlab知识点总结

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Matlab知识点总结

文章目录
  • 前言
  • 一、文件读入
    • 1.xlsx文件
  • 二、文件保存
    • 1.保存变量为mat格式
      • 注意
  • 三、变量
    • 1.储存字符变量
    • 2.结构体
  • 四、数据类型转换
    • 1.元组转数字
  • 总结


前言

最近的代码大多都是用matlab来编程的,但是我关于matlab的学习一直都是需要什么去百度或者帮助里面搜索,语法掌握不如python,避免不了一直进行重复搜索,因此通过这个博客将自己遇到的知识点进行汇总,为以后编程时提供便利。

一、文件读入 1.xlsx文件
[num,txt,raw]=xlsread('G:datasetCHB-MIT波士顿儿童医院癫痫EEG脑电数据data_summary_copy.xlsx',1);
  1. 其中:num返回的是excel中的数据,txt输出的是文本内容,raw输出的是未处理数据。为了直接处理所有的数据,我一般习惯用raw来进行后续操作
  2. txt和raw为元组(cell),可以通过raw{i,j}获取第i行和第j列的值
  3. 代码最后的1代表读取第一个活动表中的内容
[num,txt,raw]=xlsread('G:datasetCHB-MIT波士顿儿童医院癫痫EEG脑电数据data_summary_copy.xlsx',1,'A2:C5');
%代表读取第1个活动表中A2-C5之间的内容
二、文件保存 1.保存变量为mat格式
save '01.mat'  phase_syn

将变量phase_syn保存为在当前路径下的文件名为’01.mat’,也可以通过直接写绝对或相对路径保存在自己想要的路径下

注意

如果多次循环处理时,想每次保存时用变量来代表文件名,保存方式如下:save(filename,'a');filename为变量名(存放文件名),a为需要保存的变量。
因为没有注意正确的格式,导致跑了一个下午的代码只保存了最后一轮。

    savename = ['sub01_' freq_name{i} '.mat'];
    save savename phase_syn;
    save savename 'phase_syn';
    % 这两种保存方式会把变量直接保存成 savename.mat,需要注意!!!!
    
    save ['sub01_' freq_name{i} '.mat'] phase_syn;
    %这样会保存成['sub01_' freq_name{i} '.mat'].mat
   
    save(['sub01_' freq_name{i} '.mat'],phase_syn);
    % 会报错,报错信息:必须为字符串标量或字符向量。
    
    save(['sub01_' freq_name{i} '.mat'],'phase_syn');
    % 这样也可以成功保存,要把需要保存的变量名加上引号
三、变量 1.储存字符变量

可以通过两种方式:

  1. s = char('alpha','beta','gamma');得到二维字符数组
  2. freq_name = {'delta','theta','alpha','beta','gamma'};可以通过元组的方式,通过freq_name{i}可以读取第i个
  3. 尝试了用[‘delta’,‘theta’,‘alpha’,‘beta’,‘gamma’],发现会直接拼接到一起,这是字符串拼接的一个方法
2.结构体

利用结构体数组可以在一个数组中存放不同类型的数据,自我感觉有点类似与python中的字典,非常好用。结构体数组的基本单位是域,在matlab中,可以随时增减域。

% 创建结构体
phase_syn = struct('name',[],'is_seizure',[],'phase',[],'seizure_time',[],'seizure_num',[]);
% 储存数据,例如:
phase_syn(1).name = 'sub01';
phase_syn(2).name = 'sub02';
四、数据类型转换 1.元组转数字

代码示例

a = str2num('[]');
isempty(a);
% 输出为1,说明a为空

a = str2num('[111 222]')
%输出为 111 222
a(1)
%输出为 111
a(2)
%输出为222
总结

边遇到问题边整理~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/916355.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号