MATLAB FunctionとS Functionについて
18 views (last 30 days)
Show older comments
MATLAB FunctionとS Functionの違いを知りたいです。
MATLAB Functionは理解しておりますが、S Functionの機能があまり理解できておりません。
MATLAB FunctionはブロックをダブルクリックするとCコードで記述できますが、
S Functionはブロックパラメータが開き、コードを記載する箇所がありません。
S Functionもコードを記述して使用するものだと思っているのですが、違うのでしょうか。
1 Comment
Atsushi Ueno
on 6 Mar 2024
S-Functionは昔から (R12:Simulink 4.0には既に) あります。 MATLAB Function は R2011a で導入されたそうです。
「Simulinkでコードを動かす」事自体はずっと変わりませんが、昔は「Simulinkに所望の機能が無いから自分でカスタムブロックを作成する」意味合いが強かったはずです。実際には「レガシーコードをSimulinkモデルに組み込んで動かす」使われ方が多く、更に現在では「Simulinkで作るけど部分的にコードを書きたい」要望も出てきました。また、MATLABやStateflowの既存資産をSimulinkに移行する要求もあります。その意味で便利さを追求して様々な「何とかFunctionブロック」が登場しました。
Accepted Answer
Atsushi Ueno
on 6 Mar 2024
Edited: Atsushi Ueno
on 6 Mar 2024
>MATLAB FunctionとS Functionの違いを知りたいです。
まずブロック内で扱う言語が異なります(前者はMATLAB、後者はC/C++/Fortran)。
下の質問にもありますが、前者はコード1行書けば即動きますが、後者は色々とお膳立てが必要です。
>S Functionもコードを記述して使用するものだと思っているのですが、違うのでしょうか。
違いないです。専用のエディタが開かないだけです。S-Function Builderブロックなら専用のエディタが開きます。
現在(R2020a以降)は、C Function ブロックの方がMATLAB Functionブロックの使い勝手に近く使い易いです。
More Answers (0)
See Also
Categories
Find more on ビッグ データの処理 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!