How to create a structure of array with same variable name with different values from different .mat files
Show older comments
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
Answers (1)
Azzi Abdelmalek
on 5 Jul 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
Categories
Find more on Software Development Tools in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!