Matlab-calculus

提供:Dev Guides
移動先:案内検索

MATLAB-微積分

MATLABは、微分および積分計算の問題を解くためのさまざまな方法を提供し、任意の次数の微分方程式を解き、限界を計算します。 何よりも、元の関数とその導関数を解くことにより、複雑な関数のグラフを簡単にプロットし、グラフ上の最大値、最小値、その他のひな形ポイントを確認できます。

この章では、微積分の問題を扱います。 この章では、計算前の概念、つまり関数の制限の計算と制限のプロパティの検証について説明します。

次の章_Differential_では、式の導関数を計算し、グラフ上の極大値と極小値を見つけます。 また、微分方程式の解法についても説明します。

最後に、_Integration_の章で、積分計算について説明します。

制限の計算

MATLABは、制限を計算するための limit 関数を提供します。 最も基本的な形式では、 limit 関数は引数として式を取り、独立変数がゼロになるときに式の制限を見つけます。

たとえば、xがゼロになる傾向があるため、関数f(x)=(x ^ 3 ^ + 5)/(x ^ 4 ^ + 7)の制限を計算します。

syms x
limit((x^3 + 5)/(x^4 + 7))

MATLABは上記のステートメントを実行し、次の結果を返します-

ans =
   5/7

制限関数は、シンボリックコンピューティングの領域に属します。 syms 関数を使用して、使用しているシンボリック変数をMATLABに伝える必要があります。 変数はゼロ以外の数になる傾向があるため、関数の制限を計算することもできます。 lim〜x→ a〜(f(x))を計算するには、引数付きのlimitコマンドを使用します。 最初は式であり、2番目は_x_が近づく番号です。ここでは_a_です。

たとえば、関数f(x)=(x-3)/(x-1)の限界を計算してみましょう。xは1になる傾向があります。

limit((x - 3)/(x-1),1)

MATLABは上記のステートメントを実行し、次の結果を返します-

ans =
   NaN

別の例を見てみましょう。

limit(x^2 + 5, 3)

MATLABは上記のステートメントを実行し、次の結果を返します-

ans =
   14

Octaveを使用した制限の計算

以下は、 symbolic パッケージを使用した上記の例のOctaveバージョンです。実行して結果を比較します-

pkg load symbolic
symbols

x = sym("x");
subs((x^3+5)/(x^4+7),x,0)

Octaveは上記のステートメントを実行し、次の結果を返します-

ans =
   0.7142857142857142857

制限の基本的なプロパティの検証

代数的制限定理は、制限のいくつかの基本的な特性を提供します。 これらは次のとおりです-

制限の基本プロパティ

私たちは2つの機能を考えてみましょう-

  • f(x)=(3x + 5)/(x-3)
  • g(x)= x ^ 2 ^ + 1。

xが両方の関数の5になる傾向にある関数の限界を計算し、これら2つの関数とMATLABを使用して限界の基本的な特性を検証します。

スクリプトファイルを作成し、それに次のコードを入力します-

syms x
f = (3*x + 5)/(x-3);
g = x^2 + 1;
l1 = limit(f, 4)
l2 = limit (g, 4)
lAdd = limit(f + g, 4)
lSub = limit(f - g, 4)
lMult = limit(f*g, 4)
lDiv = limit (f/g, 4)

あなたがファイルを実行すると、それが表示されます-

l1 =
   17

l2 =
   17

lAdd =
   34

lSub =
   0

lMult =
   289

lDiv =
   1

Octaveを使用した制限の基本プロパティの検証

以下は、 symbolic パッケージを使用した上記の例のOctaveバージョンです。実行して結果を比較します-

pkg load symbolic
symbols

x = sym("x");
f = (3*x + 5)/(x-3);
g = x^2 + 1;

l1 = subs(f, x, 4)
l2 = subs (g, x, 4)
lAdd = subs (f+g, x, 4)
lSub = subs (f-g, x, 4)
lMult = subs (f*g, x, 4)
lDiv = subs (f/g, x, 4)

Octaveは上記のステートメントを実行し、次の結果を返します-

l1 =
   17.0
l2 =
   17.0
lAdd =
   34.0
lSub =
   0.0
lMult =
   289.0
lDiv =
   1.0

左右の制限

関数に変数の特定の値の不連続性がある場合、その時点で制限は存在しません。 つまり、関数f(x)の制限は、xが左側からxに近づくにつれてlimitの値がxが右側から近づくにつれて制限の値と等しくないときに、x = aで不連続性を持ちます。

これは、左利きと右利きの制限の概念につながります。 左利きの制限は、x <> aの値に対して、左からx→ aの制限として定義されます。 右利きの制限は、x> aの値について、右からx→ aの制限、つまりxがaに近づく制限として定義されます。 左利きの制限と右利きの制限が等しくない場合、制限は存在しません。

関数を考えてみましょう-

*f(x)=(x-3)/| x-3 |*

lim〜x→ 3〜f(x)が存在しないことを示します。 MATLABは、2つの方法でこの事実を確立するのに役立ちます-

  • 関数のグラフをプロットし、不連続性を表示する。
  • 制限を計算し、両方が異なることを示すことにより。

左利きおよび右利きの制限は、文字列「left」および「right」を最後の引数としてlimitコマンドに渡すことによって計算されます。

スクリプトファイルを作成し、それに次のコードを入力します-

f = (x - 3)/abs(x-3);
ezplot(f,[-1,5])
l = limit(f,x,3,'left')
r = limit(f,x,3,'right')

ファイルを実行すると、MATLABは次のプロットを描画します

関数の不連続性

この後、次の出力が表示されます-

l =
   -1

r =
   1