MATLAB FunctionとS Functionについて

조회 수: 12 (최근 30일)
晃平
晃平 2024년 3월 5일
댓글: 晃平 2024년 3월 12일
MATLAB FunctionとS Functionの違いを知りたいです。
MATLAB Functionは理解しておりますが、S Functionの機能があまり理解できておりません。
MATLAB FunctionはブロックをダブルクリックするとCコードで記述できますが、
S Functionはブロックパラメータが開き、コードを記載する箇所がありません。
S Functionもコードを記述して使用するものだと思っているのですが、違うのでしょうか。
  댓글 수: 1
Atsushi Ueno
Atsushi Ueno 2024년 3월 6일
S-Functionは昔から (R12:Simulink 4.0には既に) あります。 MATLAB Function は R2011a で導入されたそうです。
「Simulinkでコードを動かす」事自体はずっと変わりませんが、昔は「Simulinkに所望の機能が無いから自分でカスタムブロックを作成する」意味合いが強かったはずです。実際には「レガシーコードをSimulinkモデルに組み込んで動かす」使われ方が多く、更に現在では「Simulinkで作るけど部分的にコードを書きたい」要望も出てきました。また、MATLABやStateflowの既存資産をSimulinkに移行する要求もあります。その意味で便利さを追求して様々な「何とかFunctionブロック」が登場しました。

댓글을 달려면 로그인하십시오.

채택된 답변

Atsushi Ueno
Atsushi Ueno 2024년 3월 6일
편집: Atsushi Ueno 2024년 3월 6일
>MATLAB FunctionとS Functionの違いを知りたいです。
まずブロック内で扱う言語が異なります(前者はMATLAB、後者はC/C++/Fortran)。
下の質問にもありますが、前者はコード1行書けば即動きますが、後者は色々とお膳立てが必要です。
>S Functionもコードを記述して使用するものだと思っているのですが、違うのでしょうか。
違いないです。専用のエディタが開かないだけです。S-Function Builderブロックなら専用のエディタが開きます。
現在(R2020a以降)は、C Function ブロックの方がMATLAB Functionブロックの使い勝手に近く使い易いです。
@Toshinobu Shintaiさんの下記ポストが分かり易いです。S-FunctionとMATLAB Functionの比較表だけ抜き出しました
  댓글 수: 1
晃平
晃平 2024년 3월 12일
ご回答ありがとうございました。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Simulink Function에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!