Mercurial > hg > octave-lyh
changeset 7415:2da391ef7f55
[project @ 2008-01-24 07:40:58 by jwe]
author | jwe |
---|---|
date | Thu, 24 Jan 2008 07:40:58 +0000 |
parents | 905bceea061b |
children | a7a987b229b7 |
files | scripts/ChangeLog scripts/linear-algebra/trace.m |
diffstat | 2 files changed, 9 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,7 @@ +2008-01-24 Schloegl Alois <alois.schloegl@tugraz.at> + + * linear-algebra/trace.m: Require 2-d args. Handle vectors properly. + 2008-01-22 Thomas Weber <thomas.weber.mail@gmail.com> * linear-algebra/cond.m, linear-algebra/trace.m:
--- a/scripts/linear-algebra/trace.m +++ b/scripts/linear-algebra/trace.m @@ -30,8 +30,11 @@ print_usage (); endif - [nr, nc] = size (x); - if (nr == 1 || nc == 1) + if (ndims (x) > 2) + error ("trace: only valid on 2-D objects"); + elseif (isempty (x)) + y = 0; + elseif (any (size (x) == 1)) y = x(1); else y = sum (diag (x)); @@ -40,12 +43,8 @@ endfunction %!assert(trace ([1, 2; 3, 4]) == 5); - %!assert(trace ([1, 2; 3, 4; 5, 6]) == 5); - %!assert(trace ([1, 3, 5; 2, 4, 6]) == 5); - %!error trace (); - %!error trace (1, 2);