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