解决matlab load文件不知道变量名的问题

在MATLAB中,当需要加载mat文件但不确定变量名时,直接访问可能导致错误。本文介绍了遇到的因变量名记错而引发的错误,以及尝试直接赋值失败的原因——加载的数据变成了结构体。为解决这个问题,提出了使用`fieldnames`和`getfield`函数的方法,可以获取并指定变量名,从而方便地访问数据。通过封装成函数,提高了代码的实用性。
摘要由CSDN通过智能技术生成

最近项目有个通用需求,就是在执行过程中load一个mat格式的文件,然后把这个文件中的数据进行处理。问题在于load之后,我们并不知道文件内变量的名字,这样就会造成一个很棘手的错误:执行以下代码,

执行的代码

数据已经load,我按照自己的记忆去访问该数据,结果因为我记错了,导致提示说该变量不存在,如果所示:

提示的错误

原因是变量的真实名称是dat

真实的变量名称

于是我想到了给他赋一个名字不就好了吗?真实机智如我,如下操作:

新的执行方法

但是,但是,但是,事与愿违,还是出现错误了。怎么会超出维度呢,明明数据的是几万乘以几十的二维矩阵呢,为什么呢?怎么是个结构体:

还是报错

为什么呢?原来通过上面的程序读进来的赋值之后,得到的a是个结构体:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值