Mercurial > octave-nkf
diff scripts/linear-algebra/__norm__.m @ 7101:2c5b14c60c6c
[project @ 2007-11-06 16:26:13 by jwe]
author | jwe |
---|---|
date | Tue, 06 Nov 2007 16:26:13 +0000 |
parents | a1dbe9d80eee |
children | a627f27c1e8e |
line wrap: on
line diff
--- a/scripts/linear-algebra/__norm__.m Mon Nov 05 23:42:01 2007 +0000 +++ b/scripts/linear-algebra/__norm__.m Tue Nov 06 16:26:13 2007 +0000 @@ -40,11 +40,11 @@ endif ## Do we have a vector or matrix as the first argument? - if (ndims(x) == 2 && (rows (x) == 1 || columns (x) == 1)) if (ischar (p)) if (strcmp (p, "fro")) - retval = sqrt (sum (abs (x) .^ 2)); + inf_norm = norm (x, "inf") + retval = inf_norm .* sqrt (sum (abs (x ./ inf_norm) .^ 2)); elseif (strcmp (p, "inf")) retval = max (abs (x)); else @@ -69,7 +69,8 @@ else if (ischar (p)) if (strcmp (p, "fro")) - retval = sqrt (sum (sum (abs (x) .^ 2))); + inf_norm = norm (x, "inf") + retval = inf_norm .* sqrt (sum (sum (abs (x ./ inf_norm) .^ 2))); elseif (strcmp (p, "inf")) retval = max (sum (abs (x'))); else