1 namespace spacereduction{
82 error(
" Rotation decorator must be given an underlying space reduction class. ");
84 if ~strcmp(s.TargetDimensions,
" : ")
85 error(
" Rotation decorator not implemented for partial reduction (ReducableDims != :) ");
108 [V, W] = this.sp.generateReducedSpaceImpl(model, subset);
115 warning(
" KerMor:spacereduction:RotationDecorator ",
" Too large Dims property (%d) for full space dimension %d, setting to %d ",this.
Dims,n,floor(n/2));
116 this.
Dims= floor(n/2);
118 R = spdiags(ones(n,1),0,n,n);
119 for idx = 1:this.
Dims
120 Q = spdiags(ones(n,1),0,n,n);
126 Q(idx1,idx1) = cos(this.
Degree);
127 Q(idx1,idx2) = -sin(this.
Degree);
128 Q(idx2,idx1) = sin(this.
Degree);
129 Q(idx2,idx2) = cos(this.
Degree);
RotationDecorator(s)
Creates a new rotation decorator Parameters: s: Subclass of spacereduction.BaseSpaceReducer.
The base class for any KerMor detailed model.
RotationDecorator: Decorator for any other space reducer which rotates the resulting matrix...
function registerProps(varargin)
Call this method at any class that defines DPCM observed properties.
function [ V , W ] = generateReducedSpaceImpl(models.BaseFullModel model, subset)
Computes the subspace given by the underlying subspace reduction class but then rotates for Dims time...
Dims
Number of dimensions to rotate by Degree.
Base class for all space reduction algorithms.