Matlab интерполяция - PullRequest
       2

Matlab интерполяция

2 голосов
/ 30 сентября 2010

Исходя из графика одной кривой, можно получить параметрическое уравнение этой кривой?

В частности, скажем x = {1 2 3 4 5 6 ....} ось x, а y = {a b c d e f ....} соответствующая ось y. У меня есть сюжет (х, у).

Теперь, как я могу получить уравнение, которое описывает построенную кривую? можно отобразить параметрическое уравнение, начиная со сплайн-интерполяции?

Спасибо

Ответы [ 4 ]

6 голосов
/ 30 сентября 2010

Если вы хотите отобразить функцию подгонки полинома рядом с вашим графиком, должен помочь следующий пример:

x=-3:.1:3;
y=4*x.^3-5*x.^2-7.*x+2+10*rand(1,61);
p=polyfit(x,y,3); %# third order polynomial fit, p=[a,b,c,d] of ax^3+bx^2+cx+d
yfit=polyval(p,x); %# evaluate the curve fit over x
plot(x,y,'.')
hold on
plot(x,yfit,'-g')
equation=sprintf('y=%2.2gx^3+%2.2gx^2+%2.2gx+%2.2g',p); %# format string for equation
equation=strrep(equation,'+-','-'); %# replace any redundant signs
text(-1,-80,equation) %# place equation string on graph
legend('Data','Fit','Location','northwest')

alt text

5 голосов
/ 30 сентября 2010

В прошлом году я написал набор из трех блогов для Лорен на тему моделирования / интерполяции кривой.Они могут охватывать некоторые ваши вопросы, хотя я так и не нашел время добавить еще 3 блога, чтобы закончить тему, к моему удовлетворению.Возможно, однажды я это сделаю.

Проблема состоит в том, чтобы признать, что существует бесконечно много кривых, которые будут интерполировать набор точек данных.Сплайн - хороший выбор, потому что он может быть сделан хорошо.Однако у этого сплайна нет простого «уравнения», которое можно записать.Вместо этого у него есть много полиномиальных сегментов, соединенных вместе, чтобы вести себя хорошо.

2 голосов
/ 30 сентября 2010

Вы запрашиваете функцию / отображение между двумя наборами данных.Зная физику, функция может быть получена путем моделирования системы.Запишите дифференциальные уравнения и решите их.

Оставляя в покое только две серии данных, вход и выход с «черным ящиком» между ними, вы можете аппроксимировать ряд произвольной функцией.Вы можете начать с полиномиальной функции

y = a*x^2 + b*x + c

Учитывая ваш входной вектор x и выходной вектор y, параметры a, b, c должны быть определены с использованием фитнес-функции.пример Подгонка полиномиальной кривой в документации MathWorks.

0 голосов
/ 12 августа 2013

Curve Fitting Tool предоставляет гибкий графический интерфейс пользователя, где вы можете в интерактивном режиме подгонять кривые и поверхности к данным и графикам.Вы можете:

Создать, построить и сравнить несколько подгонок

Использовать линейную или нелинейную регрессию, интерполяцию, регрессию локального сглаживания или пользовательские уравнения

Посмотреть соответствие качествастатистику, отображать доверительные интервалы и остатки, удалять выбросы и оценивать совпадения с помощью проверочных данных

Автоматически генерировать код для подгонки и построения поверхностей или экспортировать совпадения в рабочее пространство для дальнейшего анализа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...