How to create a structure of array with same variable name with different values from different .mat files
Afficher commentaires plus anciens
How to create a structure of array with same variable name with different values from different .mat files Like i have 100 .mat files with same variable name say a, b with different values in each .mat file Now i want to create a script to load all values from different .mat file into a matrix?
if true
i = 0;
%dataArray = {};
for Druek=0:15
for Kruek=0:0.1:2
i=i+1;
mil_offlinesim('Messungen.mat','C:\MasterThesis',Druek,Kruek);
tmp = load('untitled.mat');
filename = sprintf('Messung_%i_%d.mat',Druek,Kruek);
save(filename, 'tmp');
x=Druek;
y=Kruek;
%Integration 1
start = find(SW_Schaetzwert.Time==98.7);
endd = find(SW_Schaetzwert.Time==110.04);
cut= SW_Schaetzwert.Data(start:endd);
%integral = trapz(start,endd);
partialIntegral=trapz(start,endd);
%figure;
a=area(start,endd);
%hold on;
%area(start,endd,'FaceColor','red');
disp(double(a));
%error=abs(a);
%disp(double(error));
%plot(cutttt,'DisplayName','cuttt','YDataSource','cutttt');figure(gcf)
%Integration 2
start1 = find(SW_Schaetzwert.Time==215.44);
endd1 = find(SW_Schaetzwert.Time==216.84);
cut1= SW_Schaetzwert.Data(start1:endd1);
%integral = trapz(start,endd);
partialIntegral1=trapz(start1,endd1);
%figure;
a1=area(start1,endd1);
%hold on;
%area(start,endd,'FaceColor','red');
disp(double(a1));
%error=abs(a1-31592.02819824219);
%disp(double(error));
%Integration 3 start2 = find(SW_Schaetzwert.Time==260.21); endd2 = find(SW_Schaetzwert.Time==269.57); cut2= SW_Schaetzwert.Data(start2:endd2); %integral = trapz(start,endd); partialIntegral2=trapz(start2,endd2); %figure; a2=area(start2,endd2); %hold on; %area(start,endd,'FaceColor','red'); disp(double(a2)); %error=abs(a2-31592.0288085938); %disp(double(error));
Druek;
Kruek;
%temp=load(filename);
%anew=temp.a;
%yVec(i)=temp.y;
%dataArray{DruekKruek}=[filename.Druek,filename.Kruek,filename.a,filename.a1,filename.a2];
% field1='Druek'; value1 = Druek; % field2='Kruek'; value2 = Kruek; % field3='Integration1'; value3= a; % field4='Integration2'; value4=a1; % field5='Integration3'; value5=a2;
i=i+1;
my=zeros(0,150);
T=zeros(0,150);
my(i).Druek = x;
my(i).Kruek = y;
my(i).Integration1= a;
my(i).Integration2=a1;
my(i).Integration3=a2;
T=struct2cell(my);
%s1 = repmat( struct('r',0, 'g',0, 'b',0), 1, 1000);
%s2 = struct('r',zeros(1,1000), 'g',zeros(1,1000), 'b',zeros(1,1000));
%s=zeros(0,100);
%s= repmat(struct('Druek',0,'Kruek',0,'Integration1',0,'Integration2',0,'Integration3',0),1,1000);
%s=struct('Druek',{},'Kruek',{},'Integration1',{},'Integration2',{},'Integration3',{});
%s=struct(field1,value1,field2,value2,field3,value3,field4,value4,field5,value5);
end
end
end
Réponses (1)
Azzi Abdelmalek
le 5 Juil 2016
f=dir('*.mat')
file={f.name}
n=numel(file)
out=zeros(n,2);
for k=1:n
d=load(file{k})
out(k,:)=[d.a d.b]
end
Catégories
En savoir plus sur Software Development Tools dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!