First time here? We are a friendly community of Power Systems Engineers. Check out the FAQ!
1 | initial version |
*Copying of all channels into matlab workspace (as possibility for matlab users)*
function [numberchannels,nameschannels,tomatlab]=pssout2matlab(inputfile)
nameschannels=[];
channelsdata=[];
numberchannels=[];
tekst=[];
if nargin==0
[filename]=uigetfile('*.out','PSSE .out files'); % select file from disk (without inputfile in function call)
fid=fopen(filename);
else
fid=fopen(inputfile');
end
setstr(fread(fid,4,'char')');
setstr(fread(fid,4,'char')');
setstr(fread(fid,4,'char')');
numberchannels=fread(fid,1,'float32');
fread(fid,1,'float32');
nameschannels=setstr(fread(fid,[32, numberchannels] ,'char'))';
nameschannels=strvcat(strcat('Time',blanks(28)),nameschannels);
tekst=setstr(fread(fid,[60, 2] ,'char'))';
channelsdata=fread(fid,Inf,'float32');
kolona=(size(channelsdata,1)-2)/(numberchannels+2);
rezultat=reshape(channelsdata(1:kolona*(numberchannels+2)),numberchannels+2,kolona)';
tomatlab=rezultat(:,2:size(rezultat,2));
fclose(fid);
numberchannels=numberchannels+1;
nameschannels=strcat(num2str([1:numberchannels]','%06.f'),'-',nameschannels);
end
2 | No.2 Revision |
*Copying of all channels into matlab workspace (as possibility for matlab users)*
Download matlab function and example of using:
https://drive.google.com/drive/folders/0BxDSoDW3zV09MkhkbnZuLWxwY28?usp=sharing
function [numberchannels,nameschannels,tomatlab]=pssout2matlab(inputfile)
nameschannels=[];
channelsdata=[];
numberchannels=[];
tekst=[];
if nargin==0
[filename]=uigetfile('*.out','PSSE .out files'); % select file from disk (without inputfile in function call)
fid=fopen(filename);
else
fid=fopen(inputfile');
end
setstr(fread(fid,4,'char')');
setstr(fread(fid,4,'char')');
setstr(fread(fid,4,'char')');
numberchannels=fread(fid,1,'float32');
fread(fid,1,'float32');
nameschannels=setstr(fread(fid,[32, numberchannels] ,'char'))';
nameschannels=strvcat(strcat('Time',blanks(28)),nameschannels);
tekst=setstr(fread(fid,[60, 2] ,'char'))';
channelsdata=fread(fid,Inf,'float32');
kolona=(size(channelsdata,1)-2)/(numberchannels+2);
rezultat=reshape(channelsdata(1:kolona*(numberchannels+2)),numberchannels+2,kolona)';
tomatlab=rezultat(:,2:size(rezultat,2));
fclose(fid);
numberchannels=numberchannels+1;
nameschannels=strcat(num2str([1:numberchannels]','%06.f'),'-',nameschannels);
end