Look-Up Table(n-D)​で3次元以上の配列を​使用するには、テーブ​ルデータ欄をどのよう​に記述すれば良いです​か。

21 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2009 年 6 月 29 日
編集済み: MathWorks Support Team 2024 年 5 月 30 日
Look-Up Table(n-D)で3次元以上の配列を使用するには、テーブルデータ欄をどのように記述すれば良いですか。

採用された回答

MathWorks Support Team
MathWorks Support Team 2024 年 5 月 30 日
編集済み: MathWorks Support Team 2024 年 5 月 30 日
3次元以上の配列は、数値を直接並べて定義できないため、(1)MATLABのコマンドウィンドウ上やモデルのコールバック関数等に3次元配列を定義し、その変数名を記述したり、(2)多次元配列を作成する関数を使用して定義します。
(1)変数を定義する方法
たとえば、次のコマンドにより2×3×3の3次元テーブルデータ[Z]を作成します。
Z(:,:,1) = [ 111 121 131; 211 221 231];
Z(:,:,2) = [ 112 122 132; 212 222 232];
Z(:,:,3) = [ 113 123 133; 213 223 233];
テーブルデータに、[Z]と記述します。
なお、データ読み込み等のシミュレーション前に行うべき処理は、モデルコールバック機能を用いてシミュレーション前に自動実行されるようにしておくと便利です。
たとえば、「ファイル」メニューから「モデルプロパティ」を選択し、「コールバック」ペインの「モデルプリロード関数」に上記コマンドを記述しておくと、モデルを開いた時にデータの読み込みを行います。
モデルコールバック機能の詳細につきましては、関連ソリューション「Simulinkモデルの起動時に、モデル内で使用している変数の値を自動的に設定することができますか?」をご参照ください。
(2)関数を利用する方法
多次元配列を作成する関数 cat 等を使ってテーブルデータに記述します。cat 関数は cat(dim,A1,A2,...) という書式で実行され、配列A1,A2,...が結合したdim-次元配列を生成します。
たとえば、3次元配列を作成する場合
cat(3,[1 2;3 4],[5 6;7 8])
のように記述します。
4次元以上の配列はcat関数を入れ子に組んで作成します。たとえば、
cat(4,cat(3,[1 2;3 4],[5 6;7 8]),cat(3,[1 2;3 4],[5 6;7 8]))
のように記述します。
多次元配列の作成方法は、マニュアルに詳述されていますのでそちらも併せてご参照ください。
● MATLAB ヘルプドキュメント:多次元配列の作成

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange行列および配列 についてさらに検索

製品


リリース

R2007a

Community Treasure Hunt

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

Start Hunting!