【20210910】【Matlab】load .mat 数据之后将变量重命名

一、背景

        在使用 Matlab 过程中,需要读取 .mat 数据使用,使用 load 命令之后赋给一个变量,发现并不是把 mat 数据的内容赋给这个变量,而是赋值了一个结构体。所以在使用时,问题在于这个结构体内变量名是未知的,所以没办法直接使用。

二、解决办法

        fieldnames:获取一个未知的 struct 的所有 field;

        getfield:返回 struct 中指定字段的值。

% 创建一个结构体
tmp.a = 1;
tmp.b = 2;
tmp.c = 3;
save tmp tmp;
clear tmp;

% 载入 mat 数据
val_struct = load('tmp.mat');  % 载入 mat 数据,出来是一个结构体,我们需要的变量是【结构体.变量名】
val_names = fieldnames(val_struct);  % 获取结构体后那个未知的变量名
val = getfield(val_struct, val_names{1});  % 读取该变量名下的数据,并重新命名变量名val

        (参考:matlab load函数变量的名字,解决matlab load文件不知道变量名的问题

        (参考:matlab 列出struct中所有的fields----fieldnamea

        (参考:getfield)                

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Satisfying

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值