ライブラリのincludeは以下のように行う.

#include <casadi/casadi.hpp>

名前空間はcasadiで定義されている.

using namespace casadi;

以下に記載するプログラムはすべて上記のコードをプログラムの先頭に追加している状態の例を記載する.

SX

SXデータ型は要素が単項及び二項演算のシーケンスで構成される記号式で構成される行列を表すためにしようする.

1行1列の行列(スカラー)を作成する場合

SX x = SX::sym("x");

1行N列の行列(配列)を作成する場合

SX y = SX::sym("y",N);

N行M列の行列を作成する場合

SX y = SX::sym("y",M,N);

Ex.

SX x = SX::sym("x");
/*
x
*/
SX y = SX::sym("y",5);
/*
[y_0, y_1, y_2, y_3, y_4]
*/
SX z = SX::sym("z",4,2);
/*
[[z_0, z_4], 
 [z_1, z_5], 
 [z_2, z_6], 
 [z_3, z_7]]
*/

定数インスタンス作成

B1 = SX::zeros(M,N)//すべてゼロの密なN行M列の空行列
B2 = SX::eye(M,N)//対角線上にあるスパースN行M列の行列

MX

算術演算

vertcat

SX x = SX::sym("x",5);
SX y = SX::sym("y",5);
cout << vertcat(x,y) <<endl;
//出力[x_0, x_1, x_2, x_3, x_4, y_0, y_1, y_2, y_3, y_4]