Matlab에서 함수를 호출하기 위해 '시간'을 구현하는 방법은 무엇입니까?

Navaeta

Matlab에서 14 개 노드와 21 개 링크로 구성된 네트워크의 트래픽을 시뮬레이션하려고합니다. "New_Connection"이라는 함수와 "Close_connection"이라는 다른 함수가 있습니다.

지금은 'for'루프를 사용하여 트래픽을 구현했습니다. 각 반복에서 소스 노드를 임의로 선택하는 "New_Connection"이라고하며, 대상 노드 및 임의 기간 (이제이 값은 정수)이 실행됩니다. 이 연결은 설정되거나 설정되지 않을 수 있습니다 (잠금).

이후 모든 연결 시간 (배열에 저장 됨)을 확인하고 값이 0이면 연결을 닫는 "Close_connection"함수라고합니다.

마지막으로, 루프가 끝나기 전에 마지막으로 설정된 모든 연결에 대한 임시 단위를 뺍니다.

제가 원하는 것은 시간 (예 : 1 분)을 구현하는 시스템을 사용하여이 시뮬레이션을 수행하고 언제든지 모든 노드가 새로운 연결을 설정하는 것입니다. 예를 들면 :

t=0.000134 s ---- Node1 to Node8
t=0.003024 s ---- Node12 to Node11
t=0.003799 s ---- Node6 to Node3
.
.
.
t=59.341432 s ---- Node1 to Node4

그리고 "Close_Connection"함수는이 시간을 고려하여 연결을 닫습니다.

Simulink, SimEvents, 병렬 컴퓨팅, Discrete 이벤트 시뮬레이션에 대한 정보를 검색했지만 실제로 기능을 이해할 수 없습니다.

미리 감사드립니다. 제 영어에 대해 사과드립니다.

다니엘

.NET과 같은 복잡한 프레임 워크를 사용할 필요가 없습니다 SIMEVENTS. 간단한 작업의 경우 고유 한 이벤트 대기열을 작성할 수 있습니다. 다음 코드는 간단한 시나리오를 구현합니다. T = Uniform (0,10) 초마다 새 연결 만들기, 10 초 후에 연결 삭제

%max duration
SIMTIME=60;
T=0;
NODES=[1:20];
%Constructor for new events. 'Command' is a string, 'data' gives the parameters
MAKEEVENT=@(t,c,d)(struct('time',t,'command',c,'data',{d}));
%create event to end simulation
QUEUE(1)=MAKEEVENT(SIMTIME,'ENDSIM',[]);
%create initial event to create the first connection
QUEUE(end+1)=MAKEEVENT(0,'PRODUCECONNECTION',[]);
RUN=true;
while RUN
    [nT,cevent]=min([QUEUE.time]);
    assert(nT>=T,'event was created for the past')
    T=nT;
    EVENT=QUEUE(cevent);
    QUEUE(cevent)=[];
    fprintf('T=%f\n',T)
    switch (EVENT.command)
        case 'ENDSIM'
            %maybe collect data here
            RUN=false;
        case 'PRODUCECONNECTION'
            %standard producer pattern
            %Create a connection between two random nodes every 10s
            next=rand*10;
            QUEUE(end+1)=MAKEEVENT(T+next,'PRODUCECONNECTION',[]);
            R=randperm(size(NODES,2));
            first=NODES(R(1));
            second=NODES(R(2));
            fprintf('CONNECT NODE %d and %d\n',first,second)
            %connection will last for 20s
            QUEUE(end+1)=MAKEEVENT(T+next,'RELEASECONNECTION',{first,second});
        case 'RELEASECONNECTION'
            first=EVENT.data{1};
            second=EVENT.data{2};
            fprintf('DISCONNNECT NODE %d and %d\n',first,second)
    end
end

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Q를 사용하기 위해 Node JS에서 호출하지 않고 함수 호출을 배열로 푸시하는 방법은 무엇입니까?

분류에서Dev

useEffect 후크에 의해 호출되는 함수 호출을 중지하기 위해`onClick` 이벤트를 사용하는 방법은 무엇입니까?

분류에서Dev

C에서 char 배열을 정렬하기 위해 Counting Sort를 구현하는 방법은 무엇입니까?

분류에서Dev

계산 된 열을 추가하기 위해 dplyr의 R mutate 함수에서 함수를 호출하는 방법은 무엇입니까?

분류에서Dev

계산 된 열을 추가하기 위해 dplyr의 R mutate 함수에서 함수를 호출하는 방법은 무엇입니까?

분류에서Dev

구현 된 하위 유형에서 함수를 호출하는 방법은 무엇입니까?

분류에서Dev

Seaborn에서 산점도를 위해 시간을 x 축으로 사용하는 방법은 무엇입니까?

분류에서Dev

PHP 함수에서 IP 주소를 얻기 위해 Javascript API를 호출하는 방법은 무엇입니까?

분류에서Dev

함수 호출을 위해 토큰 붙여 넣기를 수행하는 방법은 무엇입니까?

분류에서Dev

R에서 함수를 호출하기 위해 목록 모음을 반복하는 방법은 무엇입니까?

분류에서Dev

jQuery Ajax 호출을 위해 Kendo 진행률 표시 줄을 구현하는 방법은 무엇입니까?

분류에서Dev

PHP에서 다른 클래스를 작동시키기 위해 클래스의 함수를 호출하는 방법은 무엇입니까?

분류에서Dev

충돌을 피하기 위해이 해시 함수와 함께 연결된 목록 구현을 사용하는 방법은 무엇입니까?

분류에서Dev

Spark에서 백분위 수를 계산하기 위해 Groupby 집계의 실행 시간을 개선하는 방법은 무엇입니까?

분류에서Dev

ffmpeg에 현재 시간을 포함하는 방법은 무엇입니까?

분류에서Dev

기간 계산에 사용되는 날짜를 인쇄하기 위해 함수에서 새 열을 만드는 방법은 무엇입니까?

분류에서Dev

간단한 API 호출을 위해 비동기 작업을 구현하는 적절한 방법은 무엇입니까? (기계적 인조 인간)

분류에서Dev

알림을 위해 내 함수에서 동기 오류를 제거하는 방법은 무엇입니까?

분류에서Dev

인터넷에 액세스하기 위해 모뎀을 통해 호출 할 수있는 서버를 설정하는 방법은 무엇입니까?

분류에서Dev

Python 프로그래밍에서 실행 시간을 단축하기 위해 for 루프 수를 줄이는 방법은 무엇입니까?

분류에서Dev

배열을 반복하고 각각에 대해 함수를 호출하는 방법은 무엇입니까?

분류에서Dev

laravel에서 특정 날짜의 근무 시간을 계산하기 위해 eloquent를 사용하는 방법은 무엇입니까?

분류에서Dev

시작시 내부에서 비동기 함수를 호출하고 결과에 따라 특정 화면을 표시하는 방법은 무엇입니까?

분류에서Dev

R에서 여러 하위 목록을 통해 함수를 실행하는 방법은 무엇입니까?

분류에서Dev

Realm을 쿼리하기 위해 NSPredicate에서 MATCHES를 재현하는 방법은 무엇입니까?

분류에서Dev

택시 번호를 찾기 위해 Python If 문을 수정하는 방법은 무엇입니까?

분류에서Dev

페이지 매김에서 현재 페이지를 표시하기 위해 다음 코드에서 조건을 설정하는 방법은 무엇입니까?

분류에서Dev

R에서 인수가 누락 된 경우 기본 인수를 사용하기 위해 다른 함수를 호출하는 방법은 무엇입니까?

분류에서Dev

행을 동적으로 추가하기 위해 javascript 함수의 <td>에서 jquery 함수를 호출하여 범주에 따라 하위 범주를로드하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Q를 사용하기 위해 Node JS에서 호출하지 않고 함수 호출을 배열로 푸시하는 방법은 무엇입니까?

  2. 2

    useEffect 후크에 의해 호출되는 함수 호출을 중지하기 위해`onClick` 이벤트를 사용하는 방법은 무엇입니까?

  3. 3

    C에서 char 배열을 정렬하기 위해 Counting Sort를 구현하는 방법은 무엇입니까?

  4. 4

    계산 된 열을 추가하기 위해 dplyr의 R mutate 함수에서 함수를 호출하는 방법은 무엇입니까?

  5. 5

    계산 된 열을 추가하기 위해 dplyr의 R mutate 함수에서 함수를 호출하는 방법은 무엇입니까?

  6. 6

    구현 된 하위 유형에서 함수를 호출하는 방법은 무엇입니까?

  7. 7

    Seaborn에서 산점도를 위해 시간을 x 축으로 사용하는 방법은 무엇입니까?

  8. 8

    PHP 함수에서 IP 주소를 얻기 위해 Javascript API를 호출하는 방법은 무엇입니까?

  9. 9

    함수 호출을 위해 토큰 붙여 넣기를 수행하는 방법은 무엇입니까?

  10. 10

    R에서 함수를 호출하기 위해 목록 모음을 반복하는 방법은 무엇입니까?

  11. 11

    jQuery Ajax 호출을 위해 Kendo 진행률 표시 줄을 구현하는 방법은 무엇입니까?

  12. 12

    PHP에서 다른 클래스를 작동시키기 위해 클래스의 함수를 호출하는 방법은 무엇입니까?

  13. 13

    충돌을 피하기 위해이 해시 함수와 함께 연결된 목록 구현을 사용하는 방법은 무엇입니까?

  14. 14

    Spark에서 백분위 수를 계산하기 위해 Groupby 집계의 실행 시간을 개선하는 방법은 무엇입니까?

  15. 15

    ffmpeg에 현재 시간을 포함하는 방법은 무엇입니까?

  16. 16

    기간 계산에 사용되는 날짜를 인쇄하기 위해 함수에서 새 열을 만드는 방법은 무엇입니까?

  17. 17

    간단한 API 호출을 위해 비동기 작업을 구현하는 적절한 방법은 무엇입니까? (기계적 인조 인간)

  18. 18

    알림을 위해 내 함수에서 동기 오류를 제거하는 방법은 무엇입니까?

  19. 19

    인터넷에 액세스하기 위해 모뎀을 통해 호출 할 수있는 서버를 설정하는 방법은 무엇입니까?

  20. 20

    Python 프로그래밍에서 실행 시간을 단축하기 위해 for 루프 수를 줄이는 방법은 무엇입니까?

  21. 21

    배열을 반복하고 각각에 대해 함수를 호출하는 방법은 무엇입니까?

  22. 22

    laravel에서 특정 날짜의 근무 시간을 계산하기 위해 eloquent를 사용하는 방법은 무엇입니까?

  23. 23

    시작시 내부에서 비동기 함수를 호출하고 결과에 따라 특정 화면을 표시하는 방법은 무엇입니까?

  24. 24

    R에서 여러 하위 목록을 통해 함수를 실행하는 방법은 무엇입니까?

  25. 25

    Realm을 쿼리하기 위해 NSPredicate에서 MATCHES를 재현하는 방법은 무엇입니까?

  26. 26

    택시 번호를 찾기 위해 Python If 문을 수정하는 방법은 무엇입니까?

  27. 27

    페이지 매김에서 현재 페이지를 표시하기 위해 다음 코드에서 조건을 설정하는 방법은 무엇입니까?

  28. 28

    R에서 인수가 누락 된 경우 기본 인수를 사용하기 위해 다른 함수를 호출하는 방법은 무엇입니까?

  29. 29

    행을 동적으로 추가하기 위해 javascript 함수의 <td>에서 jquery 함수를 호출하여 범주에 따라 하위 범주를로드하는 방법은 무엇입니까?

뜨겁다태그

보관