MATLAB

事例

【上流検証】最小構成のモデルベース開発事例 その18【プラントリアル化前編】

今回は制御対象ことプラントモデルの精度向上を考える。 プラントモデルの精度を上げるためには本物の動作特性が必要。 一次遅れ系を使っている場合、時定数と定常ゲインが重要。 立ち上がり時定数と立下り時定数が異なる場合がある。 プラント出力の偏差を見て切り替えるような仕掛けが必要になる。
事例

【上流検証】最小構成のモデルベース開発事例 その17【S-Function】

S-Functionを作る具体的な手順ってどうなってるの? という質問が来たので、S-Function Builderの使い方の説明。 これ以外のS-Functionの作成方法もある。 Simulinkに抵抗ある人はS-Functionから始めても良いかもしれない。 出力を波形で見れる。 複数のロジックの入出力の簡単な繋ぎ替えができる。
事例

【上流検証】最小構成のモデルベース開発事例 その16【SILS】

成果物として上がってくるがCコード。これの正当性を評価したい。 CコードをS-Function化することでSimuklinkブロックとして扱えるようになる。 MILSの一部を差し替えても同様の動きになるかを確認できる。 元のSimulinkモデルと同一の入力にして出力を比較することで一致性確認ができる。
事例

【上流検証】最小構成のモデルベース開発事例 その15【ACG】

SimulinkCoderを使ってSimulinkモデルをACGできる。 SimulinkCoderを使用するためにはMATLAB Coderのライセンスも必要。 ACGされたコードは可読性が良くない場合がある。 プロタイプの段階では、一旦可読性は無視するという選択もあり。 リコードする場合は別の手段で品質担保することを考える必要がある。
事例

【上流検証】最小構成のモデルベース開発事例 その14【MILS後編】

引き続きにシミュレーションの話。 前回はExcelをつかったメンドクサイ側の手法だったが、 今回はちゃんとSimulinkを使う。 制御器と制御対象をつないでMILSにすることができる。 SignalBuilderを使ってテストパターンを作れる。 わざと問題のあるモデルと比較すると、今回の対策の効能が見えるのでやってみると良い。
事例

【仕様書】最小構成のモデルベース開発事例 その12【フィルタ】

前回で、おおよその仕様決めは終わったと思われた。 しかし、太郎くんのド忘れ発覚によりフィルタ仕様も考える必要が出てきた。 ノイズは様々な種類があり、設置場所や扱う信号によって異なる。 複数のノイズ対策をソフトウェアで実施するとリアルタイム性が犠牲になることがある。 よって、適切なフィルタアルゴリズムが無いか調べる必要が出てくる。
MATLAB/Simulink

【MATLAB】LAF(全領域空燃比)センサ特性同定【最小二乗法】

LAF(全領域空燃比)センサの特性をMATLAB用いて同定。同定手法は最乗二乗法で関数モデルは2次関数。2次関数一つでは同定しきれないので、4区間に分割して同定する。Pythonではpoly1dで多項式オブジェクトを生成していたが、MATLABではpolyvarで直接プロット用データを取得する。
MATLAB/Simulink

【入門】MATLABの波形表示方法【数値計算】

MATLABに於ける、波形表示方法。色の変更、線種に変更、マーカの変更ができる。 プロットとそれを結ぶ線の指定により波形表示される。 プロットの種類や線の色を変えることができるので、見やすい構成を考えて描画しよう。
MATLAB/Simulink

【入門】MATLABのユーザ関数作成方法【数値計算】

MATLABに於けるユーザ関数の作成方法。複数の引数、複数の戻り値が設定できる。 MATLABの場合、関数名とファイル名を同一にする必要がある。 同一ファイルに複数の関数を定義できるが、外部から呼び出せるのはファイル名と同名の関数だけとなる。 逆に、ファイル名と異なる関数を外部からアクセスさせないという効能もある。
MATLAB/Simulink

【入門】MATLABの行列演算【数値計算】

MATLABに於ける行列演算の備忘録。 元々、MATLABの得意ジャンルであるため、できないことは無いと思って良い。 逆にこれに慣れて、他言語に行くと行列に対する素の知識が欠落している事実に気づかされることも多々ある。 MATLABに於ける行列に対する四則演算、左除算、右除算、べき乗、転置、縦反転、横反転などを説明。