Scilab は、無料のオープンソースのクロスプラットフォーム数値計算パッケージであり、数値指向の高水準プログラミング言語です。信号処理、統計分析、画像強調、流体力学シミュレーション、数値最適化、明示的および暗黙的な動的システムのモデリングとシミュレーション、および (対応するツールボックスがインストールされている場合) 記号操作に使用できます。 [ 2 ] [ 3 ] [ 4 ]
Scilab は、 MATLABの主要なオープンソース代替ソフトウェアの 2 つのうちの 1 つであり、もう 1 つはGNU Octaveです。[ 5 ] [ 6 ] [ 7 ] [ 8 ] Scilab は、Octave ほど MATLAB との構文互換性を重視していませんが、[ 5 ] [ 9 ] [ 10 ]十分に似ているため、一部の著者は、2 つのシステム間でスキルを簡単に移行できると示唆しています。[ 11 ] Xcosと組み合わせると、
Scilabは、数値計算に特化した高水準プログラミング言語です。この言語は、行列を主要なデータ型とするインタプリタ型プログラミング環境を提供します。行列ベースの計算、動的型付け、自動メモリ管理を用いることで、 Fortran、C 、 C++などの従来言語を用いた同様のソリューションと比較して、多くの数値問題をより少ないコード行数で表現できます。これにより、ユーザーはさまざまな数学的問題に対するモデルを迅速に構築できます。Scilabは乗算などの単純な行列演算を提供するだけでなく、相関や複雑な多次元演算といった高水準演算のライブラリも提供します。
Scilabには、連続サブシステムと離散サブシステムの両方を含む、明示的および暗黙的な動的システムのモデリングとシミュレーションを行うためのXcosという無料パッケージも含まれています。Xcosは、 MathWorks社のSimulinkに相当するオープンソースソフトウェアです。
Scilabの構文はMATLABと似ているため、MATLABからScilabへのコード変換を支援するソースコードトランスレータが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 ] ' ; // 注: t は列ベクトル、t' は行ベクトルですz = sin ( t ) * cos ( t ' ); // sin(t) と cos(t') の二進積は行列 z になりますplot3d ( t , t ' , z )与えられた添え字値のセットに対応する等価な単一のインデックスを決定する: [ 12 ]
function 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 endif 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 endfunctionScilabには、次のようなさまざまなタスクのための多くの貢献ツールボックスがあります。
詳細はATOMSポータルまたはScilab forgeで入手できます。
Scilabは1990年にINRIAと国立土木学校(ENPC)の研究者によって作成されました。当初はΨlab [ 13 ](Psilab)という名前でした。Scilabコンソーシアムは、貢献を拡大し、学術界と産業界でScilabを世界的なリファレンスソフトウェアとして促進するために2003年5月に設立されました。[ 14 ] 2008年7月、技術移転を改善するために、ScilabコンソーシアムはDigiteo Foundationに加わりました。
Mac向けにコンパイルされた最初のリリースであるScilab 5.1は、2009年初頭にリリースされ、Mac OS X 10.5(Leopard)をサポートしていました。そのため、OS X 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グループが5年間Scilabバージョンを開発した後、2022年にScilab運用チームがダッソー・システムズに加わりました。[ 17 ]それ以降のScilabバージョンは年号で命名されており、最初のバージョンはscilab-2023.0.0です。通常、1年に2つのリリースが公開されており、現在のバージョンはscilab-2026.1.0です。
2016年以降、Scilabはブラウザに組み込むことができ、Scilabで記述されたインターフェースまたはAPIを介して呼び出すことができるようになりました。
この新しい展開方法は、コードとデータをマスキングするだけでなく、大きな計算能力を提供するという顕著な利点があります。[ 18 ]
これらの機能はScilabのオープンソース版には含まれておらず、依然として独自開発の機能です。
{{cite book}}: CS1メンテナンス: 場所の発行元が見つかりません (リンク){{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)