主要内容

이번역최신을있지않습니다않습니다。최신내용으로보려면를하십시오하십시오하십시오。

비선형함수에연산

함수핸들(功能手柄)

임의matlab®함수에을다음다음,해당해당참조수단사용할있습니다있습니다있습니다。일반적핸들은목록다른에전달되며되며되며되며되며을전달전달받은함수는핸들을을사용사용하여해당평가할수있습니다。

matlab에서함수을하려면함수이름에에기호((@)를사용。다음예제에서는함수에함수핸들만들고이를변수fhandle에할당합니다。

fhandle = @sin;

함수이름하여를호출것과방식으로을사용하여하여함수를호출호출할있습니다있습니다있습니다。구문은같습니다。

fhandle(arg1,arg2,...);

아래나와있는와plot_fhandle은함수데이터수신하고하고하고하고하여하여하여하여하여데이터생성한생성한다음이플로팅플로팅합니다합니다합니다。

函数plot_fhandle(fhandle,data)图(数据,fhandle(data))

아래나와있는함수핸들인수를사용하여plot_fhandle을호출결과진행되는실행에서플롯이생성됩니다됩니다。

plot_fhandle(@sin,-pi:0.01:pi)

함수(功能函数)

“函数函数)”라는라는클래스스칼라로된함수와함께됩니다됩니다됩니다됩니다。즉,함수함수다른에동작입니다입니다입니다。함수(函数函数)에는에는포함됩니다。

  • 해찾기

  • 최적화

  • 구적법

  • 상미분방정식

matlab에서는를,해당해당하는파일나타냅니다나타냅니다나타냅니다。예를,다음은MATLAB/演示폴더에있는함수驼峰의내용간단히것입니다。

函数y = humps(x)y = 1./(x-.3).^ 2 + .01) + 1./(x-.9).^ 2 + .04)-6;

다음을을구간0≤X≤1내점에서함수를보겠습니다보겠습니다보겠습니다보겠습니다。

x = 0:.002:1;y =驼峰(x);

그런후을함수플로팅합니다합니다。

情节(x,y)

x x = 0.6근방에서국소을갖습니다갖습니다갖습니다갖습니다。함수fminsearch는함수의최소점(함수가최솟값을되는X의)을구합니다。fminsearch의첫는화할에함수핸들이고두인수인수는최솟값을갖는인인인인인인인인인추측값값입니다

p = fminsearch(@humps,.5)p = 0.6370

최소점에서를하면같습니다같습니다。

驼峰(P)ANS = 11.2528

수치분석가들분수치근사와상미분수치적분을구분위해위해구적법적분이라는용어사용합니다。matlab의구적루틴은은QuadQuadl입니다。다음명령문은

q = quadl(@humps,0,1)

그래프에서부분면적을계산그로다음과결과가생성됩니다됩니다。

Q = 29.8583

결과적,그래프에서함수가이에서에서에서인인이없음보여줍니다줍니다줍니다줍니다。따라서다음통해통해0을찾으면(해를)

z = fzero(@humps,.5)

구간외부가있음확인됩니다됩니다됩니다。

Z = -0.1316