D = rand(3, 3, 3);
rotm1 = rand(3, 3, 2);
for num=1:size(rotm1,3)
for i=1:size(D,3)
res(:,:,i,num)=rotm1(:,:,num)*D(:,:,i)*inv(rotm1(:,:,num))
end
end
res = 3×3
0.9002 -2.0363 2.7581
0.6656 -1.2452 1.7811
0.8181 -1.4991 1.8925
res =
res(:,:,1) =
0.9002 -2.0363 2.7581
0.6656 -1.2452 1.7811
0.8181 -1.4991 1.8925
res(:,:,2) =
1.5371 -1.4070 1.7226
0.8246 -0.8975 1.0903
0.6829 -0.8609 1.3133
res =
res(:,:,1) =
0.9002 -2.0363 2.7581
0.6656 -1.2452 1.7811
0.8181 -1.4991 1.8925
res(:,:,2) =
1.5371 -1.4070 1.7226
0.8246 -0.8975 1.0903
0.6829 -0.8609 1.3133
res(:,:,3) =
1.3354 -0.7292 0.9639
1.1593 -1.0146 0.7818
0.6960 -0.4328 0.5416
res =
res(:,:,1,1) =
0.9002 -2.0363 2.7581
0.6656 -1.2452 1.7811
0.8181 -1.4991 1.8925
res(:,:,2,1) =
1.5371 -1.4070 1.7226
0.8246 -0.8975 1.0903
0.6829 -0.8609 1.3133
res(:,:,3,1) =
1.3354 -0.7292 0.9639
1.1593 -1.0146 0.7818
0.6960 -0.4328 0.5416
res(:,:,1,2) =
1.3686 -0.3571 0.5004
1.2336 -0.3669 0.5307
0.7435 0.2222 0.5458
res(:,:,2,2) =
0 0 0
0 0 0
0 0 0
res(:,:,3,2) =
0 0 0
0 0 0
0 0 0
res =
res(:,:,1,1) =
0.9002 -2.0363 2.7581
0.6656 -1.2452 1.7811
0.8181 -1.4991 1.8925
res(:,:,2,1) =
1.5371 -1.4070 1.7226
0.8246 -0.8975 1.0903
0.6829 -0.8609 1.3133
res(:,:,3,1) =
1.3354 -0.7292 0.9639
1.1593 -1.0146 0.7818
0.6960 -0.4328 0.5416
res(:,:,1,2) =
1.3686 -0.3571 0.5004
1.2336 -0.3669 0.5307
0.7435 0.2222 0.5458
res(:,:,2,2) =
-0.6333 1.7863 0.9094
-0.7118 1.9104 0.7581
-0.0981 0.8321 0.6758
res(:,:,3,2) =
0 0 0
0 0 0
0 0 0
res =
res(:,:,1,1) =
0.9002 -2.0363 2.7581
0.6656 -1.2452 1.7811
0.8181 -1.4991 1.8925
res(:,:,2,1) =
1.5371 -1.4070 1.7226
0.8246 -0.8975 1.0903
0.6829 -0.8609 1.3133
res(:,:,3,1) =
1.3354 -0.7292 0.9639
1.1593 -1.0146 0.7818
0.6960 -0.4328 0.5416
res(:,:,1,2) =
1.3686 -0.3571 0.5004
1.2336 -0.3669 0.5307
0.7435 0.2222 0.5458
res(:,:,2,2) =
-0.6333 1.7863 0.9094
-0.7118 1.9104 0.7581
-0.0981 0.8321 0.6758
res(:,:,3,2) =
-1.6405 2.0044 0.8955
-1.5162 2.1293 0.7556
-0.8241 1.5021 0.3736
res
res =
res(:,:,1,1) =
0.9002 -2.0363 2.7581
0.6656 -1.2452 1.7811
0.8181 -1.4991 1.8925
res(:,:,2,1) =
1.5371 -1.4070 1.7226
0.8246 -0.8975 1.0903
0.6829 -0.8609 1.3133
res(:,:,3,1) =
1.3354 -0.7292 0.9639
1.1593 -1.0146 0.7818
0.6960 -0.4328 0.5416
res(:,:,1,2) =
1.3686 -0.3571 0.5004
1.2336 -0.3669 0.5307
0.7435 0.2222 0.5458
res(:,:,2,2) =
-0.6333 1.7863 0.9094
-0.7118 1.9104 0.7581
-0.0981 0.8321 0.6758
res(:,:,3,2) =
-1.6405 2.0044 0.8955
-1.5162 2.1293 0.7556
-0.8241 1.5021 0.3736
R = reshape(rotm1, 3, 3, 1, []);
res = pagemrdivide(pagemtimes(R, D), R)
res =
res(:,:,1,1) =
0.9002 -2.0363 2.7581
0.6656 -1.2452 1.7811
0.8181 -1.4991 1.8925
res(:,:,2,1) =
1.5371 -1.4070 1.7226
0.8246 -0.8975 1.0903
0.6829 -0.8609 1.3133
res(:,:,3,1) =
1.3354 -0.7292 0.9639
1.1593 -1.0146 0.7818
0.6960 -0.4328 0.5416
res(:,:,1,2) =
1.3686 -0.3571 0.5004
1.2336 -0.3669 0.5307
0.7435 0.2222 0.5458
res(:,:,2,2) =
-0.6333 1.7863 0.9094
-0.7118 1.9104 0.7581
-0.0981 0.8321 0.6758
res(:,:,3,2) =
-1.6405 2.0044 0.8955
-1.5162 2.1293 0.7556
-0.8241 1.5021 0.3736