Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

単純なアルゴリズムの実装

はじめに

この例では、Simulink の単純な System object と MATLAB System ブロックを一緒に使用する方法を示します。

System object

System object を使用すると、MATLAB でのアルゴリズムの実装が可能になります。System object は入力が時間経過とともに変化する動的システムを実装およびシミュレーションするために特別に設計された、特殊な種類の MATLAB オブジェクトです。

System object を定義すれば、MATLAB System ブロックを使用してそれを Simulink モデルに含めることができます。

モデルの説明

このモデルには、入力に 2 を乗算する System object TimesTwo を使用する MATLAB System ブロックがあります。MATLAB System ブロックへの入力は Sine Wave ブロックによって提供されます。出力が入力と共に Scope ブロックに表示されます。モデルを実行するときに、Scope ブロックで MATLAB System ブロックへの入力に 2 が乗算されることがわかります。

System object クラスの定義

ブロック ダイアログで "Source code" ハイパーリンクをクリックすることで、MATLAB System ブロックによって使用される MATLAB ソース コードにアクセスできます。System object は stepImpl メソッドのみを実装します。アルゴリズムにはプロパティも追加のメソッドも必要ありません。

classdef TimesTwo < matlab.System
%TimesTwo Multiply input by 2
%   obj = TimesTwo returns a System object, obj, that 
%   multiples its input by two.

    methods(Access = protected)
        function y = stepImpl(~, u)
            y = 2 * u;
        end
    end
end

MATLAB System ブロックのアイコンとダイアログ

MATLAB System ブロックでは、System object TimesTwo の名前がブロックに表示され、TimesTwo クラスの stepImpl メソッドからの入力および出力変数名を端子ラベルとして使用します。ブロックをダブル クリックして MATLAB System ブロック ダイアログを開くと、ダイアログには下に示すように TimesTwo というタイトルと、"Multiply input by 2" という説明が表示されます。タイトルは使用される System object の名前から取得され、説明は System object のクラス ヘルプ概要から作成されます。

関連するトピック