工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> MATLAB

GNU Octaveをマスター:MATLAB互換の完全チュートリアル

GNU OctaveはMATLABのような高水準プログラミング言語で、MATLABとほぼ互換性があります。数値計算にも使用されます。

OctaveにはMATLABと以下の共通機能があります。

GNU Octaveは自由に再配布可能なソフトウェアです。フリーソフトウェア財団によって公開されたGNU General Public License(GPL)の条件の下で、再配布および変更が可能です。

MATLABとOctaveの比較

ほとんどのMATLABプログラムはOctaveで実行できますが、Octaveの一部のプログラムはMATLABで実行できない場合があります。これは、OctaveがMATLABでは許可されていない構文を許可しているためです。

例えば、MATLABは一重引用符のみサポートしますが、Octaveは一重引用符と二重引用符の両方を文字列定義にサポートしています。Octaveのチュートリアルをお探しの場合は、このチュートリアルを最初から読み進めてください。MATLABとOctaveの両方をカバーしています。

互換性のある例

このチュートリアルで扱われているほぼすべての例は、MATLABとOctaveの両方で互換性があります。構文変更なしで両方で同じ結果を生成する以下の例をMATLABとOctaveで試してみてください。

この例は、関数g = xe-(x2 + y2)の3D曲面マップを作成します。スクリプトファイルを作成し、以下のコードを入力します。

 [x,y] = meshgrid(-2:.2:2); g = x .* exp(-x.^2 - y.^2); surf(x, y, g) print -deps graph.eps 

ファイルを実行すると、MATLABは以下の3Dマップを表示します。

GNU Octaveをマスター:MATLAB互換の完全チュートリアル

非互換の例

MATLABのすべてのコア機能はOctaveで利用できますが、微分・積分学など一部の機能は両言語で完全に一致しません。このチュートリアルでは、構文が異なる場合に両方の例を示しています。

以下の例では、MATLABとOctaveが曲線の面積を求めるために異なる関数を使用しています:f(x) = x2 cos(x)で−4 ≤ x ≤ 9。以下はMATLAB版のコードです。

 f = x^2*cos(x); ezplot(f, [-4,9]) a = int(f, -4, 9) disp('Area: '), disp(double(a)); 

ファイルを実行すると、MATLABはグラフをプロットします。

GNU Octaveをマスター:MATLAB互換の完全チュートリアル

以下の結果が表示されます。

 a = 8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9) Area: 0.3326 

しかし、Octaveで同じ曲線の面積を求めるには、symbolicパッケージを使用する必要があります。

 pkg load symbolic symbols x = sym("x"); f = inline("x^2*cos(x)"); ezplot(f, [-4,9]) print -deps graph.eps [a, ierror, nfneval] = quad(f, -4, 9); display('Area: '), disp(double(a)); 

MATLAB

  1. Cプログラミング入門:初心者向け包括チュートリアル
  2. MATLAB徹底解説:数値計算環境の決定版
  3. MATLAB変数の理解:基礎から実例まで徹底解説
  4. MATLABデータ型完全ガイド:15種類の基本型と変換・判定関数
  5. MATLAB演算子完全ガイド:算術・論理・ビット演算・集合操作
  6. MATLAB行列完全マスター:作成・参照・操作・削除の基礎
  7. MATLAB:多次元配列と特殊配列をマスターする
  8. MATLABコロン演算子をマスター:ベクトル作成と効率的な反復処理
  9. MATLABの数値型:型、格納、変換
  10. MATLAB文字列をマスター:作成と活用ガイド
  11. MATLAB関数:定義、ワークスペース、入出力