V_ROTMC2QC converts a matrix of complex quaternion matrices to a matrix of complex quaternion vectors Inputs: MC(2m,2n,...) mxn matrix of real quaternion matrices (each 2x2) Outputs: QC(2m,n,...) mxn matrix of real quaternion vectors (each 2x1) In matrix form, quaternions can be multiplied and added using normal matrix arithmetic. Each element of an mxn matrix of quaternions is itself a 2x2 block so the total dimension of MC is 2m x 2n.
0001 function qc=v_rotmc2qc(mc) 0002 %V_ROTMC2QC converts a matrix of complex quaternion matrices to a matrix of complex quaternion vectors 0003 % Inputs: 0004 % 0005 % MC(2m,2n,...) mxn matrix of real quaternion matrices (each 2x2) 0006 % 0007 % Outputs: 0008 % 0009 % QC(2m,n,...) mxn matrix of real quaternion vectors (each 2x1) 0010 % 0011 % In matrix form, quaternions can be multiplied and added using normal matrix 0012 % arithmetic. Each element of an mxn matrix of quaternions is itself a 2x2 block 0013 % so the total dimension of MC is 2m x 2n. 0014 0015 % 0016 % Copyright (C) Mike Brookes 2000-2018 0017 % Version: $Id: v_rotmc2qc.m 10865 2018-09-21 17:22:45Z dmb $ 0018 % 0019 % VOICEBOX is a MATLAB toolbox for speech processing. 0020 % Home page: http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.html 0021 % 0022 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0023 % This program is free software; you can redistribute it and/or modify 0024 % it under the terms of the GNU General Public License as published by 0025 % the Free Software Foundation; either version 2 of the License, or 0026 % (at your option) any later version. 0027 % 0028 % This program is distributed in the hope that it will be useful, 0029 % but WITHOUT ANY WARRANTY; without even the implied warranty of 0030 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0031 % GNU General Public License for more details. 0032 % 0033 % You can obtain a copy of the GNU General Public License from 0034 % http://www.gnu.org/copyleft/gpl.html or by writing to 0035 % Free Software Foundation, Inc.,675 Mass Ave, Cambridge, MA 02139, USA. 0036 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0037 s=size(mc); 0038 s(2)=s(2)/2; % half the size of dimension 2 0039 mc=reshape(mc,s(1),[]); 0040 qc=reshape(mc(:,1:2:end),s); 0041 if ~nargout 0042 v_rotqr2ro([real(qc(1)); real(qc(2)); imag(qc(1)); imag(qc(2))]); % plot a rotated cube 0043 end