summaryrefslogtreecommitdiff
path: root/graphics/pstricks/contrib/numericplots/MatlabFunctions/dspace2latex.m
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pstricks/contrib/numericplots/MatlabFunctions/dspace2latex.m')
-rw-r--r--graphics/pstricks/contrib/numericplots/MatlabFunctions/dspace2latex.m90
1 files changed, 90 insertions, 0 deletions
diff --git a/graphics/pstricks/contrib/numericplots/MatlabFunctions/dspace2latex.m b/graphics/pstricks/contrib/numericplots/MatlabFunctions/dspace2latex.m
new file mode 100644
index 0000000000..dbce4777d9
--- /dev/null
+++ b/graphics/pstricks/contrib/numericplots/MatlabFunctions/dspace2latex.m
@@ -0,0 +1,90 @@
+function num = dspace2latex(dspacename,texname)
+%------------------------------------------------
+%num = dspace2tex(data,xname,downsample,filename)
+%Function to export a dSPACE-mat-file to a tex-file for using NumericPlots.
+%dspace2latex is based on the function struct2tex and export2latex.
+%------------------------------------------------
+%output:
+%num ...number of y-data exported
+%input:
+%dspacename ...dspace file name (optional, default io)
+%texname ...name of the tex-file (optional, default io)
+%
+%author: Alexander Michel
+% date: 2010/08/09
+%
+% function struct2latex.m required to convert structs to export2latex format.
+% function export2latex.m required to export datavectors to latex.
+%
+
+% Copyright 2010 Thomas König, Alexander Michel
+%
+% This file is part of NumericPlots.
+%
+% NumericPlots is free software: you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% any later version.
+%
+% NumericPlots is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with NumericPlots. If not, see <http://www.gnu.org/licenses/>.
+
+
+
+% choose dSpace File
+if(nargin<1)
+ data = dspace2struct;
+else
+ data = dspace2struct(dspacename);
+end
+
+
+% define begin, end and downsampling
+options.Resize='on';
+options.WindowStyle='normal';
+options.Interpreter='tex';
+prompt={'t0','t1','downsampling'};
+title=['define datapoints. sampling time = ' num2str(data.time(2)-data.time(1)) ' s'];
+numlines=1;
+defaultanswer={num2str(data.time(1)),num2str(data.time(end)),'1'};
+
+answer=inputdlg(prompt,title,numlines,defaultanswer,options);
+starttime = str2double(answer{1});
+endtime = str2double(answer{2});
+downsample = str2double(answer{3});
+
+% define downsampling
+istart = find(data.time<=starttime);
+istart = istart(end);
+iend = find(data.time<=endtime);
+iend = iend(end);
+
+idx = istart:downsample:iend;
+
+% choose data which should be exportet
+fnames = fieldnames(data);
+idxtimename = strmatch('time',fnames,'exact');
+idxdatanames = setdiff(1:length(fnames),idxtimename);
+
+[iplots,selected] = listdlg('PromptString','choose data for export:','ListString',fnames(idxdatanames));
+if (selected==0)
+ error('no data chosen');
+end
+
+dat.time = data.time;
+for ii = iplots
+ dat = setfield(dat,fnames{ii},getfield(data,fnames{ii}));
+end
+
+% export data
+if(nargin<2)
+ num = struct2latex(dat,'time',downsample);
+else
+ num = struct2latex(dat,'time',downsample,texname);
+end
+ \ No newline at end of file