Index: mttroot/mtt/bin/trans/m/mtt2sys.m ================================================================== --- mttroot/mtt/bin/trans/m/mtt2sys.m +++ mttroot/mtt/bin/trans/m/mtt2sys.m @@ -10,39 +10,36 @@ ## Copyright (C) 2000 by Peter J Gawthrop if nargin<1 error("missing system name, usage: sys = mtt2sys (Name)"); - else - ## Create function names - numpar_name = sprintf("%s_numpar",Name); - sm_name = sprintf("%s_sm",Name); - struc_name = sprintf("%s_struc",Name); + else + ## Create function names + numpar_name = sprintf("%s_numpar",Name); + sm_name = sprintf("%s_sm",Name); + struc_name = sprintf("%s_struc",Name); endif if nargin<2 # Use predefined parameters - if exist(numpar_name)!=2 # Check file exists -# error("File %s.m does not exist: use to create it",\ -# numpar_name,Name); - mtt(Name,"numpar"); - endif - eval(sprintf("par=%s_numpar;", Name)); # Parameters - endif - - ## Check files exist - if exist(sm_name)!=2 -# error("File %s.m does not exist: use to create it",\ -# sm_name,Name); - mtt(Name,"sm"); - endif - - if exist(struc_name)!=2 -# error("File %s.m does not exist: use to create it",\ -# struc_name,Name); - mtt(Name,"struc"); - endif - + mtt(Name,"numpar"); + eval(sprintf("par=%s_numpar;", Name)); # Parameters + mtt(Name,"sm"); # Create state matrices + mtt(Name,"struc"); # Create structure info + mtt(Name,"sympar"); # Create sympar details + else # Only create other file if not there + if exist(sm_name)!=2 + mtt(Name,"sm"); # Create state matrices + endif + + if exist(struc_name)!=2 + mtt(Name,"struc"); # Create state matrices + endif + + endif + + + eval(sprintf("[A,B,C,D]=%s_sm(par);", Name)); # State matrices sys = ss2sys(A,B,C,D); # Sys form eval(sprintf("[sys.inname,sys.outname,sys.stname]=%s_struc;", Name)); # Setup names endfunction