MATLABMatrix Laboratory[ 18 ]は、 MathWorksが開発した独自のマルチパラダイムプログラミング言語および数値計算環境です。MATLABでは、行列操作、関数とデータのプロット、アルゴリズムの実装、ユーザーインターフェイスの作成、他の言語で書かれたプログラムとのインターフェイスが可能です。

MATLABは主に数値計算を目的としていますが、オプションのツールボックスではMuPADシンボリックエンジンを使用してシンボリック計算機能にアクセスできます。追加パッケージであるSimulinkは、動的システムおよび組み込みシステム向けのグラフィカルなマルチドメインシミュレーションとモデルベース設計を追加します。

2020年現在、MATLABは世界中で400万人以上のユーザーを抱えています。[ 19 ]工学科学経済学など、様々な分野のユーザーが利用しています。2017年現在、世界中で5000以上の大学がMATLABを教育と研究の支援に使用しています。[ 20 ]

歴史

起源

MATLABは、数学者でコンピュータプログラマーのクリーヴ・モーラーによって発明されました。[ 21 ] MATLABのアイデアは、1960年代の彼の博士論文に基づいています。[ 21 ]モーラーはニューメキシコ大学の数学教授になり、学生のためにMATLABの開発を始めました。[ 21 ]趣味として。[ 22 ]彼は、1967年に、かつての論文指導教官であるジョージ・フォーサイスと共に、 MATLABの最初の線形代数プログラミングを開発しました。[ 21 ]これに続いて、1971年に線形方程式用のFortranコードが開発されました。 [ 21 ]

バージョン1.0より前のMATLABは「プログラミング言語ではなく、単純な対話型行列計算機でした。プログラムもツールボックスもグラフィックスもありませんでした。常微分方程式FFTもありませんでした。」[ 23 ]

MATLABの初期バージョンは1970年代後半に完成しました。[ 21 ]このソフトウェアは1979年2月にカリフォルニアの海軍大学院で初めて公開されました。[ 22 ] MATLABの初期バージョンは、71個の組み込み関数を備えた単純な行列計算機でした。 [ 24 ]当時、MATLABは無料で配布されていました。[ 25 ] [ 26 ] [ 27 ]モーラーは訪問した大学にコピーを残し、このソフトウェアは大学の数学科で強い支持を得ました。[ 28 ] : 5

1980年代、クリーブ・モラーはジョン・N・リトルと出会いました。彼らはMATLABをC言語で再プログラムし、当時メインフレームコンピュータに取って代わろうとしていたIBMデスクトップコンピュータ向けに販売することを決定しました。 [ 21 ]ジョン・リトルとプログラマーのスティーブ・バンガートはMATLABをC言語で再プログラムし、MATLABプログラミング言語を作成し、ツールボックスの機能を開発しました。[ 22 ]

商業開発

MATLABは1984年にラスベガスで開催された自動制御会議で初めて商用製品として発表されました。[ 21 ] [ 22 ] MathWorks社がソフトウェア開発のために設立され[ 26 ]、MATLABプログラミング言語がリリースされました。[ 24 ] MATLABの最初の販売は翌年、マサチューセッツ工科大学ニック・トレフェセンが10本を購入したことでした。[ 22 ] [ 29 ]

1980年代末までに、MATLABは数百部が学生向けに大学に販売されていました。[ 22 ]このソフトウェアが普及したのは、主に様々な分野の専門家が専門的な数学タスクを実行するために作成したツールボックスのおかげです。[ 25 ]多くのツールボックスは、スタンフォード大学の学生が学術界でMATLABを使用し、その後そのソフトウェアを民間部門に持ち込んだ結果として開発されました。[ 22 ]

時が経つにつれ、MATLABはDigital Equipment CorporationVAXSun Microsystemsなどの初期のオペレーティングシステムやUnix PC向けに書き直されました。 [ 22 ] [ 24 ]バージョン3は1987年にリリースされました。 [ 30 ]最初のMATLABコンパイラは1990年代にStephen C. Johnsonによって開発されました。 [ 24 ]

2000年に、MathWorksはMATLAB 6に線形代数用のFortranベースのライブラリを追加し、C言語で書かれた元のLINPACKとEISPACKサブルーチンを置き換えました。[ 24 ] MATLABの並列コンピューティングツールボックスは2004年のスーパーコンピューティングカンファレンスでリリースされ、2010年にはグラフィックスプロセッシングユニット(GPU)のサポートが追加されました。[ 24 ]

最近の歴史

2012年のバージョン8では、ソフトウェアに特に大きな変更がいくつか加えられました。[ 31 ]ユーザーインターフェースが改良され、Simulinkの機能が拡張されました。[ 32 ]

2016年までに、MATLABはMATLABライブエディターノートブックやその他の機能を含むいくつかの技術的およびユーザーインターフェースの改善を導入しました。[ 24 ]

リリース履歴

MATLABと公式ツールボックスの変更点の完全なリストについては、MATLABの以前のリリースを確認してください。[ 33 ]

構文

MATLAB アプリケーションは、MATLAB プログラミング言語を中心に構築されています。

MATLABアプリケーションの一般的な使用法としては、「コマンドウィンドウ」を対話型の数学シェルとして使用したり、MATLABコードを含むテキストファイルを実行することが挙げられます。 [ 34 ]

「Hello, world!」の例

MATLAB には 「Hello, world!」プログラムの例があります。

disp ( 'Hello, world!' )

次のように表示されます。

こんにちは世界!

変数

変数は代入演算子を使用して定義されます=

MATLABは型が暗黙的に変換されるため、弱い型付けのプログラミング言語です。 [ 35 ]変数はシンボリックオブジェクトとして扱われる場合を除き、型を宣言せずに代入できるため、推論型言語 です。 [ 36 ]また、型は変更される可能性があります。

値は、定数、他の変数の値を含む計算、または関数の出力から取得されます。

例えば:

>> x = 17 x = 17>> x = '帽子' x =帽子>> x = [ 3 * 4 , pi / 2 ] x =  12.0000 1.5708>> y = 3 * sin ( x ) y =  -1.6097 3.0000

ベクトルと行列

単純な配列は、コロン構文(初期:増分:終端文字)を使用して定義されます。例えば、

>>配列= 1 : 2 : 9配列 = 1 3 5 7 9

という名前の変数を定義しますarray(または、 という名前の既存の変数に新しい値を割り当てますarray)。この配列は、値 1、3、5、7、9 で構成される配列です。つまり、配列は 1 (初期値) から始まり、各ステップで前の値から 2 (増分値) ずつ増加し、9 (終了値)に達すると (または 9 を超えそうになると) 停止します。

実際には、この構文では増分値(コロンの 1 つとともに)省略して、デフォルト値 1 を使用することもできます。

>>アリ= 1 : 5アリ = 1 2 3 4 5

ari増分としてデフォルト値の 1 が使用されるため、値 1、2、3、4、5 を持つ配列を という名前の変数に割り当てます。

インデックスは1から始まります。[ 37 ]これは数学における行列の通常の慣例であり、C、 C++Javaなどの他のプログラミング言語で一般的に使用される0ベースのインデックスとは異なります。

行列は、行の要素を空白またはカンマで区切り、行間の区切りとしてセミコロンを使用することで定義できます。要素のリストは角括弧で囲む必要があります[]。括弧は()要素と部分配列にアクセスするために使用します(関数の引数リストを示すためにも使用されます)。

>> A = [ 16 , 3 , 2 , 13 ; 5 , 10 , 11 , 8 ; 9 , 6 , 7 , 12 ; 4 , 15 , 14 , 1 ] A = 16 3 2 13  5 10 11 8  9 6 7 12  4 15 14 1>> A ( 2 , 3 )答え = 11

インデックスのセットは、 のような式で指定できます。2:4これは と評価されます[2, 3, 4]。例えば、行2から行4、列3から列4までの部分行列は、次のように表すことができます。

>> A ( 2 : 4 , 3 : 4 ) ans = 11 8 7 12 14 1

サイズnの正方単位行列は関数 を使って生成でき、ゼロまたは 1 を含む任意のサイズの行列は関数 と を使ってそれぞれ生成できます。 eyezerosones

>>( 3 , 3 )答え = 1 0 0 0 1 0 0 0 1>>ゼロ( 2 , 3 ) ans = 0 0 0 0 0 0>> 1 ( 2 , 3 )答え = 1 1 1 1 1 1

ベクトルまたは行列の転置はtranspose、関数を使用するか、行列の後にドットとプライムを追加することによって行われます (ドットがない場合、プライムは複素配列の 共役転置を実行します)。

>> A = [ 1 ; 2 ]、B = A . ' C =転置( A ) A =  1  2 B =  1 2 C =  1 2>> D = [ 0 , 3 ; 1、5' D =  0 3  1 5 ans =  0 1  3 5

ほとんどの関数は配列を入力として受け取り、各要素を要素ごとに演算します。例えば、はJmod(2*J,n)のすべての要素を2倍し、各要素をnを法として減算します。MATLABには標準的なループ機能も含まれていますが、( APLRなどの他の類似アプリケーションと同様に)ベクトル表記の使用が推奨されており、多くの場合、実行速度も速くなります。関数magic.mから抜粋した次のコードは、nが奇数の場合の魔方陣Mを作成します(ここではMATLAB関数を使用して、を含む正方行列IJを生成します)。 forwhilemeshgrid

[ J , I ] =メッシュグリッド( 1 : n ); A = mod ( I + J - ( n + 3 ) / 2 , n ); B = mod ( I + 2 * J - 2 , n ); M = n * A + B + 1 ;

構造

MATLABは構造体データ型をサポートしています。[ 38 ] MATLABのすべての変数は配列であるため、「構造体配列」というより適切な名前が付けられます。この場合、配列の各要素は同じフィールド名を持ちます。さらに、MATLABは動的なフィールド名をサポートしています[ 39 ](名前によるフィールドの参照、フィールド操作など)。

機能

MATLAB関数を作成する際、ファイル名はファイル内の最初の関数名と一致する必要があります。有効な関数名はアルファベットで始まり、文字、数字、アンダースコアを含めることができます。変数と関数は大文字と小文字が区別されます。[ 40 ]

rgbImage = imread ( 'ecg.png' ); grayImage = rgb2gray ( rgbImage ); % インデックスなしの画像の場合、 level = graythresh ( grayImage ); % 画像をバイナリに変換するためのしきい値、binaryImage = im2bw ( grayImage level ); % 個々の赤、緑、青のカラー チャネルを抽出します。redChannel = rgbImage (:, :, 1 ); greenChannel = rgbImage (:, :, 2 ); blueChannel = rgbImage (:, :, 3 ); % 黒い部分を純粋な赤にします。redChannel ( ~ binaryImage ) = 255 ; greenChannel ( ~ binaryImage ) = 0 ; blueChannel ( ~ binaryImage ) = 0 ; % 出力画像を形成するために再結合します。rgbImageOut = cat ( 3 redChannel greenChannel blueChannel ); imshow ( rgbImageOut );

関数ハンドル

MATLABは、関数ハンドル[ 41 ]または関数参照を導入することでラムダ計算の要素をサポートしています。これらは.mファイルまたは匿名[ 42 ] /ネストされた関数[ 43 ]で実装されています。

クラスとオブジェクト指向プログラミング

MATLABは、クラス、継承、仮想ディスパッチ、パッケージ、値渡しセマンティクス、参照渡しセマンティクスを含むオブジェクト指向プログラミングをサポートしています。[ 44 ]しかし、構文と呼び出し規約は他の言語とは大きく異なります。MATLABには値クラスと参照クラスがあり、クラスがスーパークラスとして扱われるかどうか(参照クラスの場合)と扱われないかどうか(値クラスの場合)によって分類されます。[ 45 ]

メソッド呼び出しの動作は、値クラスと参照クラスで異なります。例えば、メソッド呼び出しは次のようになります。

オブジェクト.メソッド();

オブジェクトが参照クラスのインスタンスである場合にのみ、オブジェクトのメンバーを変更できます。それ以外の場合、値クラス メソッドは、オブジェクトを変更する必要がある場合に新しいインスタンスを返す必要があります。

単純なクラスの例を以下に示します。

classdef Helloメソッドfunction greet ( obj ) disp ( 'Hello!' ) end end end

という名前のファイルに入れるとhello.m、次のコマンドで実行できます。

>> x = Hello (); >> x . greet ();こんにちは!

グラフィックスとグラフィカルユーザーインターフェースプログラミング

MATLABには緊密に統合されたグラフ描画機能があります。例えば、関数plotを使うと、2つのベクトルxyからグラフを作成できます。コードは以下のとおりです。

x = 0 :パイ/ 100 : 2 *パイ; y =( x );プロット( x , y )

正弦関数の次の図が生成されます。

MATLAB は 3 次元グラフィックスもサポートしています。

MATLABはグラフィカルユーザーインターフェース(GUI)アプリケーションの開発をサポートしています。[ 46 ] UIはプログラムで生成することも、GUIDEApp Designerなどのビジュアル設計環境を使用して生成することもできます。[ 47 ] [ 48 ]

MATLABとその他の言語

MATLABは、 C言語やFortran言語で書かれた関数やサブルーチンを呼び出すことができます。[ 49 ] MATLABのデータ型を渡したり返したりできるようにラッパー関数が作成されます。MEXファイル(MATLAB実行ファイル)は、このような関数をコンパイルして作成される動的にロード可能なオブジェクトファイルです。[ 50 ] [ 51 ] 2014年以降、 Pythonとの双方向インターフェースがますます追加されています。[ 52 ] [ 53 ]

PerlJavaActiveX.NETで書かれたライブラリはMATLABから直接呼び出すことができ、[ 54 ] [ 55 ]、多くのMATLABライブラリ(例えばXMLSQLサポート)はJavaやActiveXライブラリのラッパーとして実装されています。JavaからMATLABを呼び出すのはより複雑ですが、MathWorksが別売りしているMATLABツールボックス[ 56 ]を使用するか、JMI(Java-to-MATLAB Interface)と呼ばれる文書化されていないメカニズム[ 57 ] [ 58 ] (これもJMIと呼ばれる無関係なJavaメタデータインターフェイスと混同しないでください)を使用して行うことができます。Java用の公式MATLAB APIは2016年に追加されました。[ 59 ]

MathWorksが提供するMuPADベースのSymbolic Math Toolboxの代替として、MATLABはMapleMathematicaに接続することができる。[ 60 ] [ 61 ]

MathMLをインポートおよびエクスポートするためのライブラリも存在します。[ 62 ]

米国の制裁との関係

2020年、MATLABは米国の制裁措置を受けて、中国の2つの大学からサービスを撤退しました。大学側は、オープンソースの代替手段の利用拡大と国内の代替手段の開発によってこれに対応すると述べています。[ 63 ]

参照

注記

  1. ^ 「L字型膜」 MathWorks、2003年。2019年4月23日時点のオリジナルよりアーカイブ。2014年2月7日閲覧。
  2. ^ a b https://www.mathworks.com/videos/r2025b-release-highlights-1757449057407.html .{{cite web}}:欠落または空|title=(ヘルプ)
  3. ^ 「システム要件とプラットフォームの可用性」 . MathWorks. 2016年10月13日時点のオリジナルよりアーカイブ。 2013年8月14日閲覧
  4. ^ 「MATLABおよびSimulink製品ファミリーのプラットフォームロードマップ」de.mathworks.com . 2021年12月22日閲覧
  5. ^ 「ソースコードを保護する」 MathWorks . 2019年11月1日閲覧
  6. ^ 「MEXプラットフォームの互換性」 . MathWorks . 2019年11月1日閲覧
  7. ^ 「MATファイルのバージョン」 . MathWorks . 2019年11月1日閲覧
  8. ^ 「図を保存して後でMATLABで再度開く」 . MathWorks . 2019年11月1日閲覧
  9. ^ 「ライブコードファイル形式(.mlx)」 . MathWorks . 2019年11月1日閲覧
  10. ^ 「MATLAB App Designer」 . MathWorks . 2019年11月1日閲覧
  11. ^ 「Toolbox Distribution」 . MathWorks . 2019年11月1日閲覧
  12. ^ 「MATLAB アプリインストーラーファイル」。MathWorks。2014年1月17日時点のオリジナルよりアーカイブ2019年11月1日閲覧。
  13. ^ 「サポートパッケージのインストール」。MathWorks。2014年10月6日時点のオリジナルよりアーカイブ2019年11月1日閲覧。
  14. ^ 「2004年3月8日と9日、カリフォルニア州サンタバーバラにてトーマス・ヘイグが行ったクリーヴ・モーラー氏へのインタビュー」(PDF) 。コンピュータ歴史博物館。 2014年12月27日時点のオリジナル(PDF)からアーカイブ。 2016年12月6日閲覧つまり、APL、Speakeasy、LINPACK、EISPACK、そしてPL0はMATLABの前身となる。
  15. ^ Bezanson, Jeff; Karpinski, Stefan; Shah, Viral; Edelman, Alan (2012年2月14日). 「Juliaを作った理由」 . Julia Language . 2016年12月1日閲覧
  16. ^ Eaton, John W. (2001年5月21日). 「Octave: Past, Present, and Future」(PDF) . Texas-Wisconsin Modeling and Control Consortium . 2017年8月9日時点のオリジナル(PDF)からアーカイブ。 2016年12月1日閲覧
  17. ^ “History” . Scilab. 2016年12月1日時点のオリジナルよりアーカイブ2016年12月1日閲覧。
  18. ^ 「行列と配列 - MATLAB & Simulink」 . www.mathworks.com . 2022年5月21日閲覧
  19. ^ The MathWorks (2020年2月). 「会社概要」(PDF) . 2020年7月19日時点のオリジナル(PDF)からアーカイブ。 2020年5月11日閲覧
  20. ^ 「現在の世界中のMATLABユーザー数」 Mathworks . 2017年11月9日. 2023年4月26日閲覧
  21. ^ a b c d e f g h Chonacky, N.; Winch, D. (2005). 「Maple、Mathematica、Matlabのレビュー:お近くの出版物に近日掲載予定」. Computing in Science & Engineering . 7 (2). Institute of Electrical and Electronics Engineers (IEEE): 9– 10. Bibcode : 2005CSE.....7b...9C . doi : 10.1109/mcse.2005.39 . ISSN 1521-9615 . S2CID 29660034 .  
  22. ^ a b c d e f g h Haigh, Thomas. 「Cleve Moler: 数学ソフトウェアのパイオニアであり、Matlabの創始者」(PDF) . IEEE Annals of the History of Computing . IEEE Computer Society.
  23. ^ 「MATLABの簡潔な歴史」www.mathworks.com . 2021年9月4日閲覧
  24. ^ a b c d e f g Moler, Cleve; Little, Jack (2020年6月12日). 「MATLABの歴史」 . ACMプログラミング言語会議論文集. 4 (HOPL). Association for Computing Machinery (ACM): 1– 67. doi : 10.1145/3386331 . ISSN 2475-1421 . 
  25. ^ a b Xue、D.;プレス、TU (2020)。MATLAB プログラミング: 数学的問題の解決法。デ・グリュイター STEM。デ・グルイテル。 p. 21.ISBN 978-3-11-066370-9. 2020年9月16日閲覧
  26. ^ a b Press, CRC (2008). MATLABによる応用数学問題の解決. CRC Press. p. 6. ISBN 978-1-4200-8251-7. 2020年9月16日閲覧
  27. ^ Woodford, C.; Phillips, C. (2011).数値解析法と実例集: Matlab版. SpringerLink : Bücher. Springer Netherlands. p. 1. ISBN 978-94-007-1366-6. 2020年9月16日閲覧
  28. ^ Tranquillo, JV (2011). MATLAB for Engineering and the Life Sciences . Synthesis digital library for engineering and computer science. Morgan & Claypool Publishers. ISBN 978-1-60845-710-6. 2020年9月17日閲覧
  29. ^ LoTurco, Lori (2020年1月28日). 「エンジニアリングのペースを加速させる」 . MITニュース. マサチューセッツ工科大学. 2020年9月16日閲覧
  30. ^ Gatto, Marino; Rizzoli, Andrea (1993). 「MATLAB バージョン4.0のレビュー」.天然資源モデリング. 7 (1). Wiley: 85–88 . Bibcode : 1993NRM.....7...85G . doi : 10.1111/j.1939-7445.1993.tb00141.x . ISSN 0890-8575 . 
  31. ^ Cho, MJ; Martinez, WL (2014). MATLABによる統計:入門. Chapman & Hall/CRC コンピュータサイエンス&データ分析. CRC Press. ISBN 978-1-4665-9657-3. 2020年9月17日閲覧
  32. ^ Xue, D.; Chen, Y. (2013). MATLABとSimulinkによるシステムシミュレーションテクニック. 現在は使用されていません. Wiley. p. 17. ISBN 978-1-118-69437-4. 2020年10月15日閲覧
  33. ^ 「MATLAB 以前のリリース」 . MathWorks . 2024年12月3日閲覧
  34. ^ 「MATLABドキュメント」 . MathWorks. 2024年6月19日時点のオリジナルよりアーカイブ2013年8月14日閲覧。
  35. ^ 「MATLABと他のオブジェクト指向言語の比較」 MATLAB MathWorks。2013年10月29日時点のオリジナルよりアーカイブ。 2013年8月14日閲覧
  36. ^ 「シンボリック変数と式の作成」 . Symbolic Math Toolbox . MathWorks. 2013年7月12日時点のオリジナルよりアーカイブ。 2013年8月14日閲覧
  37. ^ 「行列のインデックス付け」 MathWorks. 2018年8月9日時点のオリジナルよりアーカイブ2013年8月14日閲覧。
  38. ^ “Structures” . MathWorks. 2019年7月13日時点のオリジナルよりアーカイブ2013年8月14日閲覧。
  39. ^ 「変数からフィールド名を生成する」 . MathWorks. 2019年12月5日時点のオリジナルよりアーカイブ2013年8月14日閲覧。
  40. ^ 「大文字と小文字の区別とスペースの区別」 . MathWorks . 2019年11月1日閲覧
  41. ^ 「関数ハンドル」 . MathWorks. 2020年7月19日時点のオリジナルよりアーカイブ2013年8月14日閲覧。
  42. ^ 「匿名関数」 . MathWorks. 2013年7月28日時点のオリジナルよりアーカイブ2013年8月14日閲覧。
  43. ^ 「ネストされた関数」 . MathWorks. 2020年7月19日時点のオリジナルよりアーカイブ2013年8月14日閲覧。
  44. ^ 「オブジェクト指向プログラミング」。MathWorks。2019年12月5日時点のオリジナルよりアーカイブ2013年8月14日閲覧。
  45. ^ 「ハンドルクラスと値クラスの比較」。MathWorks。2019年12月5日時点のオリジナルよりアーカイブ2013年8月14日閲覧。
  46. ^ "MATLAB GUI" . MathWorks. 2011年4月30日. 2022年1月17日時点のオリジナルよりアーカイブ2013年8月14日閲覧。
  47. ^ 「シンプルなGUIDE GUIを作成する」 . MathWorks. 2014年10月5日時点のオリジナルよりアーカイブ2014年8月14日閲覧。
  48. ^ 「MATLAB App Designer」 . MathWorks . 2019年11月1日閲覧
  49. ^ 「MATLABへのアプリケーションプログラミングインターフェース」。MathWorks。2017年9月15日時点のオリジナルよりアーカイブ2013年8月14日閲覧。
  50. ^ 「MEXファイルの作成」 . MathWorks. 2014年3月3日時点のオリジナルよりアーカイブ2013年8月14日閲覧。
  51. ^ Spielman, Dan (2004年2月10日). 「Connecting C and Matlab」 . イェール大学コンピュータサイエンス学部. 2008年5月20日閲覧
  52. ^ 「MATLAB Engine for Python」 . MathWorks. 2015年5月16日時点のオリジナルよりアーカイブ2015年6月13日閲覧。
  53. ^ 「Pythonライブラリを呼び出す」 . MathWorks. 2019年12月5日時点のオリジナルよりアーカイブ2015年6月13日閲覧。
  54. ^ 「外部プログラミング言語インターフェース」 . MathWorks. 2014年3月11日時点のオリジナルよりアーカイブ2013年8月14日閲覧。
  55. ^ 「適切なオペレーティングシステムの実行ファイルを使用してPerlスクリプトを呼び出す」。MathWorks。2019年12月5日時点のオリジナルよりアーカイブ2013年11月7日閲覧。
  56. ^ "MATLAB Builder JA" . MathWorks. 2011年6月4日時点のオリジナルよりアーカイブ。 2010年6月7日閲覧
  57. ^ Altman, Yair (2010年4月14日). 「Java-to-Matlab Interface」 . 未文書化Matlab. 2015年9月5日時点のオリジナルよりアーカイブ。 2010年6月7日閲覧
  58. ^カプラン、ジョシュア。「matlabcontrol JMI」
  59. ^ 「MATLAB Engine API for Java」 . MathWorks. 2020年9月19日時点のオリジナルよりアーカイブ2016年9月15日閲覧。
  60. ^ Germundsson, Roger (1998年9月30日). 「MaMa: MathLinkを使ってMathematicaからMATLABを呼び出す」 . Wolfram Research . Wolfram Library Archive.
  61. ^ rsmenon; szhorvat (2013). 「MATLink: MathematicaからMATLABへの通信」 . 2013年8月14日閲覧
  62. ^ Weitzel, Michael (2006年9月1日). 「MathMLのインポート/エクスポート」 . MathWorks - File Exchange. 2011年2月25日時点のオリジナルよりアーカイブ2013年8月14日閲覧。
  63. ^ 「米軍の禁止措置により、中国の2つの大学が人気ソフトウェアを利用できなくなった」サウスチャイナ・モーニング・ポスト、2020年6月12日。 2020年11月6日閲覧

さらに読む

  • ギラット、エイモス (2004). MATLAB: 入門と応用 第2版. John Wiley & Sons. ISBN 978-0-471-69420-5
  • Quarteroni, Alfio ; Saleri, Fausto (2006). MATLABとOctaveによる科学計算. Springer. ISBN 978-3-540-32612-0
  • Ferreira, AJM (2009).有限要素解析のためのMATLABコード. Springer. ISBN 978-1-4020-9199-5
  • リンチ、スティーブン(2004)『MATLABによる動的システムとその応用』ビルクハウザー。ISBN 978-0-8176-4321-8
  • サルギオティス、ディミトリオス(2025年)『土木エンジニアのためのMATLAB:基礎から高度な応用まで』Springer. ISBN 978-3-031-84672-4