1

Рассмотрим функцию y (x), отобранную в массиве значений, представленную массивами x и y. Если у меня есть еще одно значение х x0, можно оценить у (х0) с помощью сплайнаРучное создание Spline Piecewise-Polynomial

y0 = spline(x,y,x0); 

Теперь я могу также написать

pp = spline(x,y); 
y0 = ppval(pp,x0); 

МОЙ ВОПРОС: Если у меня уже есть коэффициент и х матрицы, my_coefs (size(my_coefs) = [length(y),4]) и x, как я могу создать кусочный полином My_pp такой, что pp.coefs = my_coefs и что y0 = ppval(My_pp,x0)?

+1

Вы знаете, что сплайн не является многочленом? Что это только на подынтервалах подразделения a (кубический) многочлен? - Итак, что вы хотите, это оценить массив многочленов, заданный в строках 'my_coefs'? Почему бы просто не умножить матрицу с вектором '[1, x, x^2, x^3]'? – LutzL

+0

Я знаю, и, как я писал, я использую 'ppval', а не' polyval'. Самое приятное в том, что 'struct', что' spline' возвращает, состоит в том, что он уже является кусочным полиномом со своим собственным массивом точек и многочленов. –

+0

Итак, что вы хотите построить, это скалярно-оцененный сплайн. По сути, вы хотите сгенерировать пустой объект сплайна и заполнить его поля данных вашими массивами? – LutzL

ответ

1

ОК, нет «сплайн-объекта», а скорее кусочно-полиномиального объекта. Таким образом, если my_coefs достигалось точек излома my_x то код нужно, это

my_spline = mkpp(my_x,my_coefs); 
y0 = ppval(my_spline, x0); 

В случае, если размеры dazzeling здесь, что они есть, то

my_coefs является 4 * п

my_x является н

y0 является н

x0 is N

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