Mercurial > hg > octave-lyh
comparison scripts/linear-algebra/dmult.m @ 3458:d25bc039237b
[project @ 2000-01-19 09:36:14 by jwe]
author | jwe |
---|---|
date | Wed, 19 Jan 2000 09:36:28 +0000 |
parents | 858695b3ed62 |
children | 38c61cbf086c |
comparison
equal
deleted
inserted
replaced
3457:e031284eea27 | 3458:d25bc039237b |
---|---|
18 ## @deftypefn {Function File} {} dmult (@var{a}, @var{b}) | 18 ## @deftypefn {Function File} {} dmult (@var{a}, @var{b}) |
19 ## If @var{a} is a vector of length @code{rows (@var{b})}, return | 19 ## If @var{a} is a vector of length @code{rows (@var{b})}, return |
20 ## @code{diag (@var{a}) * @var{b}} (but computed much more efficiently). | 20 ## @code{diag (@var{a}) * @var{b}} (but computed much more efficiently). |
21 ## @end deftypefn | 21 ## @end deftypefn |
22 | 22 |
23 ## Author: KH <Kurt.Hornik@ci.tuwien.ac.at> | 23 ## Author: KH <Kurt.Hornik@ci.tuwien.ac.at> |
24 ## Description: Rescale the rows of a matrix | 24 ## Description: Rescale the rows of a matrix |
25 | 25 |
26 function M = dmult (a, B) | 26 function M = dmult (a, B) |
27 | 27 |
28 if (nargin != 2) | 28 if (nargin != 2) |
29 usage ("dmult (a, B)"); | 29 usage ("dmult (a, B)"); |
30 endif | 30 endif |
31 | 31 |
32 s = size (a); | 32 s = size (a); |
33 if ((min (s) > 1) || (max (s) != rows (B))) | 33 if ((min (s) > 1) || (max (s) != rows (B))) |
34 error ("dmult: a must be a vector of length rows (B)"); | 34 error ("dmult: a must be a vector of length rows (B)"); |
35 endif | 35 endif |
36 | 36 |
37 M = (reshape (a, max (s), 1) * ones (1, columns (B))) .* B; | 37 M = (reshape (a, max (s), 1) * ones (1, columns (B))) .* B; |
38 | 38 |
39 endfunction | 39 endfunction |