"S-function level-1 supports vector inputs and outputs. DOES NOT support multiple input and output ports"
S 기능 설명서를 읽었습니다."S-function level-1 벡터 입력 및 출력을 지원합니다. 다중 입력 및 출력 포트를 지원하지 않습니다."
두 번째 문장은 입력 및 출력 차원이 동일해야 함을 의미합니까?
I는 S 기능 레벨 1을 사용하고 다음을 수행 :
[a1, b1] = choose_cells(c, d);
A1 및 B1을 출력하고, C 및 D는 입력이다. d가 6 개의 값을 갖는 배열 인 경우를 제외하고 모든 변수는 단일 값을가집니다.
첨부 된 이미지를 보면, 우리는 모두 S-function 블록에서 입력 차원이 출력 차원과 같아야 함을 알고 있습니다. 그렇지 않으면 오류가 발생합니다.이 경우 입력 차원은 7이고 출력 차원은 2, 그래서 완벽하게 작동하려면 다이어그램에 "터미네이터"블록을 포함해야합니다. 그렇지 않으면 오류가 발생합니다.
내 문제는 시스템이 커지면 배열 d에이 방법을 사용하여 수백 개의 변수가 포함될 수 있다는 것입니다.이 작업을하려면 수백 개의 "터미네이터"블록을 추가해야한다는 것을 의미합니다. 실용적인 소리.
제발 나를 구현하는 현명한 방법을 제안 해 주시겠습니까? 실제로 나는 수준이 내 수준-1 S-기능을 변환하기 위해 노력 해왔다하지만 기능 출력 (블록) 노력에 또 다른 서브 함수를 호출에 붙어있어 :
http://imageshack.us/content_round.php?page=done&id=4tHclZ2klaGtl66S36zY2KfO5co
업데이트 다른 스레드를 찾는데 아무 소용이 없어도 관련 링크를 제공 하시겠습니까?내 출력은 입력과 관련된 많은 처리에 따라 달라 지므로 출력값을 계산하고 반환하기 위해 하위 함수를 호출해야하므로 모든 출력에서 직접 출력을 계산합니다. "함수 출력 (블록)", 제 경우에는 가능하지 않다고 생각했습니다.
그러나 Interpreted Matlab Function 블록을 사용하려고했지만 출력 치수가 입력 치수와 같지 않아 실패했습니다. 또한 하나 이상의 출력 반환을 지원하지 않습니다 .......... ......