2017-10-09 1 views
0

vertcat을 사용하여 1을 추가하거나 ([A; B]과 함께 정기적으로 추가를 사용하는) MATLAB (R2016a)에서 매우 이상한 버그가 발생하여 행렬이 축소 된 행렬이됩니다. 다음과 같이 열 결과Matlab은 행렬을 추가 할 때 오류가있는 배열 값을 변경합니다.

temp = ones([1,307200]); new_coords = vertcat(world_coords, temp); new_coords

: 0.0001 대신 만 수정하여 문제를 사람의 행렬을 곱하지만 0.0001 대신 여기에 1의 첨부되고있는 이유를 알고 싶습니다 1의 코드입니다 출력 중 :

0.4449 0.3673 1.8984 0.0001

world_coords의 유형이 두 배이므로 타입 캐스팅이 문제라고 생각하지 않습니다.

+0

world_coords의 범위 (분 최대) 무엇입니까? 출력 전에 10^4가 없다고 확신합니까? – Irreducible

+0

고마워, 그게 정확히 문제 였어. 문제는 매트릭스가 307200 행을 가지므로 10^4가 나머지 출력에 의해 삼켜지고 있다는 것입니다. 어리석은 문제. 원한다면 당신의 대답을 정확하게 표시 할 수 있습니다. 다시 한번 감사드립니다. – mgrenander

+0

내가 도울 수있어서 다행 – Irreducible

답변

0

내 의견에서 언급했듯이 출력은 world_coords의 값 범위로 인해 조정됩니다. 출력의 첫 번째 줄에 1.0e+4의 배율 인수가 표시되어야합니다.

당신이 예를 들어 출력 형식을 변경할 수 있습니다 자세한 내용은

format long 

참조 : format

관련 문제