diff src/ltpda_ssmsim/test_ltpda_ssmsim.m @ 0:f0afece42f48

Import.
author Daniele Nicolodi <nicolodi@science.unitn.it>
date Wed, 23 Nov 2011 19:22:13 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ltpda_ssmsim/test_ltpda_ssmsim.m	Wed Nov 23 19:22:13 2011 +0100
@@ -0,0 +1,125 @@
+clear all;
+compile
+
+Nsamples   = 10;
+Nstates    = 10;
+Nstatesout = 1;
+Ninputs    = 2;
+Noutputs   = 2;
+
+
+Nruns = 100;
+
+
+%%
+[yx,xx,lxx,y,x,lx] = validate_mex(Nsamples, Nstates, Nstatesout, Ninputs, Noutputs);
+
+sum(sum(yx-y))
+% sum(sum(xx-x))
+sum(sum(lxx-lx))
+
+return
+
+%%
+
+[tmex,yx,xx] = do_a_run(Nruns, Nsamples, Nstates, Nstatesout, Ninputs, Noutputs);
+[tmat,y,x] = do_a_run_mat(Nruns, Nsamples, Nstates, Nstatesout, Ninputs, Noutputs);
+
+tmex
+tmat
+tmat/tmex
+
+
+return
+
+%% Run-time Vs Nstates
+
+Nsamples   = 1000;
+Nstatesout = 1;
+Ninputs    = 2;
+Noutputs   = 10;
+Nruns      = 10;
+Nstates = 5:20:250;
+tmex = zeros(length(Nstates),1);
+tmat = zeros(length(Nstates),1);
+for jj=1:length(Nstates)
+  
+  disp('-----------------')
+  Ns = Nstates(jj) 
+  [tmex(jj),y,x] = do_a_run(Nruns, Nsamples, Ns, Nstatesout, Ninputs, Noutputs);
+  [tmat(jj),y,x] = do_a_run_mat(Nruns, Nsamples, Ns, Nstatesout, Ninputs, Noutputs);
+  tmex(jj)
+  tmat(jj)
+  drawnow
+end
+
+%%
+figure
+plot(Nstates, tmex, 'r-', Nstates, tmat, 'b-');
+legend('mex', 'matlab');
+ylabel('Run-time [s]');
+xlabel('Nstates')
+s = sprintf('Nsamples=%d, Ninputs=%d, Noutputs=%d', Nsamples, Ninputs, Noutputs);
+title(s)
+
+
+%% Run-time Vs Inputs
+
+Nsamples   = 10000;
+Nstatesout = 1;
+Ninputs    = 1:2:100;
+Noutputs   = 10;
+Nruns      = 10;
+Nstates    = 10;
+tmex = zeros(length(Ninputs),1);
+tmat = zeros(length(Ninputs),1);
+for jj=1:length(Ninputs)
+  
+  disp('-----------------')
+  Ni = Ninputs(jj) 
+  [tmex(jj),y,x] = do_a_run(Nruns, Nsamples, Nstates, Nstatesout, Ni, Noutputs);
+  [tmat(jj),y,x] = do_a_run_mat(Nruns, Nsamples, Nstates, Nstatesout, Ni, Noutputs);
+  tmex(jj)
+  tmat(jj)
+  drawnow
+end
+
+%%
+figure
+plot(Ninputs, tmex, 'r-', Ninputs, tmat, 'b-');
+legend('mex', 'matlab');
+ylabel('Run-time [s]');
+xlabel('Ninputs')
+s = sprintf('Nsamples=%d, Nstates=%d, Noutputs=%d', Nsamples, Nstates, Noutputs);
+title(s)
+
+
+%% Run-time Vs Outputs
+
+Nsamples   = 1000;
+Nstatesout = 1;
+Ninputs    = 2;
+Noutputs   = 1:2:100;
+Nruns      = 10;
+Nstates    = 10;
+tmex = zeros(length(Noutputs),1);
+tmat = zeros(length(Noutputs),1);
+for jj=1:length(Noutputs)
+  
+  disp('-----------------')
+  No = Noutputs(jj) 
+  [tmex(jj),y,x] = do_a_run(Nruns, Nsamples, Nstates, Nstatesout, Ninputs, No);
+  [tmat(jj),y,x] = do_a_run_mat(Nruns, Nsamples, Nstates, Nstatesout, Ninputs, No);
+  tmex(jj)
+  tmat(jj)
+  drawnow
+end
+
+%%
+figure
+plot(Noutputs, tmex, 'r-', Noutputs, tmat, 'b-');
+legend('mex', 'matlab');
+ylabel('Run-time [s]');
+xlabel('Noutputs')
+s = sprintf('Nsamples=%d, Nstates=%d, Ninputs=%d', Nsamples, Nstates, Ninputs);
+title(s)