关数のパラメーター化
概要
このトピックで,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;结尾结尾
この入れ子关数,,,つのつの変数変数X
3次次を定义します亲关数パラメーターパラメーターパラメーターb
とC
を入力として受け入れます。poly
をFindzero
内のするは,入れ子关数その亲关数のスペースををををを有有有Findzero
に渡したb
とC
の値にpoly
からアクセスようになり。。
b = 2
とC = 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;结尾
コマンドラインでb
とC
を定义し后,立方体
を呼び出す无名で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);