MATLAB数据文件读写:2.矩阵数据读取

embedded/2024/10/18 21:22:20/

矩阵数据读取

写入文件–save函数

保存变量到文件中,用于以后使用。

save(fielname)

  • 将当前工作区中所有变量保存到matlab格式的二进制文件filename中。: .mat

save(filename, ‘var’,fmt)

  • 将当前工作区中var指定的结构体数组的变量或字段保存到matlab格式的二进制文件(.mat)filename中。
  • fmt指定保存的格式,可以是’ascii’、‘binary’、‘base64’、'table’中的一个。

save(filename, ‘var’,‘-append’)

  • 将新变量添加到一个现有文件中
  • 如果mat文件中已经存在了变量var,则会覆盖原有变量。

例子:

matlab">save('data.mat','x','binary')
% 保存变量x到文件data.mat中,以二进制格式保存save('data.mat')
% 保存当前工作区的所有变量到文件data.mat中save('data.mat','x','-append')
% 将变量x追加到文件data.mat中% 例如
x = [1 2 3; 4 5 6];
b = struct('name','Alice','age',25);
c=pi;
save('data.mat')
clear
load('data.mat')
% 加载文件data.mat中的变量

读取文件–load函数

与save函数相对应,通常与save搭配使用;
load(filename)

  • 从filename加载数据;
  • 如果filename是MAT文件,将mat文件中的变量加载的MATLAB工作区;
  • 如果filename是ASCI,将会创建一个包含该文件数据的双精度矩阵

load(filename,‘var’)

  • 加载MAT文件中的指定变量

load(filename,‘a*’)

  • 加载MAT文件中所有以a开头的变量,*表示使用通配符;
    load(filename,‘-regexp’,expl,exp2…expn)
  • 只加载名称与正则表达式匹配的变量或字段,指定为字符向量或字符串。
    例如:

load(‘filename.mat’,‘-regexp’,‘^Mon’,‘^Tues’)

  • 仅加载文件中名称以Mon或Tues开头的变量。

矩阵数据读写一writematrix与readmatrix函数

writematrix(A)

  • 同构数组A写入以逗号分隔的文本文件
  • 文件名为数组的工作区变量名称,附加扩展名.txt;
  • 如果writematrix无法根据数组名称构造文件名,那么它会写入matrix.txt文件中;
  • A中每个变量的每一列将成为输出文件中的列。writematriⅸ函数会覆盖现有文件。

writematrix(A,filename)

  • 写入具有filename指定的名称和扩展名的文件。
    扩展名必须是下列格式之一:
    .txt、.dat或.csv(适用于带分隔符的文本文件);
    .xls、.xlsm或,.xlsx(适用于ExcelE电子表格文件);

例子:

matlab">a=rand(10);
writematrix(a);
% 写入文件a.txt中
writematrix(a,'b.xls');

writematrix(__,Name,Value)

  • 在包括上述语法中任意输入参数的同时,还可通过一个或多个Name,Value对组参数指定其他选项来将数组写入文件中。
  • 例如,指定分隔符制表符(默认为逗号):
    writematrix(M,‘M_tab.txt’,‘Delimiter’,‘tab’)

A=readmatrix(filename)

  • 通过从文件中读取列向数据来创建数组。readmatrix函数可自动检测文件的导入参数。
  • readmatrix基于文件的扩展名确定文件格式
    .txt、.dat或.csv(适用于带分隔符的文本文件)
    .xls、.xlsb、.xlsm、.xlsx、.xltm、.xtx或.ods(适用于电子表格文件)
  • 对于包含数值和文本混合数据的文件,默认情况下,readmatrix将数据作为数值数组导入。

A=readmatrix(filename,opts)

  • 使用导入选项opts(详情参见help文件)

例子:

matlab">a=readmatrix('a.txt');
b=readmatrix('b.xls');

表格数据读写一writetable与readtable函数

writetable(T,filename)

  • 写入具有filename指定的名称和扩展名的文件;

T=readtable(filename)

  • 通过从文件中读取列向数据来创建表。

写入excel:xlswrite
读取excel:xlsread
最新的MATLAB不推荐使用这两个函数;

另外还有针对元胞数据读写的:
writecell
readcell

矩阵数据读入一importdata函数

A=importdata(filename)

  • 将数据加载到数组A中;

A=importdata(filename,delimiterIn)

  • 将delimiterIn解释为ASCI文件filename中的列分隔符;

A=importdata(filename,delimiterIn,headerlinesIn)

  • 从ASCI文件filename中,以dilimiterIn为分隔符,从headerlinesIn+l行开始读取;

例子:

matlab">A=importdata('data.txt');b=A.data;
a.data;

http://www.ppmy.cn/embedded/123724.html

相关文章

Java--IO高级流

缓冲流 缓冲流,也叫高效流,是对4个基本的FileXxx 流的增强,所以也是4个流,按照数据类型分类: 字节缓冲流:BufferedInputStream,BufferedOutputStream 字符缓冲流:BufferedReader,Buf…

【ChatGPT】面向软件开发的提示词

面向软件开发人员的 ChatGPT 提示词 不会用ChatGPT就如同上图~~ 所以先推荐一波好用的提示词 1. 代码生成: 为名为 [name] 的 [class/module/component] 生成具有以下功能的样板 [language] 代码:[functionality description]。 创建一个 [语言] 函数以…

芒果虫害分类数据集,包括10个类别共9738张图像:茶黄蓟马荔枝叶瘿蚊白翅蜡蝉等

芒果虫害分类数据集 包括10个类别共9738张图像:茶黄蓟马Scirtothrips dorsalis Hood、荔枝叶瘿蚊Dasineura sp、白翅蜡蝉Lawana imitata Melichar、褐缘蛾蜡蝉Salurnis marginella Guerr、芒果切叶象甲Deporaus marginatus Pascoe、横线尾夜蛾Chlumetia transversa、…

internal.KaptWithoutKotlincTask$KaptExecutionWorkAction 问题 ---Room数据库

Caused by: java.lang.Exception: No native library is found for os.nameMac and os.archaarch64. path/org/sqlite/native/Mac/aarch64 m3 目前使用的是MAC M3芯片的配置会出现这个问题。M1就应该就有这个问题 解决: 在project层级的build.gradle中的allprojec…

利用 notepad++ 初步净化 HaE Linkfinder 规则所提取的内容(仅留下接口行)

去掉接口的带参部分 \?.*去掉文件行 .*\.(docx|doc|xlsx|xls|txt|xml|html|pdf|ppt|pptx|odt|ods|odp|rtf|md|epub|css|scss|less|sass|styl|png|jpg|jpeg|gif|svg|ico|bmp|tiff|webp|heic|dds|raw|vue|js|ts|mp4|avi|mov|wmv|mkv|flv|webm|mp3|wav|aac|flac|ogg|m4a).*(\r\…

基于Python的自然语言处理系列(25):QANet

QANet 是在2018年提出的一种新型机器阅读理解模型,其显著特点是不依赖传统的循环神经网络(RNN),而是完全基于卷积和自注意力机制。循环神经网络由于其顺序处理的特性在训练和推理时速度较慢,而QANet通过卷积捕获文本的局部结构,通过自注意力机制学习全局词对的交互,从而…

docker 进入容器运行命令

要进入正在运行的Docker容器并在其中执行命令,你可以使用docker exec命令。以下是具体步骤和示例: 1. 查看正在运行的容器 首先,确认你的容器正在运行,可以使用以下命令查看所有运行中的容器: docker ps2. 进入容器…

实验OSPF路由协议(课内实验)

实验1:OSPF路由协议 实验目的及要求: 通过实验,能够理解链路状态型路由协议OSPF协议的工作原理,掌握如何实现单区域 OSPFv2配置指令,能够熟练的应用各种OSPF协议相关的配置指令完善网络设计。掌握验证OSPFv2网络连接…