首页 > 解决方案 > 如何最好地解决此 MATLAB 名称冲突?

问题描述

我在 MATLAB 数据文件中保存了一些数据,其中每个文件的变量名都是times. 当我现在尝试读取这些数据文件时,似乎与(我认为)内置函数产生了名称冲突times

这些行:

load("matlabcode\eeglab2020_0//timesBxintIlow.mat","times"); 
times1=times;  

导致错误:

Error using  .* 
Not enough input arguments.

当我将它输入到 MATLAB 控制台时,实际上并没有出现该错误,但只有当我从控制台调用使用 2 行的函数时才会出现该错误)

我可以以某种方式更改变量“times”的名称吗?

我试过定位内置函数:

which times
built-in (C:\Program Files\MATLAB\R2019b\toolbox\matlab\ops\@char\times)  % char method

我不知道是什么@char意思,但times似乎在文件夹中ops。但是,更改此文件的名称times不会更改错误消息。计划是以编程方式将名称更改为times_renamed,然后加载数据,然后将名称改回来。

我也不知道如何从搜索路径中删除内置函数。

标签: matlabpath

解决方案


将数据加载到结构数组中,如下所示:

S = load("matlabcode\eeglab2020_0//timesBxintIlow.mat", "times");

现在您将获得所需的数据S.times而不是times变量。


推荐阅读