Расчет площади подогнанной функции для сравнения с результатами - Mathematica - PullRequest
0 голосов
/ 11 января 2012

H!
Я провел много времени за чтением Mathematica Document Center и stackoverflow (среди других сайтов), но я не нашел ответа на мой вопрос: как в Mathematica я могу сравнивать области (количественно) функции (чтобы бытьточный - результаты) и его подгонка.Я хотел бы получить некоторую числовую оценку моей посадки.Функция конечно в 3D.
Приветствия,
Джон

1 Ответ

1 голос
/ 15 января 2012

Если реальная цель состоит в том, чтобы оценить, насколько хорошо вы подходите, тогда вам не нужно вычислять какие-либо «области» - Mathematica встроила анализ, предлагаемый LinearModelFit [...] и NonlinearModelFit [...]. Давайте составим некоторый набор данных, разбросанный по гауссовой поверхности:

data = MapThread[{#1[[1]], #1[[2]], 
 1.2 Exp[-34 ((#1 - .56).(#1 - .56))] + #2} &, {RandomReal[
 1, {100, 2}], RandomReal[{-.1, .1}, 100]}];

Введите модель гауссовой поверхности, чтобы соответствовать этим данным:

model = a Exp[-b ((x - x0)^2 + (y - y0)^2)];

Теперь выполните нелинейную регрессию:

    nlm = NonlinearModelFit[data, 
   model, {a, b, {x0, .5}, {y0, .6}}, {x, y}];

Получите и подготовьте наиболее подходящее:

    Show[Plot3D[nlm["BestFit"], {x, 0, 1}, {y, 0, 1}, PlotRange -> All, 
  PlotStyle -> Opacity[.5], MeshStyle -> Opacity[.5], Mesh -> 25], 
 ListPointPlot3D[data, 
  PlotStyle -> Directive[PointSize[Medium], Red]]]

Plot

Функция nlm […] содержит много информации:

nlm["Properties"]

Properties

Вот несколько объектов, соответствующих вашему запросу:

nlm["ParameterTable"]

Parameter Table

nlm["ANOVATable"]

ANOVA Table

Спасибо, Виталий

...