【发布时间】:2019-12-17 06:52:12
【问题描述】:
我正在尝试使用“加载”功能加载 .mat 文件。该文件似乎可以正确加载,但某些变量无法访问。我最好的猜测是,这是因为变量的名称(由 R 中的其他人设置,然后导出到 .mat 文件)包含一个点(见图)
例如,其中一个变量是一个名为“final.product”的向量。如果我尝试访问第一个元素,我会得到这个
>>final.product(1)
Undefined variable "final" or class "final.product".
这适用于名称不包含任何点的变量。
我已尝试从工作区修改名称(即单击名称并删除点),但我收到一条错误消息提示
我在命令行窗口中尝试过的所有其他事情都给我错误,例如我的变量不存在或名称无效的事实
>> T = from.product;
Undefined variable "from" or class "from.product".
或者
>>T = load('C:\Users\Loup\Downloads\5. Source-Intermediates-Products.mat', 'final.product');
T = T.('final.product');
Error using load
Invalid field name: 'final.product'.
所以我想我有两个问题:
1) 有人可以确认我的问题是由变量名中的点引起的吗?
2) 有没有办法重命名不需要能够读取的变量?
非常感谢!
【问题讨论】:
-
@ 1) 如果里面有一个点,Matlab 认为它是一个类/对象或结构。所以是的,这可以确认。
-
我不清楚如何加载名称中带有点的变量...这是一种罕见的情况,显示错误变量的工作区屏幕截图会很有用(请edit你的问题)。
-
@Wolfie 同意,感谢您的建议(现在添加图片)
-
这些确实不是有效的变量名。我建议在 R 中加载 MAT 文件,并创建一个具有有效变量名的新文件。
-
谢谢@CrisLuengo,虽然我真的不想和 R 打交道,但我最终还是这么做了……