问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

matlab读取.mat文件中的指定数据

发布网友 发布时间:2022-04-24 18:22

我来回答

5个回答

热心网友 时间:2022-04-28 19:16

load(filename,A) 加载 MAT 文件 filename 中的指定变量A。

对于读取这个变量A中的某一列,可以运用代码:

A(:,m)

可以提取A矩阵中的第m列。

拓展说明:

matlab中还有个代码importdata可以导入数据。

A = importdata('filename'),将filename中的数据导入到工作区中,并保存为变量A;

热心网友 时间:2022-04-28 20:34

使用matlab基本读取函数,可以进行mat文件读取操作。
13.1 数据基本操作
本节介绍基本的数据操作,包括工作区的保存、导入和文件打开。
13.1.1 文件的存储
MATLAB支持工作区的保存。用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入。保存工作区可以通过菜单进行,也可以通过命令窗口进行。
1. 保存整个工作区
选择File菜单中的Save Workspace As…命令,或者单击工作区浏览器工具栏中的Save,可以将工作区中的变量保存为MAT文件。
2. 保存工作区中的变量
在工作区浏览器中,右击需要保存的变量名,选择Save As…,将该变量保存为MAT文件。
3. 利用save命令保存
该命令可以保存工作区,或工作区中任何指定文件。该命令的调用格式如下:
● save:将工作区中的所有变量保存在当前工作区中的文件中,文件名为 matlab.mat,MAT文件可以通过load函数再次导入工作区,MAT函数可以被不同的机器导入,甚至可以通过其他的程序调用。
● save('filename'):将工作区中的所有变量保存为文件,文件名由filename指定。如果filename中包含路径,则将文件保存在相应目录下,否则默认路径为当前路径。
● save('filename', 'var1', 'var2', ...):保存指定的变量在 filename 指定的文件中。
● save('filename', '-struct', 's'):保存结构体s中全部域作为单独的变量。
● save('filename', '-struct', 's', 'f1', 'f2', ...):保存结构体s中的指定变量。
● save('-regexp', expr1, expr2, ...):通过正则表达式指定待保存的变量需满足的条件。
● save('..., 'format'),指定保存文件的格式,格式可以为MAT文件、ASCII文件等。
13.1.2 数据导入
MATLAB中导入数据通常由函数load实现,该函数的用法如下:
● load:如果matlab.mat文件存在,导入matlab.mat中的所有变量,如果不存在,则返回error。
● load filename:将filename中的全部变量导入到工作区中。
● load filename X Y Z ...:将filename中的变量X、Y、Z等导入到工作区中,如果是MAT文件,在指定变量时可以使用通配符“*”。
● load filename -regexp expr1 expr2 ...:通过正则表达式指定需要导入的变量。
● load -ascii filename:无论输入文件名是否包含有扩展名,将其以ASCII格式导入;如果指定的文件不是数字文本,则返回error。
● load -mat filename:无论输入文件名是否包含有扩展名,将其以mat格式导入;如果指定的文件不是MAT文件,则返回error。
例13-1 将文件matlab.map中的变量导入到工作区中。
首先应用命令whos –file查看该文件中的内容:
>> whos -file matlab.mat
Name Size Bytes Class
A 2x3 48 double array
I_q 415x552x3 687240 uint8 array
ans 1x3 24 double array
num_of_cluster 1x1 8 double array
Grand total is 687250 elements using 687320 bytes
将该文件中的变量导入到工作区中:
>> load matlab.mat
该命令执行后,可以在工作区浏览器中看见这些变量,如图13-1所示。

图13-1 导入变量后的工作区视图
接下来用户可以访问这些变量。
>> num_of_cluster
num_of_cluster =
3
MATLAB中,另一个导入数据的常用函数为importdata,该函数的用法如下:
● importdata('filename'),将filename中的数据导入到工作区中;
● A = importdata('filename'),将filename中的数据导入到工作区中,并保存为变量A;
● importdata('filename','delimiter'),将filename中的数据导入到工作区中,以delimiter指定的符号作为分隔符;
例13-2 从文件中导入数据。
>> imported_data = importdata('matlab.mat')
imported_data =
ans: [1.1813 1.0928 1.6534]
A: [2x3 double]
I_q: [415x552x3 uint8]
num_of_cluster: 3
与load函数不同,importdata将文件中的数据以结构体的方式导入到工作区中。
13.1.3 文件的打开
MATLAB中可以使用open命令打开各种格式的文件,MATLAB自动根据文件的扩展名选择相应的编辑器。
需要注意的是open('filename.mat')和load('filename.mat')的不同,前者将filename.mat以结构体的方式打开在工作区中,后者将文件中的变量导入到工作区中,如果需要访问其中的内容,需要以不同的格式进行。

例13-3 open与load的比较。
>> clear
>> A = magic(3);
>> B = rand(3);
>> save
Saving to: matlab.mat
>> clear
>> load('matlab.mat')
>> A
A =
8 1 6
3 5 7
4 9 2
>> B
B =
0.9501 0.4860 0.4565
0.2311 0.8913 0.0185
0.6068 0.7621 0.8214
>> clear
>> open('matlab.mat')
ans =
A: [3x3 double]
B: [3x3 double]
>> struc1=ans;
>> struc1.A
ans =
8 1 6
3 5 7
4 9 2
>> struc1.B
ans =
0.9501 0.4860 0.4565
0.2311 0.8913 0.0185
0.6068 0.7621 0.8214

热心网友 时间:2022-04-28 22:08

你的意思是不是mat文件太大,但是只需要一部分数据,没有必要完全load到内存,那样会拉慢机子,
我曾今也有过这个想法,但是一直没有成功
如果数据量不是太大,那么直接load就可以,正如楼上所说

热心网友 时间:2022-04-29 00:00

预定义:a=[1 2 3;4 5 6;7 8 9];保存。

b=load('a.mat');
c=b.a(:,1)%你要的一列

热心网友 时间:2022-04-29 02:08

使用matfile读取部分数据
m="matname.mat";
part_mat_data=m.data(1,:);
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 谁能给我解析下安规4项测试原理? 轮胎三包规定内容有哪些? matlab读取mat文件问题 酥先生烤鱼饭和传统烤鱼有什么区别吗? 汽车轮胎的三包内容是如何规定的? 喵和渔无骨烤鱼饭和传统烤鱼有什么区别? EMC测试的介绍 如何读写Matlab的mat文件? 如何分辨自己买的轮胎是不是三包轮胎? 鱼对鱼烤鱼饭怎么样?最近看到还挺不错的 烤鱼拌饭怎么做 matlab如何导入dat数据 轮胎是否有三包政策? 黄精烤鱼饭的做法? 黄精烤鱼饭的做法? 怎么用matlab读取一个文件夹中的任意个mat文件 EMC测试时,测试的到底是啥东西,是电场 功率 电流 电压 ?还是其它 轮胎什么情况下可以三包 探渔客烤鱼饭和酥先生烤鱼饭一样吗? matlab新手求助啊~如何在一个已经可以运行的.m文件载入另外的.mat数据文件??(另外下面那个图什么意思 轮胎三包规定内容有哪些 电脑开机显示器不亮 进入睡眠模式 怎么办 安规中EMC测试是怎么做的 轮胎质保期 三包规定 如何从matlab的workspace里读取mat文件到simulink中 电脑开不开机怎么办?按下开关以后开关亮,但是屏幕不亮 玲珑轮胎三包标准 电脑睡眠唤醒屏幕不亮 轮胎裂痕 三包吗? 【我来问】汽车轮胎的三包内容是如何规定的? 开关电源EMC传导测试 高手请进 抖音涨粉丝的技巧有哪些? 如何添加字体 一台电脑是不是只有一个IP地址 coreldraw里怎样添加字体 一台电脑的IP地址永远都是一个么 每一台电脑都有一个IP地址吗? IP地址是不是每台电脑都不一样? 全国的网吧都是一台电脑一个IP地址吗 是不是每个电脑只有一个固定的IP地址?