2016-04-12 2 views
1

У меня есть задача matlab, я хочу поместить n различных точек интерполяции в разных местах в интервале [-1, 1] и на графике ωn (x).Как построить интерполирующую функцию в matlab

ωn (x) = | (x - x0) (x - x1) ··· (x - xn) |

вот мой код:

x=linspace(-1,1,5); 
k=1.5; 
wx=1; 
for i=1:length(x) 
    w=abs(k-x(i))*wx; 
    wx=w; 
end 
plot(x,w,'c*') 

я делаю правильно?

благодаря

+0

Математически я бы сказал нет. Вы вычисляете произведение абсолютных значений, но вместо этого должны брать абсолютное значение продуктов. –

+1

@MatthiasW. Я думаю, что абсолютная ценность имеет свойство [multipicativeness] (https://en.wikipedia.org/wiki/Multiplicative_function) – shamalaia

+0

@A_C: возможно, вы правы. Возможно, было слишком рано. : D –

ответ

0

Я думаю, что, как вы пытаетесь построить ваши данные, вы участок последнего значения ж против всех записей х. Я добавил две новых линий для построения w значения, рассчитанного на конкретном x значения:

x=linspace(-1,1,5); 
W = [] ; 
k=1.5; 
wx=1; 
for i=1:length(x) 
    w=abs(k-x(i))*wx; 
    wx=w 
    W(end+1) = w ; 
end 
plot(x,W,'c*') 
Смежные вопросы