Scilab
| Scilab | |
|---|---|
Scilab 6.1のスクリーンショット | |
| 開発者 | Dassault Systèmes |
| 安定版リリース | 2026.0.0 [1] / 2025年10月16日 |
| リポジトリ |
|
| 言語 | Scilab、C、C++、Java、Fortran |
| オペレーティングシステム | BSD(例:FreeBSD)、Linux、macOS、Windows |
| 対応言語 | 英語、ドイツ語、スペイン語、フランス語、イタリア語、日本語、ポルトガル語(ブラジル)、ロシア語、ウクライナ語、中国語、チェコ語、ポーランド語 |
| 種類 | 技術計算 |
| ライセンス | GPLv2(旧CeCILL ) |
| ウェブサイト | www.scilab.org |
Scilabは、無料かつオープンソースでクロスプラットフォームの数値計算パッケージであり、高水準の数値指向プログラミング言語です。信号処理、統計解析、画像強調、流体力学シミュレーション、数値最適化、モデリング、明示的および暗黙的な動的システムのシミュレーション、そして(対応するツールボックスがインストールされている場合)記号操作に使用できます。[2] [3] [4]
Scilabは、 MATLABに代わる2つの主要なオープンソースの代替ソフトウェアの1つであり、もう1つはGNU Octaveです。[5] [6] [7] [8] ScilabはOctaveほどMATLABとの構文互換性を重視していませんが[5] [9] [10]、十分に類似しているため、2つのシステム間でスキルの移転が容易であると示唆する著者もいます。[11]
はじめに
Scilabは、高水準の数値指向プログラミング言語です。この言語は、行列を主要なデータ型とするインタープリタ型プログラミング環境を提供します。行列ベースの計算、動的型付け、自動メモリ管理を使用することで、 Fortran、C、C++などの従来の言語を使用した同様のソリューションと比較して、多くの数値問題をより少ないコード行数で表現できます。これにより、ユーザーはさまざまな数学的問題のモデルを迅速に構築できます。この言語は乗算などの単純な行列演算を提供する一方で、Scilabパッケージは相関や複雑な多次元演算などの高水準演算のライブラリも提供します。
Scilabには、連続サブシステムと離散サブシステムの両方を含む、明示的および暗黙的な動的システムのモデリングとシミュレーションのためのXcosという無料パッケージも含まれています。Xcos は、 MathWorksのSimulinkに相当するオープンソースです
Scilabの構文はMATLABに似ているため、ScilabにはMATLABからScilabへのコード変換を支援するソースコードトランスレータが含まれています。Scilabはオープンソースライセンスの下で無料で利用できます。ソフトウェアのオープンソース性のため、一部のユーザー貢献がメインプログラムに統合されています。
オブジェクト指向プログラミングは、Scilab 2026.0.0リリースでclassdefコマンドとともに導入されました。
構文
Scilabの構文は主にMATLAB言語に基づいています。Scilabコードを実行する最も簡単な方法は、グラフィカルコマンドウィンドウのプロンプトに入力することです。このようにして、Scilabは対話型の数学シェル--> として使用できます。
ScilabでのHello World!:
disp ( 'Hello World' );3Dサーフェス関数のプロット:
// z = f(x,y) t =[ 0 : 0.3 : 2 * %pi ] ' ; z = sin ( t ) * cos ( t ' ); plot3d ( t , t ' , z )の単純なプロット与えられた添字値のセットに対応する、同等の単一のインデックスの決定: [12]
関数 I = sub2ind ( dims, varargin ) //I = sub2ind(dims, i1, i2, ...) は、サイズ dimsの行列について、配列 i1, i2, ... の行、列、... の添字に相当する線形インデックスを返します。 //I = sub2ind(dims, Mi) は、サイズ dims の行列について、行列 Mi の列の n 添字に相当する線形インデックスを返します。 d =[ 1 ; cumprod ( matrix ( dims ( 1 : $ - 1 ), - 1 , 1 ))] for i = 1 : size ( varargin ) if varargin ( i )==[] then I =[], return , end end if size ( varargin )== 1 then //サブインデックスは引数の列ですI =( varargin ( 1 ) -1 ) * d + 1 else //サブインデックスは別々の引数として与えられますI = 1 for i = 1 : size ( varargin ) I = I + ( varargin ( i ) -1 ) * d ( i ) end end end function ツールボックス
Scilabには、様々なタスク向けに多くのツールボックスが提供されています。
- Scilab画像処理ツールボックス(SIP)とその派生版(SIVPなど)
- Scilabウェーブレットツールボックス
- Scilab Javaおよび.NETモジュール
- Scilabリモートアクセスモジュール
ATOMSポータルまたはScilab Forgeでさらに多くのツールボックスが利用可能です。
歴史
Scilabは、1990年にINRIAと国立電柱・電衝学校(ENPC)の研究者によって作成されました。当初はΨlab [13] (Psilab)と名付けられていました。Scilabコンソーシアムは、貢献を広げ、Scilabを学界と産業界における世界的なリファレンスソフトウェアとして推進するために、2003年5月に設立されました。[14] 2008年7月、技術移転を改善するために、ScilabコンソーシアムはDigiteo財団に加盟しました
Mac向けにコンパイルされた最初のリリースであるScilab 5.1は2009年初頭に利用可能になり、Mac OS X 10.5(別名Leopard)をサポートしていました。そのため、OSX 10.4(Tiger)はソースからの移植以外ではサポートされませんでした。LinuxとWindowsのビルドは当初からリリースされていましたが、Solarisのサポートはバージョン3.1.1で廃止され、HP-UXのサポートはバージョン4.1.2で不十分なサポートのため廃止されました。
2010年6月、コンソーシアムはScilab Enterprisesの設立を発表しました。[15] Scilab Enterprisesは、直接または提携サービスプロバイダーの国際ネットワークを通じて、Scilabユーザー向けの包括的なサービスセットを開発および販売しています。Scilab Enterprisesは、Scilabソフトウェアの開発と保守も行っています。Scilab Enterprisesの最終的な目標は、Scilabの使用をより効果的かつ容易にすることです
2017年2月、最新のC++標準を活用し、メモリ割り当ての制限を解除したScilab 6.0.0がリリースされました。
2012年7月以降、ScilabはScilab Enterprisesによって開発・公開されており、2017年初頭にScilab Enterprisesは仮想プロトタイピングのパイオニアであるESI Group [16]に買収されました。
2019年とScilab 6.0.2以降、コンピエーニュ工科大学はmacOS版の構築と保守のためのリソースを提供しています。
ESI Groupによる5年間のScilabバージョン開発の後、Scilab運用チームは2022年にダッソー・システムズに加わります。[17]
ScilabクラウドアプリとScilabクラウドAPI
2016年以降、Scilabはブラウザに埋め込み、Scilabで記述されたインターフェースまたはAPIを介して呼び出すことができます。
この新しい展開方法には、コードとデータをマスキングし、大きな計算能力を提供するという顕著な利点があります。[18]
これらの機能はScilabのオープンソース版には含まれておらず、依然として独自の開発です。
参照
参考文献
- ^ "Scilab 2026.0.0" . 2025年10月16日閲覧。
- ^ Holopainen, Timo (2000). 「マルチテクノロジー機械システムのモデリングとシミュレーション」(PDF) .
- ^ Guenther, Raidl (1998年5月). 「多重制約0-1ナップサック問題のための改良遺伝的アルゴリズム」. 1998 IEEE国際進化計算会議議事録. IEEE世界計算知能会議 (カタログ番号98TH8360) . pp. 207– 211. CiteSeerX 10.1.1.20.6454 . doi :10.1109/ICEC.1998.699502. ISBN 978-0-7803-4869-1. S2CID 2337792.
- ^ Philippe., Roux (2016-03-29). Scilab: I. 基礎、理論から実践へ. パリ、フランス. ISBN 978-2-8227-0293-5. OCLC 1003630046.
{{cite book}}: CS1 maint: location missing publisher (link) - ^ Thomas Trappenberg (2010).計算神経科学の基礎. オックスフォード大学出版局. p. 361. ISBN 978-0-19-956841-3.
- ^ A Muhammad; V Zalizniak (2011).実用的科学計算. Woodhead Publishing . p. 3. ISBN 978-0-85709-226-7.
- ^ バーナード・A・メグレイ、エルレンド・モクスネス (2008). 『水産研究におけるコンピューター』 . シュプリンガー・サイエンス&ビジネス・メディア. p. 345. ISBN 978-1-4020-8636-6.
- ^ ラウル・レイモンド・カプノ (2008). 『C、C++、MATLABを使用した化学エンジニアのためのプログラミング』 . ジョーンズ&バートレット・パブリッシャーズ. p. 365. ISBN 978-1-934015-09-4.
- ^ ラッセル・L・ハーマン (2013). 『物理学者のための数学的手法コース』 . CRCプレス. p. 42. ISBN 978-1-4665-8467-9.
- ^ Alain Vande Wouwer、Philippe Saucez、Carlos Vilas (2014). MATLAB、OCTAVE、SCILAB による ODE/PDE モデルのシミュレーション:科学技術アプリケーション。Springer。pp. 114– 115. ISBN 978-3-319-06790-2.
- ^ Mark A. Haidekker (2013).線形フィードバック制御:基本事項。Newnes。p. 3. ISBN 978-0-12-405513-1.
- ^ GitHubの pygments/tests/examplefiles/scilab/scilab.sci
- ^ "META2.3.1.1.html META2.3.1.1".
- ^ "SCILABコンソーシアム発足". 2003.
- ^ "SCILABエンタープライズ発表". 2010. 2010年6月20日時点のオリジナルよりアーカイブ
- ^ 「ESIグループ:Scilabオープンソース解析計算ソフトウェアの発行元であるScilab Enterprisesの買収」。2017年8月24日時点のオリジナルよりアーカイブ。 2017年8月24日閲覧。
- ^ 「Scilabの歴史」。2025年3月20日閲覧。
- ^ 「Scilabクラウド」。Scilab.io 。 2017年10月8日時点のオリジナルよりアーカイブ。2017年10月8日閲覧。
参考文献
- Stephen L. Campbell、Jean-Philippe Chancelier、Ramine Nikoukhah (2006). Modeling and Simulation in Scilab/Scicos . New York: Springer. ISBN 978-0-387-27802-5.
外部リンク
- Scilabウェブサイト