대략 27%의 경우 k=-15. 다른 경우에는 k=-16입니다. 따라서 질문: (string)Matrix[i][j] 연산을 보다 엄격한 변환 함수로 대체할 수 있습니까? 아니면 소수 자릿수를 잘라내는 기능이 있습니까? NormalizeDouble 이 옳지 않고 1.12345678e-40을 0으로 자르지만 쉼표 뒤에 잘라내고 싶었습니다. 아니면 (문자열)으로의 변환이 그 자체로 살아있고 함수로 표현되지 않습니까? 고맙습니다.
아, 이해합니다. 아니요, 질문이 조금 다릅니다. 여기에서의 비교는 (double)((string)Matrix[i][j]);DoubleToString 을 통해 변환합니다. 사실, 과제는 비교하는 것이 아닙니다. 그러나 그러한 이중 변환을 통해 정확도가 약간 재설정됩니다. 그리고 한편으로는 (문자열) 절단을 반복할 수 있고 다른 한편으로는 DoubleToString 과 같이 절단 정확도를 제어하고 싶습니다.
음, 부수적인 질문으로, 이러한 개종은 실제로 다르게 이루어지고 그들 자신의 분리되고 관련되지 않은 삶을 살고 있습니까?
아, 이해합니다. 아니요, 질문이 조금 다릅니다. 여기에서의 비교는 (double)((string)Matrix[i][j]);DoubleToString 을 통해 변환합니다. 사실, 과제는 비교하는 것이 아닙니다. 그러나 그러한 이중 변환을 통해 정확도가 약간 재설정됩니다. 그리고 한편으로는 (문자열) 절단을 반복할 수 있고 다른 한편으로는 DoubleToString 과 같이 절단 정확도를 제어하고 싶습니다.
음, 부수적인 질문으로, 이러한 개종은 실제로 다르게 이루어지고 그들 자신의 분리되고 관련되지 않은 삶을 살고 있습니까?
NormalizeDouble 및 DoubleToString이 당신을 만족시키지 못하는 이유가 무엇인지 명확하지 않습니다. 원하는 정확도가 있습니까? 아니면 어떤 종류의 정확도를 원하지만 무엇을 모릅니다.
작업이 완전히 투명하지 않다는 데 동의합니다. 시험을 위해 일종의 목발을 조립하려고 하기 때문입니다.
숫자 1.0123456789e-50이 있다고 가정해 보겠습니다. 다음과 같이 약간의 정밀도로 반올림해야 합니다.
1. 기본적으로 (문자열)을 통한 이중 변환으로 작동합니다.
2. 원하는 경우 정확도를 제어할 수 있습니다.
여기에서 NormalizeDouble 은 적합하지 않으며 단순히 이 숫자를 0으로 만듭니다. DoubleToString 에서는 1단계의 결과를 반복할 수 없습니다.
작업은 다음 질문에서 성장합니다. 위에서 썼듯이 매트릭스가 있습니다. 이 행렬의 역행렬이 계산됩니다. 때때로(배정밀도 제한으로 인한 오류로 인해) 행렬이 퇴화되어 역행렬을 계산하는 것이 불가능합니다. 그러나 정확도가 약간 줄어들면 역수를 여전히 계산할 수 있습니다. 그래서 나는 결과가 일반적으로 진실과 유사한 한 테스트를 실행하고 통계를 수집하고 싶었습니다. (문자열) 을 통한 이중 변환은 대부분의 경우 문제를 해결합니다. 그러나 때로는 이것으로 충분하지 않으며 정확도를 얼마나 줄일 수 있는지 제어할 수 있기를 원합니다. DoubleToString 은 -16에서 16까지의 정밀도 열거를 사용하더라도 대부분의 경우 문제를 해결하지 못합니다.
약 10e60의 큰 값과 1e-40과 같은 작은 값으로 채워진 행렬이 있습니다. 그리고 그러한 계획에 대한 코드가 있습니다
차이 계수.
차이 계수.
좀 더 구체적으로 말씀해주실 수 있나요? 아마도 코드 예제와 함께? 무엇과 무엇의 차이점은 무엇입니까?
결론은 이러한 이중 변환 (double)((string)Matrix[i][j]); 쉼표 뒤의 제어되지 않은 수의 문자를 자릅니다. 한편으로는 이 컷오프 = 반복할 수 있고 다른 한편으로는 이 문자 수를 제어하고 싶습니다.
좀 더 구체적으로 말씀해주실 수 있나요? 아마도 코드 예제와 함께? 무엇과 무엇의 차이점은 무엇입니까?
아, 이해합니다. 아니요, 질문이 조금 다릅니다. 여기에서의 비교는 (double)((string)Matrix[i][j]); DoubleToString 을 통해 변환합니다. 사실, 과제는 비교하는 것이 아닙니다. 그러나 그러한 이중 변환을 통해 정확도가 약간 재설정됩니다. 그리고 한편으로는 (문자열) 절단을 반복할 수 있고 다른 한편으로는 DoubleToString 과 같이 절단 정확도를 제어하고 싶습니다.
음, 부수적인 질문으로, 이러한 개종은 실제로 다르게 이루어지고 그들 자신의 분리되고 관련되지 않은 삶을 살고 있습니까?
아, 이해합니다. 아니요, 질문이 조금 다릅니다. 여기에서의 비교는 (double)((string)Matrix[i][j]); DoubleToString 을 통해 변환합니다. 사실, 과제는 비교하는 것이 아닙니다. 그러나 그러한 이중 변환을 통해 정확도가 약간 재설정됩니다. 그리고 한편으로는 (문자열) 절단을 반복할 수 있고 다른 한편으로는 DoubleToString 과 같이 절단 정확도를 제어하고 싶습니다.
음, 부수적인 질문으로, 이러한 개종은 실제로 다르게 이루어지고 그들 자신의 분리되고 관련되지 않은 삶을 살고 있습니까?
NormalizeDouble 및 DoubleToString이 당신을 만족시키지 못하는 이유가 무엇인지 명확하지 않습니다. 원하는 정확도가 있습니까? 아니면 어떤 종류의 정확도를 원하지만 무엇을 모릅니다.
작업이 완전히 투명하지 않다는 데 동의합니다. 시험을 위해 일종의 목발을 조립하려고 하기 때문입니다.
숫자 1.0123456789e-50이 있다고 가정해 보겠습니다. 다음과 같이 약간의 정밀도로 반올림해야 합니다.
1. 기본적으로 (문자열)을 통한 이중 변환으로 작동합니다.
2. 원하는 경우 정확도를 제어할 수 있습니다.
여기에서 NormalizeDouble 은 적합하지 않으며 단순히 이 숫자를 0으로 만듭니다. DoubleToString 에서는 1단계의 결과를 반복할 수 없습니다.
작업은 다음 질문에서 성장합니다. 위에서 썼듯이 매트릭스가 있습니다. 이 행렬의 역행렬이 계산됩니다. 때때로(배정밀도 제한으로 인한 오류로 인해) 행렬이 퇴화되어 역행렬을 계산하는 것이 불가능합니다. 그러나 정확도가 약간 줄어들면 역수를 여전히 계산할 수 있습니다. 그래서 나는 결과가 일반적으로 진실과 유사한 한 테스트를 실행하고 통계를 수집하고 싶었습니다. (문자열) 을 통한 이중 변환은 대부분의 경우 문제를 해결합니다. 그러나 때로는 이것으로 충분하지 않으며 정확도를 얼마나 줄일 수 있는지 제어할 수 있기를 원합니다. DoubleToString 은 -16에서 16까지의 정밀도 열거를 사용하더라도 대부분의 경우 문제를 해결하지 못합니다.
말해 주세요.
표시기에서 예를 들어 시리즈의 순서입니다. close[]는 ArraySetAsSeries()에 의해 한 번 또는 다른 방법으로 설정됩니까?
이것은 OnCalculate()에서 수행됩니까 아니면 OnInit()에서 수행할 수 있습니까?
나는 이상한 상황에 빠졌습니다.
첫 번째 틱에 진입할 때 AS_SERIES에 의해 설정된 close[]의 순서는 자연스럽게 다음 틱에서 정상으로 변경됩니다. !AS_SERIES.
코드에서 무엇과 연결되어 있는지 찾지 못했습니다.
말해 주세요.
표시기에서 예를 들어 시리즈의 순서입니다. close[]는 ArraySetAsSeries()에 의해 한 번 또는 다른 방법으로 설정됩니까?
이것은 OnCalculate()에서 수행됩니까 아니면 OnInit()에서 수행할 수 있습니까?
나는 이상한 상황에 빠졌습니다.
첫 번째 틱에 진입할 때 AS_SERIES에 의해 설정된 close[]의 순서는 자연스럽게 다음 틱에서 정상으로 변경됩니다. !AS_SERIES.
코드에서 무엇과 연결되어 있는지 찾지 못했습니다.
그리고 OnInit()에서는 close[] 배열을 볼 수 없습니다. 그리고 다른 OnCalculate() 미리 정의된 매개 변수 는 없습니다.
따라서 출력은 OnCalculate()에서만 가능합니다.
그리고 OnInit()에서는 close[] 배열을 볼 수 없습니다. 그리고 다른 OnCalculate() 사전 정의된 매개변수는 없습니다.
따라서 출력은 OnCalculate()에서만 가능합니다.
나는 같은 결론에 이르렀다. )))
이 순서를 한 번 설정하는 것으로 충분한지 또는 매 틱마다 수행되어야 하는지 여부를 알아내는 것이 남아 있습니다.