2017-02-23 2 views
0

필자는 Inport에서 제어 입력 U를 취하는 Simulink 시뮬레이션을 사용하고 해당 입력을 기반으로 시스템의 상태를 시뮬레이트합니다. 나는 시뮬레이션이 가변적 인 time-step ode solver를 사용하기를 원하지만, U는 생성 된 시간과 확실히 일치하지 않는 이산 시간 점 (균등하지는 않다)으로 정의 될 것이다.) ode15s.Simulink : Inports에서 스플라인 보간?

Simulink에서 U 벡터와 시간 벡터를 가져오고 입방 스플라인 보간을 사용하여 주어진 U 벡터와 정렬되지 않은 시간에 대해 U의 값을 결정합니다. '데이터 보간'옵션과 유사합니다. Inport 환경 설정, 다시 말하면 데이터가 균등하게 간격을 두지 않으며 선형 보간도 필요하지 않습니다. 어떻게해야합니까?

답변

2

가능한 방법은 다음과 같습니다. U 벡터가 이미 미리 알고 있다고 가정합니다. 이는 벡터 값이 솔버 샘플 모멘트와 일치하지 않는 무작위 샘플 모멘트에 주어 졌기 때문에 발생합니다.

'1-D 보간 테이블'블록을 사용하고 'Clock'블록을 입력으로 연결하십시오. 1 차원 보간 테이블에서 사용자는 '테이블 데이터'에 U 벡터의 값을 지정할 수 있습니다. 그리고 당신은 당신의 경우 시점에있는 중단 점을 지정할 수 있습니다. 이들은 작업 공간의 변수 일 수 있습니다.

다음 표제어 '알고리즘'에서 보간 방법으로 '입방체 스플라인'을 선택합니다.

그 트릭을해야합니다.

+0

1-D 테이블 블록의 입력에 작업 영역 변수를 사용하지 않은 이유를 묻지 마십시오. 이 작업을 수행하는보다 효율적인 방법은 무엇입니까? – Frank

+0

내가 묻는 것이 더 좋은 방법이라고 생각한다. 제안하는 방법에 비효율적 인 것은 무엇인가? – Frank

+0

게시물을 편집했습니다. 이 방법이 비효율적이라고 가정 할 충분한 이유가 없습니다. –