multiply spectra by coefficients and return modified object
1 2 3 4 5 |
x |
a colorSpec object with M spectra |
s |
a scalar, an M-vector, or an MxP matrix |
norm |
one of |
For multiply
:
If s
is an MxP matrix, say S, and one thinks of the spectra as
organized in an NxM matrix X,
then the new spectra are defined by the matrix XS, which is NxP.
If the P column names of s
are set, then they are copied to the spectrum names of the output.
Otherwise, default spectrum names are assigned as in colorSpec
.
If s
is an M-vector, then S=diag(s)
is computed and used in the previous sentence.
This has the effect of multiplying spectrum i by s
[i].
If s
is a scalar then every spectrum is multiplied by s
.
The multiplication may produce negative entries, but no check is made for this.
WARNING: An M-vector and an Mx1 matrix may yield quite different results.
For normalize
:
normalize
calls multiply
with s
= an M-vector.
If the norm of a spectrum is 0, then it is left unchanged.
multiply
returns a colorSpec object with the matrix of spectra
of x
multiplied by s
.
normalize
returns a colorSpec object with each spectrum
of x
scaled to have given norm equal to 1.
In both functions, the quantity
and wavelength
are preserved.
If x
is organized as a matrix, and s
is a scalar,
the one can use the simpler and equivalent s*x
.
product
,
quantity
,
wavelength
,
colorSpec
Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.