1

importdata を使用してヘッダーを取り除き、ファイルをワークスペースにインポートしています。

このファイルには、回転行列と平行移動ベクトルが含まれています。私の matlab スクリプトでは、回転行列を四元数に変換します。私の出力ファイルには、クォータニオンと平行移動ベクトルが必要です。つまり、回転行列の古い値をクォータニオンの新しい値に置き換えたいと考えています。

ただし、クォータニオンをコマンド ウィンドウに出力することしかできませんが、値を置き換える方法がわかりません。

これが私のコードです:

path = '\filepath';
[head DELIM NHEADERLINES] = importdata([path],' ',9);
Rotation = head.data(:,1:9); 
Translation = head.data(:,10:12); 
RotationMatrix= zeros([3 3 size(Rotation,1)]);

for i=1:size(Rotation,1)
RotationMatrix(:,:,i) = [Rotation(i,1:3); Rotation(i,4:6); Rotation(i,7:9)];
end

Quaternion = SpinCalc('DCMtoQ',RotationMatrix,0.1,0);

元のファイルにクォータニオンを取得し、回転行列を上書きするにはどうすればよいですか? よろしくお願いします。

4

1 に答える 1