poster
2019-12-03, 10:40
我有一个.mat文件,其中有六列,每个列有一百个数据。我想编写一个函数,该函数将前三列(B,C,D)的每一行与3 x 3矩阵相乘,其中该矩阵是根据sin和cos值计算的,后来包括第四行至第六行(A,E ,F)作为矩阵的最后一列。但是,我没有得到所需的输出。
clear all clc [a] = xlsread('C:Desktop\Book1.xlsx') save data a; matObj = matfile('data.mat'); B = matObj.a(:,1); C = matObj.a(:,2); D = matObj.a(:,3); DX = matObj.a(:,4); DY = matObj.a(:,5); DZ = matObj.a(:,6); rx = [1 0 0; 0 cos(B) -sin(B); 0 sin(B) cos(B)]; ry = [cos(C) 0 sin(C); 0 1 0; -sin(C) 0 cos(C)]; rz = [cos(D) -sin(D) 0; sin(D) cos(D) 0; 0 0 1]; for i = (matObj.a(2,:)):(matObj.a(99,:)) r(i) = (rx*B)+(ry*C)+(rz*D); end %t = [A; E; F]; %T = (r, t)
更多&回答... (https://stackoverflow.com/q/59149351)
clear all clc [a] = xlsread('C:Desktop\Book1.xlsx') save data a; matObj = matfile('data.mat'); B = matObj.a(:,1); C = matObj.a(:,2); D = matObj.a(:,3); DX = matObj.a(:,4); DY = matObj.a(:,5); DZ = matObj.a(:,6); rx = [1 0 0; 0 cos(B) -sin(B); 0 sin(B) cos(B)]; ry = [cos(C) 0 sin(C); 0 1 0; -sin(C) 0 cos(C)]; rz = [cos(D) -sin(D) 0; sin(D) cos(D) 0; 0 0 1]; for i = (matObj.a(2,:)):(matObj.a(99,:)) r(i) = (rx*B)+(ry*C)+(rz*D); end %t = [A; E; F]; %T = (r, t)
更多&回答... (https://stackoverflow.com/q/59149351)