【发布时间】:2019-04-08 15:20:20
【问题描述】:
我需要同时加载 32 个文件(扩展名为 .mat)并进行一些数学运算。因此,运行代码后,我希望得到 32 个数学结果。
问题是我尝试的所有代码都只是加载第一个或最后一个文件。
我的文件名是:21 pcb 11_01.mat; 21 印刷电路板 11_02 ....21 印刷电路板 11_32。我试过这个:
for i=1:32
filename=strcat("21 pcb 11_",sprintf("%02d",i),".mat")
load(filename)
endfor
因此,代码仅显示工作区中的最后一个文件。 我希望代码能够加载 32 个文件。
你能帮帮我吗?
【问题讨论】:
-
加载文件会在工作空间中创建一些变量,即文件中包含的变量,文件中包含什么?如果它们具有相同的变量名,则加载最后一个文件将覆盖之前的所有变量
-
一次只能加载一个文件,因此过程是加载文件,进行数学运算并继续下一个文件。或者,您可以一个接一个地加载所有 32 个文件,然后进行数学运算,但正如 @LuisMendo 所提到的,如果您的
*.mat文件中的变量具有相同的名称,它们将被每个load操作覆盖。如果是这种情况,您希望在load的每次迭代中将数据存储在一个唯一命名的变量中。如果没有关于*.mat文件中内容的更多信息,就很难再说了。 -
感谢您的回答!它是一个 Picoscope 文件(一种示波器)。因此,在每个文件中,都有相同的变量名(称为A),但这个变量的值在每个文件中是不同的。