2014-04-08 2 views
0

나는 매우 이상하지만 아주 중요한 질문이 있습니다. 그래서 자유 분이 있으면 다음 문장을 읽으십시오.smbd가 실제 값에서 가상 값으로 변환하는 데 도움이 될 수 있습니다.

나의 임무는 다음과 같습니다. 도로에서 들어오고 나가는 차량의 값 (시간)을 생성합니다. 그리고 현실 세계에서 나는 몇 가지 변수를 가지고 있습니다 : 도로 길이 (2000 미터), av.l. (6 시간), 실험 시간 (12 시간), 들어오고 나갈 교통의 강도 (1 시간 안에 자동차의 양)에 대한 정보를 제공합니다.
루프에서의 시간이 10 단위라는 것을 알고 이러한 변수를 모두 컴퓨터로 변환해야합니다. 1 루프가 1 단계입니다.

10 units = 12 hours 
1 units = 1.2 hours (72 minutes) 
1 minutes = 0.013888.. 

그래서 모든 강도에 1.2를 곱해야합니까? 안 그래요? 또한 programm에 길의 길이를 입력하는 방법을 알지 못합니다. 나는 2000 년에 들어가야 하는가 그렇지 않으면 ... 할 수 있으면, 도와주세요. 나는 개체의 도로 길이의 길이를 입력해야합니다 어떤 변수 알고 싶어

//step=1.0; T=10.0; 
for (double i = step; i <= T; i += step) 
     {... 
     tin = RandTime(ran, lambdaTat3); 
     Tin += tin; 
     ... 
     CarCount=333; //2000/6. Is it right????? Maybe 333/6 
     if (CarCount3 < CarCount) //if the road is not full 
        {... 
         CarCount3++; 
         tInArrTat1.Add(Tin); 
         tout = RandTimeOut(ran, mu3); 
         Tout = Tin + tout; 
         ...} 
     else {Error++;} 
     } 

:

여기에 생성 임의의 숫자

static double RandTimeIn(Random ran, int lambdaMu) 
    { 
     double t = 0, r = 0; 
     r = ran.NextDouble(); 
     t = (-1) * Math.Log(r, Math.E)/lambdaMu; 
     t *= 60.0/72.0; 
     return t; 
    } 
    static double RandTimeOut(Random ran, int Mu) //t from [1.5; 12] 
    { 
     double t = 0, r = 0; 
     t = 1.5 + ran.NextDouble() * (12.0 - 1.5); 
     t *= 1.0/72.0; 
     return t; 
    } 

메인 풀의 기능입니다.

+0

이미 시도한 코드를 표시 할 수 있습니까? – Carsten

+0

@Aschratt 참조하시기 바랍니다. 나는 덧붙였다. – Maria

+0

코드로이 문제를 분명히 해결하려고해도이 문제의 수학 부분을 Mathematica 스택 교환에 게시하는 것을 고려해보십시오. 나는이 사이트에 대해 주제를 벗어난 것으로 생각하지 않지만 더/더 나은 답변을 얻을 수도 있습니다 :) – BradleyDotNET

답변

1

현실 세계 데이터를 완벽한 가상 데이터로 변환하는 실제 사전 정의 된 방법은 없습니다.

실제로 데이터에서 벗어나려고 노력하고있는 것 (더 구체적으로 대답하는 방법과 알고리즘이 얼마나 효율적인지에 따라 결정됩니다.) 또한 입력 하루 (또는 12 시간), 나는 그렇게 생각하지 않을 것이다 (그러나 그것은 단지 추측이다). 유형 double은 실용적인 응용 프로그램에 가장 적합한 정밀도를 제공합니다 (부동 소수점 오류에 대한주의 사항, 익숙하지 않은 경우 명확하게 살펴보십시오). 정확하게 (더 많은 것을 의미하는) 더 자세한 내용이 필요하면 BigIntBigRational (어쩌면)을보십시오. WARNIGN, 당신이 정밀도를 필요로하지 않는다면 이것들은 대개 사용하는 번거 로움이 될 것입니다. 이것들을 사용하면 과도하게 사용하게 될 것입니다.

일반적으로 말하는 경우 표준에 충실하기 만하면됩니다 (의미가 무엇이든간에 필요한 것을 의미합니다). 다음으로해야 할 일은 표준)을 사용하기로 결정했습니다.

(ASSUME /은 "또는"을 의미합니다.) 수학적으로 말하면, 모든 길이를 미터로 그대로두고 속도와 주파수에 대해 미터당/미터당/시간당 자동차를 준수 할 수 있습니다. 단위 별 측정을 원한다면 10을 나누면됩니다. 시간 단위로 나누려면 12로 나누십시오. 단위/시간으로 모든 것을 버렸으므로 속도를 나눠서 시간을 구하십시오. 자동차가 길의 길이에 머무를 시간 (각 평균 속도로가는 경우)에 대한 단위/시간.