ここでは、Scilabと呼ばれる数値解析ソフトウェアについて学ぶチュートリアルを提供します。Scilabは、フランスのINRIA(国立情報学自動制御研究所)で1980年代に開発された高水準の計算環境であり、科学技術計算やデータ分析に広く利用されています。Scilabはオープンソースであり、誰でも自由に利用することができます。このチュートリアルでは、Scilabを使って簡単な数値計算から複雑な数学モデルの解析までを学習するための手順を提供します。

Scilabの導入 編集

Scilabとは何か 編集

Scilabの特徴 編集

Scilabのインストール 編集

Scilabの基本操作 編集

Scilabのデータ型と演算 編集

スカラー、ベクトル、行列、テンソル 編集

演算子と関数 編集

変数と代入 編集

数学関数と統計関数 編集

Scilabの制御構造 編集

条件分岐(if文) 編集

繰り返し(for文、while文) 編集

ブロック構造(begin-end、case-of) 編集

Scilabでのグラフ描画 編集

グラフ描画の基本 編集

2次元プロット 編集

3次元プロット 編集

グラフのカスタマイズ 編集

Scilabでの関数定義とデバッグ 編集

関数の基本 編集

グローバル変数とローカル変数 編集

引数の渡し方 編集

デバッグの基本 編集

Scilabでの線形代数 編集

行列演算の基本 編集

行列の作成と操作 編集

行列分解(LU分解、QR分解、SVD分解) 編集

行列の特異値分解 編集

Scilabでの数値計算 編集

数値微分と数値積分 編集

常微分方程式の数値解法 編集

偏微分方程式の数値解法 編集

線形方程式の数値解法 編集

Scilabでの信号処理 編集

サンプリングと量子化 編集

離散時間信号と連続時間信号 編集

フーリエ変換と逆フーリエ変換 編集

フィルタ設計とフィルタ適用 編集

Scilabでの統計解析 編集

統計量の基本 編集

仮説検定 編集

回帰分析 編集

主成分分析 編集

Scilabの応用例 編集

機械学習の実装 編集

シミュレーションと最適化 編集

ロボットの制御 編集

複雑系の解析 編集

用語集 編集

  • Scilab: 数値解析・科学技術計算用のオープンソースの高水準プログラミング言語。MATLABに類似した文法を持ち、線形代数、最適化、シミュレーション、信号処理、画像処理、数値積分、微分方程式、統計解析などの機能を備える。
  • Workspace: Scilabが認識している変数、およびその値を表示する領域。
  • Console: Scilabコマンドの入力と結果出力を行う領域。
  • Editor: Scilabスクリプトファイルの作成・編集を行う領域。
  • Function: 処理を行う一連のコマンドをパッケージ化したもの。
  • Script: Scilabコマンドを順番に実行するファイル。
  • Comment: スクリプト内に埋め込む、人間が理解しやすい解説用の文章。
  • Variable: 数値、文字列、行列、グラフなどのデータを格納するために用いられる名前付きの箱。
  • Matrix: スカラー値およびベクトルを1つのオブジェクトとして扱うためのデータ構造。
  • Vector: 1次元の数値配列。
  • Sparse matrix: 行列の非ゼロ要素のみを記憶した、メモリ効率が高い行列。
  • Array: 1次元、2次元、あるいはそれ以上の次元を持つデータ構造。テンソルのように多数の次元も扱える。
  • Command window: Scilabから操作される各ウィンドウの簡易版。コマンドを入力し、実行結果を表示できる。
  • Graphics window: 2D/3Dグラフィックを描画するためのウィンドウ。
  • Handle graphics: Scilabで描画されるグラフィックをハンドルにより扱う方式。
  • Scicos: Scilabの拡張モジュールで、システムダイナミクス、制御系設計、信号処理、画像処理、電気回路設計などに用いられる。
  • Xcos: Scicosの改良版で、システムダイナミクスのモデル化・シミュレーションを行うためのツール。
  • ATOMS: Scilabのオンラインパッケージ管理システム。Scilabに追加機能を提供するためのモジュールが多数公開されている。
  • MList: Scilabでのファイル入出力用のフォーマット。MATLABの.mファイルと同様に、「変数名 = 値」という形式で保存される。
  • FPU: 浮動小数点演算器。Scilabはこれを使用して高精度な計算を行う。