MATLAB®へのモデルエクスポート
モデルをMATLAB®にエクスポートすると、モデル予測を行うMスクリプトがモデル出力ごとに作成されます。
作成されたMスクリプトはASCMOのコードを使用しないため、使用する際にASCMOがインストールされている必要はありません。ただしMATLABへのエクスポートを行う際にはMATLAB環境がインストールされている必要があります。
出力のタイプ
エクスポートダイアログで、エクスポートする内容を選択することができます。
モデル予測
モデル出力の名前が Y1 で、ベース名が predict の場合、predict_Y1.m というスクリプトが作成されます。
呼び出しは次のようになります:y = predict_Y1(x)
ここで x は入力の数と同じ長さのベクトルです。関数はスカラのモデル予測値を返します。
4個の入力と、Y1という名前の出力。
>> x = [0.3 7.5 100 66.1];
>> y = predict_Y1(x)
>> y =
>> 0.503
または、列の数が入力の数に等しい行列を入力することもできます。各行はモデルの入力値に対応します。出力はベクトルで、要素ithが行ith(入力値)のモデル予測です。
勾配、ヘッセ行列、シグマ、シグマ勾配、有効性を含むモデル予測
ASC GPモデルタイプの場合、追加の出力をエクスポートできます。
モデル出力ごとにMATLAB®クラスが、Mファイルとモデル予測を行うMATファイルとして生成されます。
モデル予測のほか、以下の出力値がエクスポートされます:
- モデル予測の勾配
- モデル予測のヘッセ行列
- モデル予測のシグマ(標準偏差)
- シグマの勾配
- モデルの有効性(モデルの有効範囲)
勾配は、勾配オプティマイザをモデルと共に使用するような場合に必要となります。
Model Prediction, Gradient, Hessian, Sigma, Sigma Gradient, and Validity タイプでモデルをエクスポートすると、大きな行列が必要となるため、エクスポートされるMATファイルが非常に大きくなる可能性があります。
モデル出力の名前がY1で、ベース名がpredictの場合、predict_Y1.mというスクリプトとpredict_Y1.matというファイルが作成されます。
Model Prediction and Gradient
>> M = predict_Y1;
>> [y, yGrad] = M.modelval_ygrad([0.3 7.5 100 66.1]);
Model Prediction, Gradient and Hessian
>> M = predict_Y1
>> Y = M.modelval(x)
>> [Y, Ygrad, Yhessian] = M.modelval_hessian(x);
Model Prediction, Gradient, Hessian, Sigma, Sigma Gradient, and Validity
>> M = predict_Y1;
>> Y = M.modelval(x)
>> [Y, Ystd_1, Ystd_2] = M.modelval_std(x)
>> [Y, Ygrad, Yhessian, Ystd_1, Ystd_2, Ystd_1grad, Ystd_2grad, Ystdgrad_t, Validity] = M.modelval_ygrad_std(x)
注記 |
|---|
MATLAB®/Simulink®がPCにインストールされていない場合は、File > Export Model > Simulink Script で、モデルをMATLAB®スクリプト(*.m)にエクスポートすることができます。後にこれを用いてSimulinkモデルを生成することができます。 |
参照