主要内容

关数のパラメーター化

概要

このトピックで,fzero不可缺少的などmatlab®“关数をと关数”に渡す数学の追加をしたりこれらにしたりする方法方法を说明说明。。。

matlabのをとするは,の値の数式を计算计算ししますますます。。(呼ばれこれら关数は,关数に数の入力変数ががあることがが必要です。。fzeroおよび不可缺少的1つのにつの入力をもつへハンドルのみを受け入れ。。

系数bおよびcの异なるについて,项式项式项式x x x3+Bx+cの零点とます。。。つの入力(x,b,c)ををを受け入れる关数をを作成作成て,,これらこれらこれらこれらこれらこれらこれらこれらつのつのつのつの入力fzeroに渡すません。,,入れ子ののプロパティを利用すると,,追加で入力入力の値値値をを

入れ子关数使用した化化

1つの定义つのは,プログラムの别のに完全に含ま含まれ关数であるである“入れ子”を使用方法。このでは,亲关数Findzeroおよび入れ子关数polyを含むfindzero.mという名前ファイルを作成。。

功能y = findzero(b,c,x0)y = fzero(@poly,x0);功能y = poly(x)y = x^3 + b*x + c;结尾结尾

この入れ子关数,,,つのつの変数変数X3次次を定义します亲关数パラメーターパラメーターパラメーターbCを入力として受け入れます。polyFindzero内のするは,入れ子关数その亲关数のスペースををををを有有有Findzeroに渡したbCの値にpolyからアクセスようになり。。

b = 2C = 3.5をもつ式零点をには,开始点x0 = 0を使用て,コマンドからからFindzeroを次ように呼び出し。。

x = findzero(2,3.5,0)
x = -1.0945

无名关数使用した化化

追加のにする别の方法,,“无名”をするです无名关数は,别个のプログラム作成作成するすることことなくなくなく,,単一のコマンドコマンドでで定义定义できるできる关数关数ですです。。このこの关数关数关数关数では现在ののののができます。

3次次式记述する无名へハンドルをし,零点をを求め。。

b = 2;C = 3.5;cubicpoly = @(x)x^3 + b*x + c;x = fzero(Cubicpoly,0)
x = -1.0945

変数立方体は,,つのつのXをもつ无名关数です。无名关数は,关数ハンドルをする@记号のに小かっこ内含めます。系数bおよびC立方体の作成スペース内にする,この无名ではこれらこれらの系数系数の入力入力は。

无名关数は,中间変数立方体の作成不要ですその代わりに,fzeroを呼び出す关数ハンドル完全な定义含め。。。

b = 2;C = 3.5;x = fzero(@(x)x^3 + b*x + c,0)
x = -1.0945

无名关数て,关数ににさらになな目的关数を呼び出すことももできます。。たとえば,,,次次Cubicpoly.mという名前ファイルがとします。

功能y =立方体(x,b,c)y = x^3 + b*x + c;结尾

コマンドラインでbCを定义し后,立方体を呼び出す无名でfzeroを呼び出します。

b = 2;C = 3.5;x = fzero(@(x)Cubicpoly(x,b,c),0)
x = -1.0945

メモ

パラメーターの変更に,新しい关数作成なければばなりません。たとえば,,次次のようにに

b = 10;C = 25;x = fzero(@(x)x^3 + b*x + c,0);

关连するトピック