2010-09-30 4 views
2

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

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

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

Спасибо

+0

Parametric или полинома? Вам нужна соответствующая переменная 't' для параметрической, если вы не предполагаете, что это просто счетчик элементов. – Doresoom

ответ

2

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

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

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

Учитывая ваш входной вектор х и ваш выходной вектор у, параметры а, Ь, с должны быть определены применения функции пригодности.

В документации MathWorks приведен пример Polynomial Curve Fitting.

6

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

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

+0

Спасибо за очень полезное объяснение! – vittorio

5

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

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

0

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

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

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

Посмотреть благость-из-FIT статистики, отображения confidenceintervals и остатков , удаление выбросов и оценки припадков с validationdata

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

Смежные вопросы