主要内容

이번역페이지는최신내용을담고있지않습니다。최신내용을영문으로보려면여기를클릭하십시오。

사용자지정모델

사용자지정모델과라이브러리모델비교

툴박스라이브러리에원하는모수적방정식이없다면고유의사용자지정수식을만들수있습니다。그러나라이브러리모델을사용하면빠르게수렴할확률이높습니다。그이유는다음과같습니다。

  • 대부분의라이브러리모델의경우툴박스가최적의디폴트계수시작점을계산합니다。사용자지정모델의경우툴박스가구간[0,1]에서디폴트시작점을무작위로선택하게됩니다。따라서,사용자가직접사용자지정모델에적합한시작점을찾을필요가있습니다。

  • 라이브러리모델은해석적야코비행렬을사용합니다。사용자지정모델은유한차분을사용합니다。

선형피팅과비선형피팅

사용자지정수식피팅유형사용사하여사용자지정일반을만들수있습니다。일반모델은항(비선형일수있음)의의조합입니다。일반일반은파라미터가비선형일가능성이있는있는방정식으로정의。사용자지정지정수식피팅피팅은비선형제곱피팅절차절차를합니다용

비선형피팅은선형최소제곱피팅보다덜효율적이고일반적으로속도가느리긴하지만,사용자지정수식피팅유형을사용하여사용자지정선형방정식을정의할수있습니다。

  • 방정식이일련의선형함수로표현될수있는지여부를잘모르겠으면사용자지정수식을선택하십시오。사용자가직접적합한시작점을찾아야할수있습니다。

  • 사용자지정수식에대해선형최소제곱피팅이필요한경우에는대신선형피팅모델유형을선택하십시오。自定义线性拟合항목을참조하십시오。

대화형방식으로사용자지정수식피팅선택하기

곡선피팅앱의모델유형목록에서사용자지정수식을을합니다。

고유의수식을정의하려면사용자지정수식피팅을사용하십시오。아래에서곡선데이터에대해표시된것처럼목록에서사용자지정수식을선택하면사용자지정수식예제가표시됩니다。

곡면데이터인경우에는사용자지정지정예제가xy를모두사용합니다。

  1. xyz를임의의유효한변수이름으로바꿀수있습니다。

  2. 하단상자에서예제를편집하여고유의사용자지정수식을정의합니다。변수이름을사용하여임의의유효한MATLAB®표현식을입력할수있습니다。함수또는스크립트이름을지정할수있습니다(곡선피팅앱에서파일에의해저장된곡선피팅하기참조)。

  3. 시작점또는한계를지정하려면피팅옵션을클릭하십시오。기본적으로,시작값은구간[0,1]에서무작위로선택되며제약조건이적용되지않습니다。사용자가직접적합한시작점과한계를찾아야할수있습니다。예제는自定义非线性ENSO数据分析항목을참조하십시오。

    피팅옵션을설정한다음다른피팅설정을변경하면가능한경우앱이하,한상한,시작점에대한선택사항을기억합니다。사용자지정수식의경우에는곡선피팅앱이항상사용자값을기억하지만,여러라이브러리모델의경우에는피팅설정을변경하면앱이시작점또는하한에대한새로운최적의값을자동으로계산합니다。

사용자지정수식을저장된곡선피팅앱세션의일부로저장할수있습니다。

사용자함수함수는피팅도중에그리고피팅전전처리도중에여러실행될될단,파일에데이터쓰기,명령창에진단정보표시와같은부수효과효과효과효과는는는는는인시간이오래오래수있습니다。

예제는다음을참조하십시오。

곡선피팅앱에서파일에의해저장된곡선피팅하기

이예제에서는곡선피팅앱에서함수또는스크립트이름을피팅모델로제공하는방법을보여줍니다。함수를파일에정의하고이를사용하여곡선을피팅합니다。

  1. 함수를matlab파일에정의합니다。

    功能y = piecewiseLine (x, a, b, c, d, k)由两部分组成的线不连续的。y = 0(大小(x));这个例子包含了一个for循环和if语句%纯粹是为了举例。i = 1:长度(x)如果X (i) < k, y(i) = a + b.* X (i);其他的y(i)= c + d。* x(i);结束结束结束

    파일을matlab경로에저장합니다。

  2. 일부데이터를정의하고곡선피팅앱을엽니다。

    X = [0.81; 0.91; 0.13; 0.91; 0.63; 0.098; 0.28; 0.55;...0.96; 0.96; 0.16; 0.97; 0.96);y = [0.17; 0.12; 0.16; 0.0035; 0.37; 0.082; 0.34; 0.56;...0.15; -0.046; 0.17; -0.091; -0.071);cftool
  3. 곡선피팅앱의X데이터Y데이터목록에서xy를선택합니다。

  4. 사용자지정수식피팅유형을한다음사용자지정지정수식상자상자에함수표현식입력하여곡선피팅앱앱을입력하여곡선피팅앱앱分离线함수를사용합니다。x함수는데이터와피팅을위한몇몇파라미터를받습니다。

    piecewiseLine(x, a, b, c, d, k)

    곡선피팅앱이함수를사용하여피팅을만듭니다。

명령줄에서의피팅에도동일한함수를사용하려면동일한표현식을fittype에대한입력값으로사용한한fittype适合에대한입력값으로사용하십시오。

ft = fittype('piecewiseLine(x, a, b, c, d, k)');F = fit(x, y, ft)
다른예제는适合함수를참조하십시오。

명령줄에서사용자지정수식피팅선택하기

사용자지정모델을피팅하려면다음중하나를수행하십시오。

  • 适合함수의fittype.입력인수로사용자지정모델을제공합니다。MATLAB표현식(.m파일포함),선형선형모델항으로구성된셀형배열또는익명함수를를수수수수수수

  • fittype함수를사용용,适合함수에대한입력인수로사용할fittype객체를만듭니다。

이예제에서는일부데이터를불러온후베이불모델을정의하는사용자지정수식을适合함수에대한입력값으로사용합니다。

时间= [0.1;0.1;0.3;0.3;1.3;1.7;2.1;2.6;3.9;3.9; ... 5.1; 5.6; 6.2; 6.4; 7.7; 8.1; 8.2; 8.9; 9.0; 9.5; ... 9.6; 10.2; 10.3; 10.8; 11.2; 11.2; 11.2; 11.7; 12.1; 12.3; ... 12.3; 13.1; 13.2; 13.4; 13.7; 14.0; 14.3; 15.4; 16.1; 16.1; ... 16.4; 16.4; 16.7; 16.7; 17.5; 17.6; 18.1; 18.5; 19.3; 19.7;]; conc = [0.01; 0.08; 0.13; 0.16; 0.55; 0.90; 1.11; 1.62; 1.79; 1.59; ... 1.83; 1.68; 2.09; 2.17; 2.66; 2.08; 2.26; 1.65; 1.70; 2.39; ... 2.08; 2.02; 1.65; 1.96; 1.91; 1.30; 1.62; 1.57; 1.32; 1.56; ... 1.36; 1.05; 1.29; 1.32; 1.20; 1.10; 0.88; 0.63; 0.69; 0.69; ... 0.49; 0.53; 0.42; 0.48; 0.41; 0.27; 0.36; 0.33; 0.17; 0.20;]; f = fit( time, conc, 'c*a*b*x^(b-1)*exp(-a*x^b)', 'StartPoint', [0.01, 2, 5] ) plot( f, time, conc )

fittype을사용하여사용자지정모델을정의하려면다음형식을사용하십시오。

f = fittype (expr)
이는문자열,셀형배열또는익명함수expr.에포함된MATLAB표현식에대한사용자지정모델fittype객체를생성합니다。

다음에대한자세한내용은fittype함수도움말페이지를참조하십시오。

  • fittype을사용하여종속및독립변수,문제파라미터및계수지정。

  • 사용자지정수식에대해선형피팅알고리즘을사용하기위해항으로구성된셀형배열지정。expr.이문자열또는익명함수인경우이툴박스툴박스비선형피팅알고리즘사용합니다。

    선형선형피팅에대한대한자세한내용在命令行中选择线性拟合항목을참조하십시오。

  • 선형및비선형사용자지정모델의예。

단계별예제는定制非线性人口普查拟合항목을참조하십시오。