2013-04-23 2 views
1

몇 가지 옵션을 사용하여 Matlab의 메모리 사용량을 줄일 수 있는지 궁금합니다. 작업 공간에서 변수를 클릭하면 대부분의 경우 필요하지 않은 긴 숫자가 표시됩니다. 예를 들어, 저 25.054091에 대한메모리 최적화

[20, 25.0540913632159, 16.2750000000000, 3.08852992798468]; 

괜찮보다 더 할 수있다. Matlab이 내부 계산을 위해 숫자를 줄이는 것과 어떤 차이가 있는지에 대한 옵션이 있습니까?

+0

아마도이 부분적으로 질문에 대답 할 수 있습니다. http://www.mathworks.com/matlabcentral/answers/47142 (이 "메모리 최적화"가 실제로 가치가 있는지 스스로에게 물어보십시오.) – ShinTakezou

+0

요즘 대부분의 PC는 메모리가 너무 많아서 여기 저기에 약간의 비트를 낭비하는 것에 신경 쓸 필요가없는 사치. 이 길을 계속 따라 가면 곧 알게 되겠지만, 이것은 배려 할 가치가있어 진정으로 가치있는 사치입니다. –

답변

1

현대 PC의 사용 부동 소수점 숫자이 아닌 정수 값을 계산합니다.

두 가지 표준 변형 인 floatdouble이 있으며, 후자는 전자의 두 배입니다.

matlab에, 기본 사용 (복잡한) 모든 계산 double들에 의해.

당신은 float를 사용하도록 강제 할 수 있습니다 (또는 매트랩, single 그들을 호출로) 유형을 specifiying 기준 :

a = single([20, 25.0540913632159, 16.2750000000000, 3.08852992798468]); 

이 절반 메모리를 사용해야하고, 또는하지 않을 수 있습니다 당신이 어떤 정밀도를 잃을 귀하의 응용 프로그램에서 중요합니다. 실행 속도가 느려질 수 있으므로 (내장 함수가 double에서만 작동하므로 추가로 두 번 변환해야하기 때문에) 최적화를 수행하기 전에 그만한 가치가 있는지 확인하십시오.

+1

Matlab은'float'을'single'로 참조하기 때문에 변환은'a = single ([numbers here]); ' – Alan

+0

@ Alan : 감사합니다. 결정된. – rubenvb