Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 基于Excel文件中的单元格保存文件_Matlab - Fatal编程技术网

Matlab 基于Excel文件中的单元格保存文件

Matlab 基于Excel文件中的单元格保存文件,matlab,Matlab,我有一个20行81列的excel文件。每行的第一列包含代码,其余列包含值 我想为每一行创建一个*.mat文件,并使用第一列中的代码名保存它 例如,如果我有一行如下所示: 202 100 200 300 400 然后,结果数据应保存到“202.mat” 到目前为止,我有以下代码: allData = xlsread('matlab2.xlsx'); names = allData(1,1:1); values = allData(1,2:81); 假设您拥有问题中所述的all

我有一个20行81列的excel文件。每行的第一列包含代码,其余列包含值

我想为每一行创建一个*.mat文件,并使用第一列中的代码名保存它

例如,如果我有一行如下所示:

202   100   200   300  400
然后,结果数据应保存到“202.mat”

到目前为止,我有以下代码:

allData = xlsread('matlab2.xlsx');
names = allData(1,1:1); 
values = allData(1,2:81); 

假设您拥有问题中所述的
allData
,您可以简单地执行以下操作

names = allData(:,1);
values = allData(:,2:end);

for k = 1:numel(names)
    matfilename = sprintf('%s.mat', names{k});
    data = [values{k,:}];
    save(matfilename, 'data');
end

这将创建一个包含变量
data
的.mat文件,该变量保存在包含您拥有的数据的文件中。

您有包含20x81数据的*.mat文件还是excel文件?根据您的示例,它是一个excel文件。谢谢服务器,我尝试了您的代码,但我只获得不同的文件,如ұ.matԕ.mat。。。没有人作为代码调用并包含values@HamgevaVage代码总是一个数字吗?如果是这样,请尝试我的编辑,在
sprintf
调用中使用“%d”而不是“%s”。
names = allData(:,1);
values = allData(:,2:end);

for k = 1:numel(names)
    matfilename = sprintf('%s.mat', names{k});
    data = [values{k,:}];
    save(matfilename, 'data');
end