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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Matt J
Matt J am 1 Nov. 2013
Bearbeitet: Matt J am 1 Nov. 2013

0 Stimmen

node=linspace(-5,5,n);
p=poly(node);
f=@(z) polyval(p,z);
x=-5:0.01:5;
plot(x,f(x));

4 Kommentare

Yuval
Yuval am 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 am 1 Nov. 2013
Bearbeitet: Matt J am 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 am 20 Mär. 2021
Hello Matt. How does on combine your code with Yuval's initial work, for better results?
Matt J
Matt J am 21 Mär. 2021
I do not see what Yuval thought was incomplete about my code. I think my code already fulfills the entire task.

Melden Sie sich an, um zu kommentieren.

Kategorien

Gefragt:

am 1 Nov. 2013

Kommentiert:

am 21 Mär. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by