2011-02-02 9 views
6

변수가 double 유형 인 경우 float이 필요합니다. 변수가 float이되도록 강제하는 방법이 있습니까? 또한 이중 함수가 아닙니다. 주요 함수의 시작 부분에 몇 줄의 모든 함수와 하위 함수를 전역 적으로 처리하는 방법이 있습니까? 나는 많은 함수를 가지고 있으며, 많은 임시 변수를 사용하고 리턴하는 변수를 만든다. 모든 기능을 수행하고 변경하는 것은 매우 어려울 것입니다. 변수 유형을 MATLAB에 강제 적용

이 요청에 대한 내 합리적인

:

내가 다음 하드웨어에 구현하는 것이다 알고리즘을 시뮬레이션하기 위해 MATLAB 프로그램을 쓰고 있어요, 내 신호의 크기가 32 비트를 사용 있는지 확인하려면 계산 오류가 발생하지 않습니다.

+2

Hmmm ... "형식 변환"은 Matlab에서 가능합니다. http://www.mathworks.com/help/techdoc/ref/typecast.html을 참조하십시오. 나는 그것을 세계적으로 적용하는 것에 대해 확신하지 못하지만, 이런 종류의 소리는 http://www.mathworks.com/help/techdoc/matlab_oop/br2vkky.html에 도움이 될 것입니다. http://www.mathworks.com/help/techdoc/matlab_oop/brglmxp.html –

답변

6

는 매트랩 "수레"를 만듭니다.

Matlab을 "float"환경으로 전역 적으로 변환 할 수있는 방법은 없습니다. 대부분의 하위 수준 함수는에 대한 도움말에서 언급 한 것과 같이 몇 가지 예외를 제외하고 single에 대해서도 구현되지만 많은 고급 기본 제공 함수는 double에서만 작동합니다.

즉, 변수를 수동으로 single으로 정의해야하므로 변수가 자동으로 double으로 변환되지 않았는지 주기적으로 확인해야하며 결국에는 코드가 작동하지 않을 수 있습니다. single에는 아직 구현되지 않은 기능이 필요합니다.

4

'float'에 해당하는 MATLAB은 'single'입니다.

B = single(A). 

즉,이 값이 32 비트라고 가정하면 다시 방문해야 할 수도 있습니다. 그것만큼 간단하지 않습니다. 이러한 B=zeros(3,3,'single')를 호출하여 같은 SINGLE로 @cbz, 또는 정의 배열에 의해 제안 B=single(A)를 사용

관련 문제