MATLAB - 制作四元数数据数组

MATLAB - Make an array of quaternions data

我想用一组四元数数据创建一个数组,我想在一个循环中填充该数组。问题是我无法使用常规方式来填充四元数数据来填充数组。 我怎样才能正确?

这是我试过的

for ii=1:size(acc,1)
    %  quaternion data
    qahrs = ifilt(acc(ii,:), gyro(ii,:), mag(ii,:));
    %     supposed to be an array of quaternions
    orientation(ii) = qahrs;
end

这取决于您的四元数数据的维度。如果单个四元数是 (4x1) 那么:

orientation = zeros(4,n)
for ii=1:size(acc,1)
    %  quaternion data
    qahrs = ifilt(acc(ii,:), gyro(ii,:), mag(ii,:));
    %     supposed to be an array of quaternions
    orientation(:,ii) = qahrs;
end

如果是 (1x4)

orientation = zeros(n,4)
for ii=1:size(acc,1)
    %  quaternion data
    qahrs = ifilt(acc(ii,:), gyro(ii,:), mag(ii,:));
    %     supposed to be an array of quaternions
    orientation(ii,:) = qahrs;
end

我假设n是四元数的个数

伙计们,我已经解决了! 这是解决方案

orientation = zeros('quaternion');
for ii=1:size(accCopy,1)
    qahrs = ifilt(accCopy(ii,:), gyro(ii,:), mag(ii,:));
    orientation(ii,1) = qahrs;
end