Borrar filtros
Borrar filtros

MATLAB FunctionとS Functionについて

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

Iniciar sesión para comentar.

Respuesta aceptada

Atsushi Ueno
Atsushi Ueno el 6 de Mzo. de 2024
Editada: Atsushi Ueno el 6 de Mzo. de 2024
>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 comentario
晃平
晃平 el 12 de Mzo. de 2024
ご回答ありがとうございました。

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Simulink Function en Help Center y File Exchange.

Productos


Versión

R2022b

Community Treasure Hunt

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

Start Hunting!