Matlab에 약간의 문제가 있습니다. Matlab 정밀도와 관련이 있다고 생각하지만,이 문제를 해결하고 싶습니다. 세 개의 행렬이 있습니다. 하나는 mapping.mean
(차원은 1x3118)이고 다른 하나는 mapping.M
(차원은 3118x100)이라는 차원 296x3118이있는 f
입니다.
다음 작업의 결과는 하나 여야하지만 그렇지 않습니다. 결과 행렬 f_s_1
과 f_s_2
은 10^-12의 범위에서만 다른 값을 갖습니다. 아무도 이유를 알 수 있습니까, 또는 어떻게 해결할 수 있습니까?동일한 행렬 연산이 Matlab에서 다른 결과를 반환합니다.
f_s_1 = ((f(1:296,:)-repmat(mapping.mean,296,1))*mapping.M)';
f_s_2 = ((f(1:295,:)-repmat(mapping.mean,295,1))*mapping.M)';
isequal(f_s_1(:,1:295),f_s_2)
ans =
0
감사를 사용할 때 나는 심지어 같은 대답을 얻었다. – SwatchPuppy