diff --git a/matlab/missing/mex/mjdgges/mjdgges.m b/matlab/missing/mex/mjdgges/mjdgges.m index 85f2b78a44282f74d928a607187ed6fb32d18a6b..56956180690e102d4dbccd1b4d02019adc893cf5 100644 --- a/matlab/missing/mex/mjdgges/mjdgges.m +++ b/matlab/missing/mex/mjdgges/mjdgges.m @@ -39,8 +39,8 @@ if nargin > 5 || nargin < 2 || nargout > 7 || nargout == 0 error('MJDGGES: takes 2, 3 or 4 input arguments and between 1 and 7 output arguments.') end -if isoctave - error('Octave unsupported, since it does not have real qz') +if isoctave && octave_ver_less_than('7') + error('Octave version 7 or higher is required (Octave 6 lacks the ordqz function)') end [me, ne] = size(e); @@ -56,7 +56,11 @@ end info = 0; try - [ss, tt, qq, zz] = qz(e, d, 'real'); + if isoctave + [ss, tt, qq, zz] = qz(e, d); + else + [ss, tt, qq, zz] = qz(e, d, 'real'); + end eigval = ordeig(ss, tt); select = abs(eigval) < qz_criterium; sdim = sum(select); @@ -82,4 +86,4 @@ catch t(1) = 0; end T = all(t); -%@eof:1 \ No newline at end of file +%@eof:1