Help plotting interpolation ploynomial.

Hi, I was asked to plot psi_n(x) = (x-x_0)(x-x_1)...(x-x_n) for n = 3,7,10,17 evenly distributed nodes in [-5,5] with resolution 0.01. Below is my code:
x=-5:0.01:5;
n=[3 7 10 17];
for j=1:4
node=-5;
psi=1;
while (node <= 5)
psi=psi.*(x-node);
node=node + 10/n(j);
end
subplot(2,2,j);
plot(psi)
hold on
end
Which doesn't quite yield the desired output. Or does it? In any case, it doesn't seem to match what I am getting via using Wolfram. My question is why and, of course, how may I correct it? I'd sincerely appreciate your assistance. Thanks in advance!

2 commentaires

Simon
Simon le 1 Nov 2013
Hi!
What is x_0, x_1, ...?
Yuval
Yuval le 1 Nov 2013
The nodes. x_0 is x index zero.

Connectez-vous pour commenter.

Réponses (1)

Matt J
Matt J le 1 Nov 2013
Modifié(e) : Matt J le 1 Nov 2013
node=linspace(-5,5,n);
p=poly(node);
f=@(z) polyval(p,z);
x=-5:0.01:5;
plot(x,f(x));

4 commentaires

Yuval
Yuval le 1 Nov 2013
Hi Matt, Thank you for your reply. Would you kindly care to explain your code? Also, did you realise I wasn't trying to actually plot the interpolation polynomial but merely the product function psi? I just tried using your code and it yielded the following error message: ??? Error using ==> mrdivide Matrix dimensions must agree.
Error in ==> linspace at 22 y = [d1+(0:n-2)*(d2-d1)/(floor(n)-1) d2]; Error in ==> psierror at 2 node=linspace(-5,5,n);
Matt J
Matt J le 1 Nov 2013
Modifié(e) : Matt J le 1 Nov 2013
Also, did you realise I wasn't trying to actually plot the interpolation polynomial but merely the product function psi?
From your description of psi_n(x), it appears to be a polynomial function of x with roots at the nodes x_0,...,x_n. That is what I have given you.
I just tried using your code and it yielded the following error message:
In my code, n is assumed to be a scalar. It runs error-free for me when this is the case.
Victor McNstein
Victor McNstein le 20 Mar 2021
Hello Matt. How does on combine your code with Yuval's initial work, for better results?
Matt J
Matt J le 21 Mar 2021
I do not see what Yuval thought was incomplete about my code. I think my code already fulfills the entire task.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Polynomials dans Centre d'aide et File Exchange

Question posée :

le 1 Nov 2013

Commenté :

le 21 Mar 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by