メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

addInput

クラス: sltest.testmanager.TestCase
名前空間: sltest.testmanager

テスト ケースに入力ファイルを追加

説明

input = addInput(tc,file,Name,Value) は、テスト ケースの [入力] セクションにファイルを追加し、テスト入力オブジェクト sltest.testmanager.TestInput を返します。

入力引数

すべて展開する

テスト入力を追加するテスト ケース。sltest.testmanager.TestCase オブジェクトとして指定します。

MAT ファイルまたは Microsoft® Excel® 入力ファイルの名前とパス。文字ベクトルとして指定します。

名前と値の引数

すべて展開する

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: 'Sheets','mysheet','Ranges','C1:F10','CreateIterations',false

MAT ファイルおよび Microsoft Excel ファイルのペア

すべて展開する

入力が適用されるテスト ケース シミュレーション番号。1 または 2 として指定します。この設定は等価性テストに適用されます。

例: 'SimulationIndex',2

テスト ケースの [反復] にある反復テーブルに入力ファイルを追加するオプション。boolean として指定します。

例: 'CreateIterations',false

Microsoft Excel ファイルでのみ使用するペア

すべて展開する

テスト ケース入力として使用する Excel ファイルのシートの名前。文字ベクトル、string、または string の配列として指定します。

例: 'testinputs', ["Heater","Plant"]

入力として追加したシートのセルの範囲。文字ベクトル、string、または string の配列として指定します。'Ranges''Sheets' も指定する場合にのみ指定できます。指定する範囲はシートに対応していなければなりません。たとえば、シートを 1 つ指定する場合は 1 つの範囲を指定します。シートの cell 配列を指定する場合は、'Ranges' の cell 配列の各値が 'Sheets' の cell 配列の 1 つのシートと対応している必要があります。

'Ranges' は次の表に示すように指定できます。

Range の指定方法 説明

'Corner1:Corner2'

四角形の範囲

構文 'Corner1:Corner2' を使用して範囲を指定します。Corner1Corner2 は、領域を定義する 2 つの対角です。たとえば、'D2:H4' は、ワークシート上の 2 つの角 D2H4 の間にある 3 行 5 列の四角形領域を表します。名前と値のペアの引数 'Range' では大文字小文字は区別されず、Excel A1 参照スタイル (Excel のヘルプを参照) が使用されます。

例: 'Range','Corner1:Corner2'

''

指定なしまたは空

指定しない場合、使用範囲はインポート関数により自動検出されます。

例: 'Range',''

メモ: "使用範囲" とは、スプレッドシート内の実際にデータを含んでいる四角形部分を指します。インポート関数は、データを含まない先頭と末尾の行と列をトリミングして、使用範囲を自動的に検出します。空白のみのテキストはデータと見なされ、使用範囲内に取得されます。

'Row1:Row2'

行範囲

Excel の行指定子を使用して開始行と終了行を指定することで、範囲を表すことができます。これにより、readtable は指定された行内で列の使用範囲を自動的に検出します。たとえば、インポート関数は範囲指定 '1:7' を、1 ~ 7 行目の使用範囲にあるすべての列を読み取る命令として解釈します。

例: 'Range','1:7'

'Column1:Column2'

列範囲

Excel の列指定子を使用して開始列と終了列を指定することで、範囲を表すことができます。これにより、readtable は指定された列内で行の使用範囲を自動的に検出します。たとえば、インポート関数は範囲指定 'A:F' を、A ~ F 列の使用範囲にあるすべての行を読み取る命令として解釈します。

例: 'Range','A:F'

'NamedRange'

Excel の名前付き範囲

Excel では、スプレッドシート内の範囲を表す名前を作成できます。たとえば、スプレッドシートの四角形部分を選択して 'myTable' という名前を付けることができます。スプレッドシート内にそのような名前付き範囲が存在する場合、インポート関数はその名前を使用して範囲を読み取ることができます。

例: 'Range','myTable'

例: 'B2:C30', "D2:E30", ["B2:C30", "D2:E30", "B2:C30"]

Excel ファイルの各シートや 'Sheets' 引数で指定された各シートを個別の入力として使用するオプション。true または false として指定します。

出力引数

すべて展開する

テスト入力。sltest.testmanager.TestInput オブジェクトまたは sltest.testmanager.TestInput オブジェクトの配列として返されます。

すべて展開する

この例では、Microsoft® Excel® スプレッドシートからデータを追加し、それをテスト ケースにマッピングする方法を示します。データがある 2 つのシートのみが追加されてマッピングされます。

モデル例を読み込み

open_system('slexAutotransRootInportsExample');

新しいテスト ファイルを作成

tf = sltest.testmanager.TestFile('input_test_file.mldatx');

テスト スイート オブジェクトとテスト ケース オブジェクトを取得

ts = getTestSuites(tf);
tc = getTestCases(ts);

モデル例をテスト対象システムとして追加

setProperty(tc,'Model','slexAutotransRootInportsExample');

Excel® データを入力のセクションに追加し、追加するシートを指定

excelfile = 'sltestExampleInputs.xlsx';
input = addInput(tc,excelfile,'Sheets',["Acceleration","Braking"]);

既定のマッピング モードを使用してシートの入力信号をマッピング

map(input(1));
map(input(2));

この例では、Excel ファイルのシートと範囲を追加する構文を示します。

% Create test file
tf = sltest.testmanager.TestFile('Excel Input Test File');

% Create test suite and test case
ts = createTestSuite(tf,'Excel Test Suite');
tc = createTestCase(ts,'baseline','Excel Input Test Case');

% Add Excel data to Inputs section, specifying sheets and range
input = addInput(tc,'C:\MyHomeDir\myexcel.xlsx',...
   'Sheets',["Optics","Torque","Throttle"],...
   'Ranges',["B1:C20","","D1:G10"]);

バージョン履歴

R2015b で導入