Main Content

カスタム単位データベースの取り扱い

金宝app®モデルでは、単位データベースから単位を指定します。単位データベースは、次の単位系の単位で構成されます。

  • SI— 国際単位系

  • SI (extended)— 国際単位系 (拡張)

  • English— 英語単位系

  • CGS— センチメートル・グラム・秒単位系

既定の設定では、Simulink はAllowed Unitsにリストされている単位と単位系のみをサポートします。システム全体のレベルで他の単位系から追加の単位を導入し、それらの新しい単位をAllowed Unitsにリストされている単位と同様に使用するには、次の関数を使用して新しい単位データベースを作成し、読み込みます。

  • createCustomDBFromExcel— カスタム単位データベースの定義が含まれる Excel®スプレッドシートからカスタム単位データベース ファイルを作成します。サポートされているすべてのプラットフォームで、関数createCustomDBFromExcel.xlsファイルおよび.xlsxファイルをサポートします。

  • rehashUnitDBs— MATLAB®パスで単位データベース ファイルを再ハッシュすることにより、カスタム単位データベースを読み込みます。

カスタム単位スプレッドシート形式

スプレッドシートには任意の順序で以下の列が含まれていなければなりません。

  • name@*/^(,)+\"'{}[]<>&-::および空白を除く任意のグラフィカル Unicode 文字を使用した単位名。

  • symbol@*/^(,)+\"'{}[]<>&-::および空白を除く任意のグラフィカル Unicode 文字を使用した単位の記号。

  • asciiSymbol— ASCII での単位の記号。

  • displayName— LaTeX 形式でモデルに表示される単位の名前。

  • definitionExpression— 7 つの基本 SI 単位など、事前定義された単位に関する単位の定義。

  • conversionFactor— 単位とその定義間の変換係数。

  • conversionOffset— 単位とその定義間の変換オフセット。

  • physicalQuantity— 有効な物理量。showunitslistでテーブル「Physical Quantities」を参照してください。

  • provenance— オプションの列。コンマで区切った来歴のリスト。

スプレッドシートを開発する際は以下のガイドラインに従います。

  • 入力スプレッドシートに複数のワークシートが含まれる場合、接頭辞unitphysicalQuantity、またはprovenanceを使用してワークシートに名前を付けなければなりません。

  • 1 つのワークシートに接頭辞の複数のインスタンスがある場合、関数はすべてのワークシートを使用してデータベースを作成します。

    • unit— 単位の作成

    • physicalQuantity— 物理量の作成

    • provenance— 来歴の作成

オプションで、入力スプレッドシートの別のワークシートで物理量を定義できます。物理量を定義するワークシートには以下の列が任意の順序で含まれます。

  • name@*/^(,)+\"'{}[]<>&-::および空白を除く任意のグラフィカル Unicode 文字を使用した物理量名。

  • definitionExpression— 事前定義された物理量に関する物理量の定義。

  • provenance— オプション。コンマで区切った物理量来歴のリスト。

オプションで、入力スプレッドシートの別のワークシートに来歴を定義することもできます。来歴を定義するワークシートには以下の列が任意の順序で含まれます。

  • identifier— 来歴の識別子

  • title— 来歴のタイトル

  • subTitle— 来歴のサブタイトル

  • organization— 来歴の組織

  • fullName— 来歴の完全名

  • urlList— 来歴の URL リンクのリスト

  • edition— 来歴のエディション

  • 一年— 来歴の年

Excelスプレッドシートでのカスタム単位の定義

最初に、カスタム単位スプレッドシート形式のガイドラインに従って Excel スプレッドシートを作成します。次のように、1 行あたり 1 つの単位定義を使用します。

このスプレッドシートをunitsDB.xlsxなどのファイルに保存します。その後、データベースを作成してそれを読み込むことができます。

カスタム単位データベースの作成と読み込み

この例では、カスタム単位データベースを作成してから、それを読み込む方法を説明します。

この例に含まれるスプレッドシートを使用してデータベースを作成します。

createCustomDBFromExcel('unitsDB.xlsx')

関数はunitsDB.slunitdb.mldatxを現在のフォルダーに作成します。

新しい単位データベースをメモリに読み込みます。

rehashUnitDBs

新しいデータベースが読み込まれたことを確認するには、slex_customunitsモデルを開き、任意の出力端子にカスタム単位を適用します。

slex_customunits

参考

関数

ブロック

関連するトピック