在MATLAB中使用函数中的eval时出错

问题描述 投票:0回答:1

我有以下MATLAB函数:

function getDBLfileL1(pathInput,Name_file,folderName)
   DBL_files=dir([pathInput,'/*.DBL']); %get DBL files 
   fprintf('Reading DBL files ... ')
   for i = 1:length(DBL_files) %loop through all DBL files
       [HDR, CS]=Cryo_L1b_read([pathInput,'/',DBL_files(i).name]); %read data with ESA's Cryo_L1_read function
       Coord{i}.LAT_20Hz=CS.GEO.LAT; %store values to struct
       Coord{i}.LON_20Hz=CS.GEO.LON; 
       Coord{i}.BoundingBox_StartLATLON_StopLATLON=[HDR.START_LAT*10^-6,HDR.START_LONG*10^-6,HDR.STOP_LAT*10^-6,HDR.STOP_LONG*10^-6];
       Coord{i}.FileName=[pathInput,'/',DBL_files(i).name];
   end
   eval([Name_file '= Coord;']);
   save(['output/',folderName,'/',Name_file,'.mat'],Name_file,'-v7.3')
   fprintf('done\n')
end

它被称为以下内容:

getDBLfileL1(pathInput,[folderNames{i},'_',folderNames1{j}],folderNames{i}); %read Data from DBL file

Name_file的价值是'2011_01',我收到以下错误:

eval([Name_file])
Error: Invalid text character. Check for unsupported symbol, invisible character, or pasting of non-ASCII characters.

有谁知道为什么会出现这个错误或者我如何更改文件,我可以替换eval()函数?

非常感谢提前!

matlab eval
1个回答
1
投票

如果我做对了,你就试着评价'2011_01 = Coord;' ,这意味着您将Coord分配给名为2011_01的变量,变量名称不能以数字开头

© www.soinside.com 2019 - 2024. All rights reserved.