Help plotting interpolation ploynomial.
Ältere Kommentare anzeigen
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!
Antworten (1)
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
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
am 20 Mär. 2021
Hello Matt. How does on combine your code with Yuval's initial work, for better results?
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.
Kategorien
Mehr zu Polynomials finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!