太感谢你的帮助了,recwoods老师。
之前我自己已经把排序都做好了,只是256个名称都在一个cell里,点击cell里的(1,1),便会出现n*3的cell数列,其中第一列是名称。
现在老师让我去掉第一列,只需要第二和第三列,就是时间和值,然后直接保存为矩阵,矩阵名称就是第一列的那个名称。。
于是我又卡住了,因为第二列是数值型,第三列是字符型,没办法直接从cell文件转换为矩阵。。。
而且第一列名称有256项,是变量,如何让这个变量保存为相应的文件名?
这是我目前的程序段,除掉了读入数据的部分:
Zeit = daten{1}; %时间
Signal = daten{2}; %信号名称
Signalwert = daten{3}; %信号值
time = num2cell(Zeit); %数值型变为cell型
a = [Signal,time,Signalwert]; %合并cell
[newtemp ind] = sort(Signal);
final = a(ind,:); %新数列以时间的大小,升序排列。
[unique_signal,m,n] = unique(final(:,1)); %m为此信号最后一次出现在数列中的索引号
signale = cell(256,1);
for j = 1;
signale{j} = final(1:m(j),2:3);
save('signale.mat','signale{j}');
end;
for j = 2 : length(unique_signal);
signale{j} = final((m(j-1)+1):m(j),:);
save('signale.mat','signale');
end; |